IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Question sur les sessions ?


Sujet :

Langage PHP

  1. #1
    Wu
    Wu est déconnecté
    Membre à l'essai
    Inscrit en
    Février 2006
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 37
    Points : 11
    Points
    11
    Par défaut Question sur les sessions ?
    Bonjour à tous,

    Voila J'ai créer un espace perso sur mon site web.
    Pour accéder à cette espace perso l'internaute doit rentrer un login et un mot de passe sur une page que j'ai appelé (auth.php). Ce login et ce mot sont ensuite vérifier dans un script situé sur une autre page appelé (verif.php). J'enregistre sur cette meme page (verif.php) dans deux variables de sessions le login et le mot de passe.
    Sur cette meme page (verif.php), l'internaute une fois enregistré et son authentification reussi il peut accéder à deux autres pages (lien hypertext), que son "mon profil" (profil de l'internaute) et "ma base" (base de l'internaute). Mon probleme est le suivant, une fois que l'internaute choisi d'aller sur la page 'mon profil', et qu'il décide de revenir ensuite sur la page verif.php pour accéder à la page "la base". L'internaute n'est plu reconnu.
    Une fois que j'ai selectionné la page "mon profit' et que je veut revenir ensuite sur 'verif.php' pour acceder a la page "ma base" il m'affiche un message que j'ai crée "Mot de passe invalide". Pourquoi ? Ais-je oublier quelque chose ? Ca doit etre une question toute bête mais je débute en php et avec les sessions

    Merci d'avance.

  2. #2
    Membre confirmé Avatar de dj-julio
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Décembre 2005
    Messages : 745
    Points : 625
    Points
    625
    Par défaut
    montre nous ton codede verif.php
    soit tu crées mal ta session soit tu la détruis :/

  3. #3
    Membre actif
    Avatar de Wormus
    Inscrit en
    Septembre 2005
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 262
    Points : 276
    Points
    276
    Par défaut
    je trouve ton problème bizarre !!

    Il devrait pas l'y avoir de problème normalement, tu peux revenir, repartir ou faire ce que tu veux, tant que tu détruit pas ta session ou que tu change la valeur de ta variable, il doit pas l'y avoir de souci
    Bankaï !!

  4. #4
    Wu
    Wu est déconnecté
    Membre à l'essai
    Inscrit en
    Février 2006
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 37
    Points : 11
    Points
    11
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    <?php
    // initialisation de la session
    session_start() ;
     
    // si on a reçu les données d'un formulaire :
    if ( !empty( $_POST['pseudo'] ) && !empty( $_POST['motdepasse'] ) ) {
     
    // on les récupère
    $nom = $_POST['pseudo'] ;
    $motdepasse = $_POST['motdepasse'] ;
     
    // on teste si le mot de passe est valide :
    if ( verification( $nom, $motdepasse ) ) {
     
    // on sauvegarde donc son nom dans la session
    $_SESSION['nom'] = $nom ;
    $_SESSION['motdepasse']= $motdepasse;
    $message = 'Vous êtes correctement identifié !
    <tr>
    <td width="18" class="milieugauche">&nbsp;</td>
    <td width="746" class="milieu" id="textmilieuplan"><br>
    <p class="milieu-texte"><strong><em>Menu d\'administration du site</em> :</strong></p>
    
    
    
    <a href="mabase.php"> | Ma base</a>&nbsp;&nbsp;&nbsp;
    <a href="monprofil.php">| Mon Profil</a>                         
    </tr>
    ' ;
     
     
    } else {
    // sinon on avertit l'utilisateur :
    $message = 'Mot de passe invalide !<br><br>' ;
    $message .='<a href="sommaire.php3">| Retour</a>' ;
      }
    } else {
    // un des champs n'est pas rempli
    $message = 'Le pseudo ou le mot de passe est vide !<br><br>' ;
    $message .='<a href="sommaire.php3">| Retour</a>' ;
    }
    ?>
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>#NOM_SITE_SPIP - Identification</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <link href="designplan.css" rel="stylesheet" type="text/css">
    <link href="typographie.css" rel="stylesheet" type="text/css">
    </head>
     
    <body>
    <p>
     
    <form method="post" action="verif.php">
     
    (---html---)
     
    <?php echo $message ?>
     
    		<?php
     
    		 function verification($nom,$motdepasse){
    		  // Connexion SQL
    		  $dbhote = 'localhost';
    		  $dbuser = 'root';
    		  $dbpass = '';
    		  $dbbase = 'bocage_diocese';
    		  $link = mysql_connect($dbhote,$dbuser,$dbpass);
    		  mysql_select_db($dbbase,$link);
     
    		  // Création de la requête SQL
    		  $nom_sql = mysql_real_escape_string($nom) ;
    		  $pass_sql = mysql_real_escape_string($motdepasse) ;
    		  $sql ="SELECT * FROM tb_users " 
    				. " WHERE user_name='$nom_sql' AND password='$pass_sql'" ;
     
    		  // Exécution de la requête SQL
    		  $result = mysql_query($sql,$link);
    		  if(mysql_num_rows($result)>0){
    			return TRUE;
    		  }else{
    		  return FALSE;
    		  }
    		 }
    		?> 
     
     
    	 (--html--)
     
     
    </form>
    </p>
    </body>
    </html>

  5. #5
    Membre confirmé Avatar de dj-julio
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Décembre 2005
    Messages : 745
    Points : 625
    Points
    625
    Par défaut
    je pense que ça ne fonctionne pas correctement car la 1ere chose que tu fais sur cette page est de vérifier si tu as reçu les donné du form

    à ta place je ferrais :

    si il a une session
    {
    on ne fait rien
    }

    si il n'y a pas de session
    {
    on recupere les $_POST (si ils existent)
    }

  6. #6
    Wu
    Wu est déconnecté
    Membre à l'essai
    Inscrit en
    Février 2006
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 37
    Points : 11
    Points
    11
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    <?php
    // initialisation de la session
    session_start() ;
     
    if ( (isset ($_SESSION['nom'])) || (isset ($_SESSION['motdepasse'])) ) {
    }
     
    else { 
     
    // on les récupère
    $nom = $_POST['pseudo'] ;
    $motdepasse = $_POST['motdepasse'] ;
     
    // on teste si le mot de passe est valide :
    if ( verification( $nom, $motdepasse ) ) {
     
    // on sauvegarde donc son nom dans la session
    $_SESSION['nom'] = $nom ;
    $_SESSION['motdepasse']= $motdepasse;
    $message = 'Vous êtes correctement identifié !
    <tr>
    <td width="18" class="milieugauche">&nbsp;</td>
    <td width="746" class="milieu" id="textmilieuplan"><br>
    <p class="milieu-texte"><strong><em>Menu d\'administration du site</em> :</strong></p>
    
    <a href="choix_secteur.php"> | Créer une page de présentation d\' une communauté</a><br><br>
    
    <a href="choix_secteur2.html"> | Modifier le tableau des horaires des messes</a>&nbsp;&nbsp;&nbsp;<a href="form_sup_messe.php"> | Supprimer une messe</a><br><br>
    <a href="choix_sec_ag.html"> | Modifier l\'agenda<br><br><br></a>
    <a href="menu_base.html">| Ajout/Suppression d\'une communaut&eacute; ou d\'une messe <br><br><br></a> 
    <a href="sommaire.php3">| Retour</a>                         
    </tr>
    ' ;
    } 
    else {
    // sinon on avertit l'utilisateur :
    $message = 'Mot de passe invalide !<br><br>' ;
    $message .='<a href="sommaire.php3">| Retour</a>' ;
    }
    }
    ?>
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>#NOM_SITE_SPIP - Identification</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <link href="designplan.css" rel="stylesheet" type="text/css">
    <link href="typographie.css" rel="stylesheet" type="text/css">
    </head>
     
    <body>
    <p>
     
              (-- j'ai enlever les lignes html --)
     
    <form method="post" action="verif.php">
     
    <?php echo $message ?>
     
    		<?php
     
    		 function verification($nom,$motdepasse){
    		  // Connexion SQL
    		  $dbhote = 'localhost';
    		  $dbuser = 'root';
    		  $dbpass = '';
    		  $dbbase = 'mabase';
    		  $link = mysql_connect($dbhote,$dbuser,$dbpass);
    		  mysql_select_db($dbbase,$link);
     
    		  // Création de la requête SQL
    		  $nom_sql = mysql_real_escape_string($nom) ;
    		  $pass_sql = mysql_real_escape_string($motdepasse) ;
    		  $sql ="SELECT * FROM tb_users " 
    				. " WHERE user_name='$nom_sql' AND password='$pass_sql'" ;
     
    		  // Exécution de la requête SQL
    		  $result = mysql_query($sql,$link);
    		  if(mysql_num_rows($result)>0){
    			return TRUE;
    		  }else{
    		  return FALSE;
    		  }
    		 }
    		?> 
     
     
    	 (-- j'ai enlever les lignes html --)
     
     
    </form>
    </p>
    </body>
    </html>
    Maintenant il m'affiche : Undefined variable: message

  7. #7
    Membre confirmé Avatar de dj-julio
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Décembre 2005
    Messages : 745
    Points : 625
    Points
    625
    Par défaut
    il te manque une cote a $ message = ' vous etes ....

  8. #8
    Wu
    Wu est déconnecté
    Membre à l'essai
    Inscrit en
    Février 2006
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 37
    Points : 11
    Points
    11
    Par défaut
    Désolé, mais je crois que Ma cote est présente :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $message = 'Mot de passe invalide !<br><br>' ;

Discussions similaires

  1. [WCF] Questions sur les sessions
    Par tomlev dans le forum Windows Communication Foundation
    Réponses: 3
    Dernier message: 14/03/2008, 11h16
  2. [Cookies] Question sur les sessions php
    Par billainfo dans le forum Langage
    Réponses: 2
    Dernier message: 30/06/2007, 23h21
  3. [Sécurité] Une question sur les sessions PHP
    Par DaRiaN dans le forum Langage
    Réponses: 2
    Dernier message: 06/07/2006, 09h36
  4. [Sécurité] Question sur les sessions
    Par Seth77 dans le forum Langage
    Réponses: 20
    Dernier message: 25/01/2006, 12h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo