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 session non conservées d'une page à l'autre


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 10
    Points : 10
    Points
    10
    Par défaut variables de session non conservées d'une page à l'autre
    Bonjour,

    J'ai actuellement un problème j'ai créer une variable de session qui récupère le login de l'utilisateur et grâce à cette variable je récupère les informations concernant l'utilisateur.
    Le problème qui se pose c'est qu'une fois que je change de page ma variable de session ne contient plus mon login elle est reinitialisée et je ne comprend pas pourquoi?
    Plusparticulièrement je test le mot de passe et la login de l'utilisateur si c'est ok je creer ma variable de session et lui affecte le login puis ma page profil s'ouvre et la ma variable de session est vide alors que dans la page précédente elle contenait bien mon login je ne comprend plus ...

    Auriez vous une idée??

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    est-ce que tu demarres bien la session avec session_start() avant de l'utiliser ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 10
    Points : 10
    Points
    10
    Par défaut
    Oui,
    en faite la variable de session existe bien mais elle est vidé lors du changement de page car une fois la nouvelle page chargée la variable de session est vide.

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Regarde si ton id de session est bien le meme d'une page a l'autre :
    http://www.php.net/manual/en/function.session-id.php

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 473
    Points : 123
    Points
    123
    Par défaut
    Bonjour,

    J'avais le même problème, et m'apprêtai à poster car jamais eu ce problème là auparavant avec les sessions.

    Et j'ai affiché l'id sur mes deux pages, et je peux constater qu'il est différent....que faire dans ce cas là ?

    Et il y a quelque chose que je ne comprend pas, voici ma situation (désolé, de présenter mon problème ici, mais c'est vraiment lié) :

    Page 1 --> Page 2 --> Page 3 --> Page 1

    sur la page 2 j'ai une session : $_SESSION['a']
    sur la page 3 je déclare une nouvelle session : $_SESSION['b']
    et quand je reviens sur la page 1, je n'arrive pas à retrouver $_SESSION['b'] et mon id_session est différent entre page 3 et page 1.
    Par contre (!!) si je continue vers ma page 2, je retrouve bien ma variable $_SESSION['a'] (je n'ai pas vérifié sur celle ci l'id de session).

    Je ne comprend pas.....merci de votre aide !

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 473
    Points : 123
    Points
    123
    Par défaut
    j'ai avançé dans mon problème.

    Déjà complément d'info, sur la Page 3 je faisais jusque là un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    echo "\n<br><script language='JavaScript'>";
    echo "setTimeout(\" window.location.href='http://www.monsite.com' \", 5000);"; // delai en millisecondes, ici 5 secondes 
    echo "</script>";
    Voici ce que j'ai modifié :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    echo "\n<br><script language='JavaScript'>";
    echo "setTimeout(\" window.location.href='http://www.monsite.com?".session_name().'='.session_id()."' \", 5000);"; // delai en millisecondes, ici 5 secondes 
    echo "</script>";
    Et sur ma page 1 voici ce que je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
     echo $_GET[session_name()]; //affiche le bon numéro d'id
     session_id($_GET[session_name()]);
     session_start(); 
     echo "session=".$_SESSION['b']."<br>"; //n'affiche rien du tout
    Mais malheureusement je n'ai toujours pas le contenu de mes variables de session....une idée ?

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 10
    Points : 10
    Points
    10
    Par défaut
    Moi personnellement je disposait d'une page test qui permettait de savoir si la variable de session existait ou pas, j'avais dans ce test un "session_start();" et vu que je l'appelait dans toute les page avec un include je pense que cela a crée des disfonctionnement entre les session_start(). maintenant les seul session_start() de mes pages sont cette du test et je n'ai plus de problème là dessus en tout cas

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 473
    Points : 123
    Points
    123
    Par défaut
    Tu as mis le problème résolu, je vais donc en créer un nouveau pour mon cas.

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 473
    Points : 123
    Points
    123
    Par défaut session_id window.location perte valeur
    J'ai affiché l'id entre mes deux pages qui posent problème, et je peux constater qu'il est différent....que faire dans ce cas là ?

    Et il y a quelque chose que je ne comprend pas, voici ma situation :

    Page 1 --> Page 2 --> Page 3 --> Page 1

    sur la page 2 j'ai une session : $_SESSION['a']
    sur la page 3 je déclare une nouvelle session : $_SESSION['b']
    et quand je reviens sur la page 1, je n'arrive pas à retrouver $_SESSION['b'] et mon id_session est différent entre page 3 et page 1.
    Par contre (!!) si je continue vers ma page 2, je retrouve bien ma variable $_SESSION['a'] (je n'ai pas vérifié sur celle ci l'id de session).

    j'ai avançé dans mon problème.

    Déjà complément d'info, sur la Page 3 je faisais jusque là un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    echo "\n<br><script language='JavaScript'>";
    echo "setTimeout(\" window.location.href='http://www.monsite.com' \", 5000);"; // delai en millisecondes, ici 5 secondes 
    echo "</script>";
    Voici ce que j'ai modifié :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    echo "\n<br><script language='JavaScript'>";
    echo "setTimeout(\" window.location.href='http://www.monsite.com?".session_name().'='.session_id()."' \", 5000);"; // delai en millisecondes, ici 5 secondes 
    echo "</script>";
    Et sur ma page 1 voici ce que je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
     echo $_GET[session_name()]; //affiche le bon numéro d'id
     session_id($_GET[session_name()]);
     session_start(); 
     echo "session=".$_SESSION['b']."<br>"; //n'affiche rien du tout
    Mais malheureusement je n'ai toujours pas le contenu de mes variables de session....une idée ?

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 473
    Points : 123
    Points
    123
    Par défaut
    J'ai pu investiguer un peu plus en lisant : http://www.developpez.net/forums/d70...me-session-id/

    J'ai bien placé mes session_start avant tout affichage.
    Est ce que de multiple session_start peuvent poser problème ?

    En tout cas, l'id continue de changer et les erreurs suivantes s'affichent :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    error_reporting(E_ALL);
    ...
    Notice: Undefined index: b in index.php  on line 38

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 473
    Points : 123
    Points
    123
    Par défaut
    Autres éléments d'information :

    Je me suis apercu que ma page1 était chargée via www.monsite.com
    Et que ma page 3 était chargé via monsite.com.

    Du coup en changeant cela, j'arrive bien à obtenir le bon ID entr ema page 3 et ma page 1. Malheureusement je ne peux toujours pas retrouver la valeur de ma variable de session......

    J'ai essayé de déclaré ma variable de session 'b' dans ma page 1 et lui affecté une valeur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['b'] = "toto"
    sur ma page 3 je change cette valeur, suis redirigé vers la page 1 et là, c'est toujours "toto" qui est contenu dans la variable....

    Je galère vraiment avec ce problème, et m'arrache clairement les cheveux...si quelqu'un peut m'aider ca sera avec grd plaisir !!

Discussions similaires

  1. Variable de session non récupérée suite à une redirection
    Par Rony Rauzduel dans le forum Langage
    Réponses: 3
    Dernier message: 17/10/2012, 17h55
  2. Réponses: 2
    Dernier message: 17/11/2008, 15h15
  3. Réponses: 10
    Dernier message: 19/05/2008, 14h46
  4. Réponses: 2
    Dernier message: 06/09/2007, 09h23
  5. [Tomcat] session expirée redirection vers une page
    Par Casp dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 19/01/2006, 11h45

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