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 :

Variables de sessions défaillantes


Sujet :

Langage PHP

  1. #1
    NR
    NR est déconnecté
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 42
    Points : 28
    Points
    28
    Par défaut Variables de sessions défaillantes
    J'explique mon problème (la syntaxe importe peu, j'ai zappé les <? ?> etc...):

    Sur une page A (index):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    session_start();
    if(isset($_SESSION['var'])) {
     include('page1.php');}
    else { include('page2.php');}
    Sur la page2 (on arrive sur cette page au départ, normal, la variable n'est pas définie), il y a un formulaire qui appelle à la validation du code de type:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if($pass = true) {
    $_SESSION['var'] = "toto"; 
    include ('index.php');}
    Else { include ('index.php'); }
    Le problème, c'est lorsque je retourne sur index.php, la variable est toujours non set.

    Une idée ?

    Merci bcp d'avance !

  2. #2
    Membre éprouvé Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Points : 1 019
    Points
    1 019
    Par défaut
    Salut

    ??
    Ton code est clair et ta variable est bien là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    session_start();
    if(isset($_SESSION['var']))
    {
    //vérif
    echo $var;
    include('page1.php');
    }
    else 
    { 
    include('page2.php');
    }
    Ce n'est pas parce que les choses sont difficiles qu'on n'ose pas les entreprendre.
    C'est parce qu'on n'ose pas les entreprendre qu'elles sont difficiles.

  3. #3
    Membre averti Avatar de Joe Le Mort
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    392
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 392
    Points : 388
    Points
    388
    Par défaut
    faire un session_start() sur la page 2
    sinon, est-ce que tu initialises la session var ?
    Tuxboard Blog d'actu Buzz...
    Video de sport

  4. #4
    NR
    NR est déconnecté
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 42
    Points : 28
    Points
    28
    Par défaut
    Citation Envoyé par alain31tl
    Salut

    ??
    Ton code est clair et ta variable est bien là :
    Il ne rentre jamais dans ce if, isset renvoie toujours false !

    Je tente le session_start sur la page2 alors. J'ai besoin d'initialiser la variable, même si c'est dans $_SESSION ?

    Vous imaginez bien le but de ce code: c'est un simple formulaire de connexion, si la variable n'est pas set, il reste sur la page, sinon, il passe à la page suivante...

  5. #5
    Membre averti Avatar de Joe Le Mort
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    392
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 392
    Points : 388
    Points
    388
    Par défaut
    Citation Envoyé par NR
    Je tente le session_start sur la page2 alors. J'ai besoin d'initialiser la variable, même si c'est dans $_SESSION ?
    oublie ca, j'étais dans la lune...


    mais donne nous le code quand la $_SESSION['var'] est initialisée..
    Comment veux tu qu'on t'aides si on a pas le début !
    Tuxboard Blog d'actu Buzz...
    Video de sport

  6. #6
    Membre éprouvé Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Points : 1 019
    Points
    1 019
    Par défaut
    Citation Envoyé par NR
    Il ne rentre jamais dans ce if, isset renvoie toujours false !

    ...
    Désolé de te contredire mais j'ai repris tes codes à la lettre et créer les fichiers...la variable s'affiche bien où je te l'ai indiqué.
    Et comme ta variable est isset, elle s'affiche bien dans ta condition vraie.
    Ce n'est pas parce que les choses sont difficiles qu'on n'ose pas les entreprendre.
    C'est parce qu'on n'ose pas les entreprendre qu'elles sont difficiles.

  7. #7
    NR
    NR est déconnecté
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 42
    Points : 28
    Points
    28
    Par défaut
    Citation Envoyé par Joe Le Mort
    mais donne nous le code quand la $_SESSION['var'] est initialisée..
    Comment veux tu qu'on t'aides si on a pas le début !
    Pour la page A vous avez bien tout le code.
    Pour la deuxième page:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    //du code pour l'accès à la base
    $exist = mysql_num_rows($res);
     
    // $exist est true, je l'ai testé au debugger
    if($exist) {
        // on crée la variable de session et on reload la page index
        $_SESSION['var'] = "toto";
        redir("../index.php"); //une fonction javascript qui fait un reload
    }
    else {
    	redir("../index.php");
    }
    Voilà c'est tout, c'est bien ce qui me chagrine !

    Est-ce que ça peut venir d'apache, et d'un paramètre dans php.ini que j'aurai zappé ?

  8. #8
    Membre averti Avatar de Joe Le Mort
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    392
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 392
    Points : 388
    Points
    388
    Par défaut
    voila ton erreur, bizarre que je l'ai pas vu avant :
    if($pass = true)
    devient
    if($pass == true)
    ou plutot :
    if($pass)
    Tuxboard Blog d'actu Buzz...
    Video de sport

  9. #9
    Membre éprouvé Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Points : 1 019
    Points
    1 019
    Par défaut
    Dans ton tout premier cas de figure, tu procédes par include, et dans le suivant par redirection.
    Ceci n'a pas les mêmes conséquences.
    Faudrait savoir.
    Ce n'est pas parce que les choses sont difficiles qu'on n'ose pas les entreprendre.
    C'est parce qu'on n'ose pas les entreprendre qu'elles sont difficiles.

  10. #10
    NR
    NR est déconnecté
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 42
    Points : 28
    Points
    28
    Par défaut
    Citation Envoyé par alain31tl
    Dans ton tout premier cas de figure, tu procédes par include, et dans le suivant par redirection.
    Ceci n'a pas les mêmes conséquences.
    Faudrait savoir.
    j'ai en fait dans mon index un header, un content et un footer, je dois faire un reload de la page index.php dans la deuxième page pour reloader le tout. J'ai testé avec un include, et le Javascript, mais ça n'a pas l'air de changer qqchose. J'imagine que ça peut aussi venir de là

  11. #11
    Membre éprouvé Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Points : 1 019
    Points
    1 019
    Par défaut
    Ben teste en faisant passer ta variable dans l'url ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    if($exist) {
        // on crée la variable de session et on reload la page index
        $_SESSION['var'] = "toto";
        redir("../index.php?var=$var"); //une fonction javascript qui fait un reload
    }
    else {
    	redir("../index.php");
    }
    Ce n'est pas parce que les choses sont difficiles qu'on n'ose pas les entreprendre.
    C'est parce qu'on n'ose pas les entreprendre qu'elles sont difficiles.

  12. #12
    NR
    NR est déconnecté
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 42
    Points : 28
    Points
    28
    Par défaut
    Le problème a été fixé, j'ai rajouté un "session_register" et tout se passe normalement ;-) Merci beaucoup les gens !

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

Discussions similaires

  1. [C#] Tester existence d'une variable de session
    Par IDNoires dans le forum ASP.NET
    Réponses: 2
    Dernier message: 31/12/2004, 12h30
  2. Création d'une variable de session avec un ID
    Par PrinceMaster77 dans le forum ASP
    Réponses: 4
    Dernier message: 18/10/2004, 10h28
  3. Effacer les variables de session
    Par glsn dans le forum ASP
    Réponses: 2
    Dernier message: 12/12/2003, 13h42
  4. Variable de session
    Par Sadneth dans le forum ASP
    Réponses: 6
    Dernier message: 14/11/2003, 11h12
  5. variable de session
    Par divableue dans le forum ASP
    Réponses: 2
    Dernier message: 23/10/2003, 16h04

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