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 :

[Cookies] Sessions qui disparaissent


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 223
    Points : 58
    Points
    58
    Par défaut [Cookies] Sessions qui disparaissent
    Salut tout le monde !

    Voici mon soucis :

    J'ai un formulaire en 4 étapes, pour gerer les etapes, je passe mon étape en GET sur le meme script -> script.php?step=1 par exemple.

    Pour sauver les choix de l'utilisateur, j'utilise des sessions.
    Lorsqu'on arrive a une étape, je recupere les POST des inputs de l'etape precedente.
    je fais ensuite une sessions par POST recuperé.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['sesSelectPresentation']=$_POST['s_SelectPresentation'];

    J'ai verifié, la session est bien créee.

    Mon soucis, c'est que des que je je valide l'etape (j'ai un bouton next) et que je passe a une autre étape, ma session existe encore, mais elle est vide !
    Elle n'est pourtant jamais ecrasée !

    Le plus curieux dans tout ca, si j'initialise ma session en dur comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['sesSelectPresentation']="machin"
    , celle ci ne sera pas vidée ...

    C'est a y rien comprendre ...

    Auriez vous ne serait ce qu'une idée ?

    Merci beaucoup !

    @+.

    [/code][/quote]

  2. #2
    Membre confirmé Avatar de papyphp
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Âge : 73
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 438
    Points : 587
    Points
    587
    Par défaut Re: Sessions qui disparaissent
    Citation Envoyé par schnito
    ... je passe mon étape en GET sur le meme script -> script.php?step=1 par exemple.

    Lorsqu'on arrive a une étape, je recupere les POST des inputs de l'etape precedente....
    ...

    C'est a y rien comprendre ...
    Ce que je ne comprends pas c'est que tu passes en GET et que tu récupères en POST
    Lu kinze d' awousse, la Vierje arandje û dusbrôle lu timp.

  3. #3
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 223
    Points : 58
    Points
    58
    Par défaut
    Pour chaque étape, je submit vers le meme script, mais pour une étape differente ...

    quand je suis a l'etape 0, je submit vers script.php?step=1.

    Je recupere step en GET, et en fonction de sa valeur, j'affiche les bons inputs ...

    Ensuite, ce que je post, ce sont les inputs de l'etape precedente.
    J'arrive a l'etape 1, cela veut dire que l'user a validé l'etape 0. Je veux donc savoir les cases qu'il a coché ... je recupere donc les valeurs des inputs de l'etape precedente en POST.

    Je sais pas si je suis plus clair. C'est un peu compliqué a expliquer...

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Points : 1 639
    Points
    1 639
    Par défaut
    Fais unjuste après lui avoir affecté ton POST, pour savoir si tu as bien passé la variable.

  5. #5
    Membre confirmé Avatar de GregPeck
    Inscrit en
    Novembre 2005
    Messages
    530
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 530
    Points : 540
    Points
    540
    Par défaut
    As tu pensé à faire un session_start avant de mettre des valeurs en session ?

  6. #6
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 223
    Points : 58
    Points
    58
    Par défaut
    j'ai deja fait un print_r($_SESSION); , ma session est bien initialisée ... elle l'est le temps d'execution du script, elle sera vide des que je vais passer a l'etape suivante.

    Pour le session_start(), oui j'y ai pensé ...

  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
    donne nous les parties de ton code où les sessions sont concernées

  8. #8
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 223
    Points : 58
    Points
    58
    Par défaut
    voici les parties de mon code ou mes sessions sont concernées ...

    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
     
     
    $step=0;
    //recuperation des variables GET
    if (isset($_GET["step"])) $step=$_GET["step"];
    $step=intval($step);
     
    session_start();
     
    if($step==0)
    {
    	//affichage des input de l'etape 1 et du bouton next, qui renvoie vers           script.php?step=1
    }
     
    else if ($step==1)
    {
    	//recuperation du projet selectionné => OK
    	$postProject=$_POST['Project'];
     
    	//mise en session => OK
    	$_SESSION['sesSelectProject'] = $postProject;
     
    	//affichage de la session pour tester => OK
    	echo "ses postProject: "; print_r($_SESSION['sesSelectProject']);      echo " <br>";
     
    	...
     
    	//affichage des inputs de l'etape 2 et du bouton next,qui renvoie vers script.php?step=2
     
    }
     
    else if(step==2)
    {
     
    	//affichage de la session pour tester => Session vide !!
    	echo "ses postProject: "; print_r($_SESSION['sesSelectProject']); echo " <br>";
     
    }
    Voila, rien de bien compliqué quand meme ...

  9. #9
    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
    ton session_start fo le mettre tt en haut dela page
    <?php session_start() ?>
    et après seulement tu commences

    $step=0;
    //recuperation des variables GET
    if (isset($_GET["step"])) $step=$_GET["step"];
    $step=intval($step); ....

  10. #10
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 223
    Points : 58
    Points
    58
    Par défaut
    C'est pareil ! j'ai essayé ca change rien ...

    et puis de toute facon mon serveur est configurré pour faire un session_start() a chaque debut de page ...

  11. #11
    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 ne savais pas qu'on pouvait faire ça sur un serveur

    et à ce niveau par hasard, ton serveur n'initialise-t-il pas tes sessions ?

  12. #12
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 223
    Points : 58
    Points
    58
    Par défaut
    me suis deja posé la question ... ca evite juste de faire un session_start() a chaque debut de script ...

    M'enfin meme sans ca, j'ai essayé aussi chez moi sur un serveur configuré normallement, avec un session_start() au tout debut du script, c'est pareil ...

  13. #13
    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
    donc si tu fais une page
    1.php dans laquelle il y a :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    session_start();
    $_SESSION['essai']="coucou";
    ?>
    et que tu fais une seconde page (2.php)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php 
    session_start();
    echo $_SESSION['essai'];
    ?>
    ça ne t'affiche rien du tout ?

  14. #14
    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
    donc si tu fais une page
    1.php dans laquelle il y a :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    session_start();
    $_SESSION['essai']="coucou";
    ?>
    et que tu fais une seconde page (2.php)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php 
    session_start();
    echo $_SESSION['essai'];
    ?>
    ça ne t'affiche rien du tout ?

  15. #15
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 223
    Points : 58
    Points
    58
    Par défaut Re: [Session] Sessions qui disparaissent
    Citation Envoyé par schnito
    Le plus curieux dans tout ca, si j'initialise ma session en dur comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['sesSelectPresentation']="machin"
    , celle ci ne sera pas vidée ...

    C'est a y rien comprendre ...
    Si ! ca ca marche ! c fou !

    c uniquement quand j'initialise ma session avec un POST ...

  16. #16
    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
    hum hum hmu lol
    et donc quand tu fais un echo de ton $_POST qui va servir à initialiser la session, ça bug aussi ?

  17. #17
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 223
    Points : 58
    Points
    58
    Par défaut
    non ca marche !

    comme dans le code que j'ai mis en debut de topic :

    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
     
     
    else if ($step==1)
    {
       //recuperation du projet selectionné => OK
       $postProject=$_POST['Project'];
     
       //affichage du POST pour tester => OK
       echo "ses postProject: "; print_r($postProject);echo " <br>";
     
       //mise en session => OK
       $_SESSION['sesSelectProject'] = $postProject;
     
       //affichage de la session pour tester => OK
       echo "ses postProject: "; print_r($_SESSION['sesSelectProject']);      echo " <br>";
     
       ...
     
       //affichage des inputs de l'etape 2 et du bouton next,qui renvoie vers script.php?step=2
     
    }

  18. #18
    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
    ah oui, excuse moi j'avais zappé

    c'est bisar :-/ je ne sais pas trop configurer le php.ini, mais le souci vient peut-être de là ?

  19. #19
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 223
    Points : 58
    Points
    58
    Par défaut
    ben je vois pas trop ce qui pourrait ne pas aller dans le php.ini ...

    pis je sais pas trop le configurer non plus lol.

    pis de toute facon au taf j'aurai pas le droit d'y toucher !

  20. #20
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 223
    Points : 58
    Points
    58
    Par défaut
    ouais !

    alors la trop bien ! je comprends rien du tout ! Attention :

    Ca marche sous IE !

    Je retourne sous mozilla pour verifier que je suis pas fou, et ca marche pas !!

    PHP c du coté serveur ... quel est le rapport avec le client ?



    En tout cas merci pour vos reponses ...

Discussions similaires

  1. Sessions qui disparaissent mais restent actives
    Par PunkMetal dans le forum Langage
    Réponses: 1
    Dernier message: 05/03/2009, 09h52
  2. Sessions qui disparaissent
    Par Chasseur d'étoiles dans le forum Langage
    Réponses: 14
    Dernier message: 22/08/2008, 09h28
  3. Réponses: 3
    Dernier message: 04/08/2008, 16h33
  4. [Cookies] Session qui n'expire pas comme prévu
    Par zvince dans le forum Langage
    Réponses: 13
    Dernier message: 20/02/2008, 15h27
  5. Variable de sessions qui disparaissent (pseudo-frames)
    Par lecharcutierdelinux dans le forum Langage
    Réponses: 11
    Dernier message: 09/02/2007, 22h25

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