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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    NR
    NR est déconnecté
    Membre averti
    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
    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 émérite 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
    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');
    }

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 392
    Par défaut
    faire un session_start() sur la page 2
    sinon, est-ce que tu initialises la session var ?

  4. #4
    NR
    NR est déconnecté
    Membre averti
    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
    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 chevronné Avatar de Joe Le Mort
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    392
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 392
    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 !

  6. #6
    NR
    NR est déconnecté
    Membre averti
    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
    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é ?

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 392
    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)

  8. #8
    Membre émérite 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
    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.

+ 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