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 :

Problème de session


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 200
    Par défaut Problème de session
    Bonjour, je suis en train de découvrir les variablles sessions et je rencontre actuellement le problème que voici

    J'ai une première page, page1.php
    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
     
    <?
       include("connect.php");
       //on initialise une session
       session_start();
       if (!isset($_POST["send"]))
         {
         //Si le formulaire n'est pas envoyé, on l'affiche
    ?>
    <form method="post" action="page1.php">
    Nom d'utilisateur :
    <input type="text" name="mlogin"><br />
    Mot de passe :
    <input type="password" name="mpass"><br />
    <input type="submit" name="send" value="log in">
    </form>
    <?
         }
       else
         {
         $membre=AddSlashes($_POST["mlogin"]);
         $passw=$_POST["mpass"];
         $sql="SELECT pass FROM membres WHERE login='$membre'";
         $req=mysql_query($sql);
         $res=mysql_fetch_array($req);
         if ($passw!= NULL && $res['pass']==$passw)
           {
           $_session["membre"]=$membre;
           echo "Bienvenue ";
           echo $membre;
           echo "<p>";
           echo "<a href=\"page2.php\"> entrez dans l'espace membre</a>";
           }
         else
          {
          echo "mauvais login ou pass";
          }
        }
    ?>
    qui défini un formulaire et qui l'affiche s'il n'a pas encoré été envoyé. Lorsque le formulaire est envoyé, une recherche dans MySql est établie pour vérifier que le membre existe et, dans ce cas, un message est affiché, ainsi qu'un lien pointant vers une page2.php.

    Jusque là, pas de problème. Tout fonctionne.

    Le code de ma page2.php est le suivant ;
    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
     
    <?
    include("connect.php");
    session_start();
    if (isset($_SESSION["membre"]))
      {
      $sql="SELECT pass FROM membres WHERE login='".$_SESSION["membre"]."'";
      $req=mysql_query($sql);
      $res=mysql_fetch_array($req);
      echo "bienveue".$_session["membre"];
      echo "votre mot de passe est ".$res['pass'];
      }
    else
      {
      echo $_SESSION["membre"];
      echo "désolés, vous n'avez pas accès à cette page. Veuillez vous loguer";
      }
    ?>
    et, lorsque dans la page 1, après avoir authentifié un utilisateur,je clique sur le lien m'amenant vers la page 2, j'obtiens un message d'erreur
    Undefined index: membre in e:\easyphp\www\newlook\login\page2.php on line 14

    et c'est le test Else qui est exécuté, alors que de devrait être le premier test qui devrait l'être puisque l'utilisateur a bien été correctement identifié à la page 1.

    ma page connect.php est classique
    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
     
    <? 
    //initialisation des variables
    $serveur = "localhost";
    $login = "root";
    $pass = "";
    $base = "jncoffy";
     
    // connexion au serveur
    $id= MYSQL_CONNECT($serveur,$login,$pass);
     
    //connexion à la base de données
    //(une autre version de procéder) mysql_select_db("$base");
    mysql_select_db($base,$id);
    ?>
    Quelqu'un peut-il me dire quelle erreur je fais ? Comment se fait il qu'apparemment la variable session 'membre' créée en page1.php ne soit pas reconnue en page2.php ?
    J'ai cherché dans tous les sens sans trouver...

    Jean Noël

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 70
    Par défaut
    Parce que $_SESSION doit être en majuscules...
    Hors il est à plusieurs reprises en minuscules dans ton code, notamment dans :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     if ($passw!= NULL && $res['pass']==$passw)
           {
           $_session["membre"]=$membre;
    essaie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION["membre"] = $membre;

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 200
    Par défaut
    Merci seblo_scoqi

    Je regarde dès que possibe et je tiens au courant. J'ignorai que la casse des caractères avait son importance concernant les mots clés du PHP

    jean Noël

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 200
    Par défaut
    Effectivement, je viens de modifier la casse de $_SESSION et ça marche

    Merci encore

    Jean Noël

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Servlets - JSP] Problème de session
    Par the java lover dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 28/11/2011, 10h54
  2. Problème de session
    Par kephy dans le forum Langage
    Réponses: 11
    Dernier message: 24/11/2005, 11h08
  3. Problème de session
    Par meda dans le forum Langage
    Réponses: 13
    Dernier message: 25/10/2005, 19h25
  4. problème de session en cours
    Par bertrand_declerck dans le forum Bases de données
    Réponses: 2
    Dernier message: 19/07/2005, 15h36
  5. Gros problème de session/cookies
    Par valfredr dans le forum XMLRAD
    Réponses: 18
    Dernier message: 03/06/2004, 10h21

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