Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/02/2006, 19h52   #1
Nouveau Membre du Club
 
Inscription : décembre 2003
Messages : 223
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 223
Points : 25
Points : 25
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 :
$_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 :
$_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]
schnito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2006, 20h48   #2
Membre expérimenté
 
Avatar de papyphp
 
Inscription : avril 2005
Messages : 425
Détails du profil
Informations personnelles :
Âge : 62
Localisation : Belgique

Informations professionnelles :
Secteur : Enseignement

Informations forums :
Inscription : avril 2005
Messages : 425
Points : 545
Points : 545
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
papyphp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2006, 21h10   #3
Nouveau Membre du Club
 
Inscription : décembre 2003
Messages : 223
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 223
Points : 25
Points : 25
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...
schnito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2006, 23h33   #4
Membre Expert
 
Inscription : janvier 2005
Messages : 1 249
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : janvier 2005
Messages : 1 249
Points : 1 417
Points : 1 417
Fais unjuste après lui avoir affecté ton POST, pour savoir si tu as bien passé la variable.
vg33 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2006, 00h10   #5
Membre éprouvé
 
Avatar de GregPeck
 
Inscription : novembre 2005
Messages : 530
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 530
Points : 464
Points : 464
As tu pensé à faire un session_start avant de mettre des valeurs en session ?
GregPeck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2006, 09h15   #6
Nouveau Membre du Club
 
Inscription : décembre 2003
Messages : 223
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 223
Points : 25
Points : 25
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é ...
schnito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2006, 09h17   #7
Membre expérimenté
 
Avatar de dj-julio
 
Inscription : décembre 2005
Messages : 742
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Finistère (Bretagne)

Informations forums :
Inscription : décembre 2005
Messages : 742
Points : 576
Points : 576
donne nous les parties de ton code où les sessions sont concernées
__________________
Mon Site/Cv.
dj-julio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2006, 09h33   #8
Nouveau Membre du Club
 
Inscription : décembre 2003
Messages : 223
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 223
Points : 25
Points : 25
voici les parties de mon code ou mes sessions sont concernées ...

Code :
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 ...
schnito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2006, 09h43   #9
Membre expérimenté
 
Avatar de dj-julio
 
Inscription : décembre 2005
Messages : 742
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Finistère (Bretagne)

Informations forums :
Inscription : décembre 2005
Messages : 742
Points : 576
Points : 576
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); ....
__________________
Mon Site/Cv.
dj-julio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2006, 09h51   #10
Nouveau Membre du Club
 
Inscription : décembre 2003
Messages : 223
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 223
Points : 25
Points : 25
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 ...
schnito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2006, 09h52   #11
Membre expérimenté
 
Avatar de dj-julio
 
Inscription : décembre 2005
Messages : 742
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Finistère (Bretagne)

Informations forums :
Inscription : décembre 2005
Messages : 742
Points : 576
Points : 576
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 ?
__________________
Mon Site/Cv.
dj-julio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2006, 10h00   #12
Nouveau Membre du Club
 
Inscription : décembre 2003
Messages : 223
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 223
Points : 25
Points : 25
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 ...
schnito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2006, 10h02   #13
Membre expérimenté
 
Avatar de dj-julio
 
Inscription : décembre 2005
Messages : 742
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Finistère (Bretagne)

Informations forums :
Inscription : décembre 2005
Messages : 742
Points : 576
Points : 576
donc si tu fais une page
1.php dans laquelle il y a :

Code :
1
2
3
4
<?php
session_start();
$_SESSION['essai']="coucou";
?>
et que tu fais une seconde page (2.php)

Code :
1
2
3
4
<?php 
session_start();
echo $_SESSION['essai'];
?>
ça ne t'affiche rien du tout ?
__________________
Mon Site/Cv.
dj-julio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2006, 10h02   #14
Membre expérimenté
 
Avatar de dj-julio
 
Inscription : décembre 2005
Messages : 742
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Finistère (Bretagne)

Informations forums :
Inscription : décembre 2005
Messages : 742
Points : 576
Points : 576
donc si tu fais une page
1.php dans laquelle il y a :

Code :
1
2
3
4
<?php
session_start();
$_SESSION['essai']="coucou";
?>
et que tu fais une seconde page (2.php)

Code :
1
2
3
4
<?php 
session_start();
echo $_SESSION['essai'];
?>
ça ne t'affiche rien du tout ?
__________________
Mon Site/Cv.
dj-julio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2006, 10h12   #15
Nouveau Membre du Club
 
Inscription : décembre 2003
Messages : 223
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 223
Points : 25
Points : 25
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 :
$_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 ...
schnito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2006, 10h15   #16
Membre expérimenté
 
Avatar de dj-julio
 
Inscription : décembre 2005
Messages : 742
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Finistère (Bretagne)

Informations forums :
Inscription : décembre 2005
Messages : 742
Points : 576
Points : 576
hum hum hmu lol
et donc quand tu fais un echo de ton $_POST qui va servir à initialiser la session, ça bug aussi ?
__________________
Mon Site/Cv.
dj-julio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2006, 10h20   #17
Nouveau Membre du Club
 
Inscription : décembre 2003
Messages : 223
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 223
Points : 25
Points : 25
non ca marche !

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

Code :
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
 
}
schnito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2006, 10h23   #18
Membre expérimenté
 
Avatar de dj-julio
 
Inscription : décembre 2005
Messages : 742
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Finistère (Bretagne)

Informations forums :
Inscription : décembre 2005
Messages : 742
Points : 576
Points : 576
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à ?
__________________
Mon Site/Cv.
dj-julio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2006, 10h26   #19
Nouveau Membre du Club
 
Inscription : décembre 2003
Messages : 223
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 223
Points : 25
Points : 25
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 !
schnito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2006, 12h25   #20
Nouveau Membre du Club
 
Inscription : décembre 2003
Messages : 223
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 223
Points : 25
Points : 25
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 ...
schnito est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h21.


 
 
 
 
Partenaires

Hébergement Web