Peux être que les cookie sont désactivé dans mozilla ?
Peux être que les cookie sont désactivé dans mozilla ?
je viens de checker, il autorise les Cookies ...
bonjour, moi aussi j'ai ce problème, sous ie ça passe, mais pas sous firefox.
En fait moi, je bosse sur une version test, que je upload ensuite sur la version finale, sur ma version test avec firefox, ça fontionne.
Je ne comprends rien ... Si quelqu'un a une idée![]()
j'ai cerné exactement l'endroit a partir duquel ca merde !
Alors pour ceux qui connaissent le systeme de template PHPBB :
La session est vidée, quand j'affiche le contenu de ma page, comme ceci :
...
Code : Sélectionner tout - Visualiser dans une fenêtre à part $template->pparse('body');
Je comprends encore moins ...
QQn aurait t'il deja eu un pb avec les sessions, mozilla et les templates phpBB ???
Yo !
Alors si quelqu'un ici utilise utilise des posts, des sessions et les templates PHPBB, ca serait cool qu'il me fasse signe ...
En fait, le pb se produit quand j'utilise la fonction pparse du systeme de template PHPBB ...
Je l'ai epluchée jusque la derniere ligne, ya pas de pb ...
Le seul truc que je vois, c que avant de faire le submit, l'execution repasse dans mon script (je sais pas comment), dc repasse dans le seul endroit ou je valorise ma session, donc ici :
J'ai fait une bidouille, c a d que je verifie si le POST existe avant de valoriser ma session ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part $_SESSION['sesSelectProject'] = $_POST['Project'];
Ainsi, meme s'il retourne a l'endroit de la valorisation de la session alors qu'il ne devrait pas, la session n'est pas ecrasée var je verifie si le POST existe ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 if(isset($_POST['Project'])) $_SESSION['sesSelectProject'] =$_POST['Project'];
Par contre, je vois vraiment pas pourquoi je suis obligé de faire ca pour firefox ... vraiment etrange ...
Salut
Fais un echo ou un print_r() de ta variable de session avant le pparse() et un autre après, nous serons fixés.
hummmm j'ai répondu dans l'autre sujet mais je voudrais dire une chose...ta page dois avoir des if et etc....pour permettre l'affichage des du template qu'il faut...A moins que je me trompe.![]()
N'empeche si tu peux pas mettre le bout de code mets un echo dans chaque if afin de voir le lequel qui est appelé à chaque étape.
Si après ce petit test réalisé le problème n'est toujours pas fixé reviens nous mais evec ton code cette fois-ci![]()
Je reviens sur ce problème de sessions, qui est vraiment très très bizarre. Vu que je developpe un autre truc avec des sessions, jvoulais
revoir ca.
Ce topic date du mois de février, donc pour ceux qui s'en souviennent pas, je vous fait un rappel.
* 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 !
.
* session_start ? :
J'ai bien mis un session_start en debut de script
* C'est fou
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 ?
* C'est fou 2
Effectivement, si je fais ma page de formulaire avec des echos, ca marche.Alors si quelqu'un ici utilise utilise des posts, des sessions et les templates PHPBB, ca serait cool qu'il me fasse signe ...
En fait, le pb se produit quand j'utilise la fonction pparse du systeme de template PHPBB ...
Je l'ai epluchée jusque la derniere ligne, ya pas de pb ...
Le seul truc que je vois, c que avant de faire le submit, l'execution repasse dans mon script (je sais pas comment), dc repasse dans le seul endroit ou je valorise ma session, donc ici :
Code : Sélectionner tout - Visualiser dans une fenêtre à part $_SESSION['sesSelectProject'] = $_POST['Project'];
* Bidouille
Voila, étrange non ?J'ai fait une bidouille, c a d que je verifie si le POST existe avant de valoriser ma session ...
Ainsi, meme s'il retourne a l'endroit de la valorisation de la session alors qu'il ne devrait pas, la session n'est pas ecrasée var je verifie si le POST existe ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 if(isset($_POST['Project'])) $_SESSION['sesSelectProject'] =$_POST['Project'];
On est passé a Firefox 2 now, même soucis.
Pour ceux qui voudrait essayer de voir ca avec moi, j'ai fait des scripts de base de test. J'ai utilisé les templates car je vous rappelle que c'est avec les template PHPBB que ca plante.
* Script principal CodePbSessions.php
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144 <?php /** * Fichier: CodePbSessions.php * Auteur: PA. SCHNEE * But: Petit bout de code tout simple mettant en avant le problème de sessions avec mozilla et les templates PHPBB * */ //echo "<pre align=left>_SESSION: <br>";print_r($_SESSION);echo "</pre>"; //echo "<pre align=left>POST: <br>";print_r($_POST);echo "</pre>"; include('template.php'); session_start(); $get_intStep=0; //recuperation des variables GET if (isset($_GET["step"])) $get_intStep=$_GET["step"]; $get_intStep=intval($get_intStep); // tableau de type : Intitulé, Type, Nom, Valeur $aInputs=array( /******Step 2 : What ******/ array("Nom","text", "s_Nom",""), array("Prenom","text", "s_Prenom",""), array("Adresse","text","s_Adresse",""), array("CP","text", "s_CP",""), array("Mail","text", "s_Mail",""), array("Confirmer Mail","text", "s_ConfMail","")); // Initialisation du template $tplBodyHtml = new Template('./templates'); $tplBodyHtml->set_filenames(array( 'body' => 'template_html_model_headings.tpl' )); $tplBodyHtml->set_filenames(array( 'form' => 'template_html_model_form.tpl' )); //Etape 1 if($get_intStep==0) { //assignation du formulaire $tplBodyHtml->assign_block_vars('blocForm', array( 'LIEN' => "CodePbSessions.php?step=1", 'METHOD' => "POST", )); //assignation des inputs for($i=0;$i<2;$i++) { $tplBodyHtml->assign_block_vars('blocForm.blocInput', array( 'HEADINGLEFT' => $aInputs[$i][0], 'TYPE' => $aInputs[$i][1], 'NAME'=>$aInputs[$i][2], )); } //bouton next $tplBodyHtml->assign_block_vars('blocForm.blocInput', array( 'TYPE' => "Submit", 'NAME'=>"s_Submit", 'VALUE'=>"Next")); } //Etape 2 else if($get_intStep==1) { //mise en session des post de l'étape précédente $_SESSION["sesNom"]=$_POST["s_Nom"]; $_SESSION["sesPrenom"]=$_POST["s_Prenom"]; $tplBodyHtml->assign_block_vars('blocForm', array( 'LIEN' => "CodePbSessions.php?step=2", 'METHOD' => "POST", )); //Verif Sessions ==> OK echo "<pre align=left>_SESSION: <br>";print_r($_SESSION);echo "</pre>"; for($i=2;$i<4;$i++) { $tplBodyHtml->assign_block_vars('blocForm.blocInput', array( 'HEADINGLEFT' => $aInputs[$i][0], 'TYPE' => $aInputs[$i][1], 'NAME'=>$aInputs[$i][2], )); } $tplBodyHtml->assign_block_vars('blocForm.blocInput', array( 'TYPE' => "Submit", 'NAME'=>"s_Submit", 'VALUE'=>"Next")); } //Etape 3 else if($get_intStep==2) { //mise en session des post de l'étape précédente $_SESSION["sesAdresse"]=$_POST["s_Adresse"]; $_SESSION["sesCP"]=$_POST["s_CP"]; $tplBodyHtml->assign_block_vars('blocForm', array( 'LIEN' => "Resultat.php", 'METHOD' => "POST", )); //Verif Sessions ==> sesNom et sesPrenom sont videés !! echo "<pre align=left>_SESSION: <br>";print_r($_SESSION);echo "</pre>"; for($i=4;$i<count($aInputs);$i++) { $tplBodyHtml->assign_block_vars('blocForm.blocInput', array( 'HEADINGLEFT' => $aInputs[$i][0], 'TYPE' => $aInputs[$i][1], 'NAME'=>$aInputs[$i][2], )); } $tplBodyHtml->assign_block_vars('blocForm.blocInput', array( 'TYPE' => "Submit", 'NAME'=>"s_Submit", 'VALUE'=>"Next")); } //résultat du template form dans le template de heading $tplBodyHtml->assign_var_from_handle('BODYCONTENT', 'form'); //affichage du body $tplBodyHtml->pparse('body'); ?>
* 1er template : template_html_model_headings.tpl (corprs HTML)
Tout simple
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 <html> <head> <title>{TITRE}</title> <link rel="stylesheet" type='text/css' href="{STYLE}"/> <link rel="stylesheet" type='text/css' href="{STYLE2}"/> <!-- BEGIN script --> <script language="JavaScript" type="text/javascript" {script.SRC} > {script.CONTENT} </script> <!-- END script --> </head> <body class="{CLASS}" text="#202020" link="#707070" vlink="#707070" alink="#707070" OnLoad="Chargement();{ONLOAD}" {BODYSTYLE}> {BODYCONTENT} </body> </html>
* 2ième template : template_html_model_form.tpl (template de formulaire)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <!-- GENERATION DE FORMS --> <!-- BEGIN blocForm --> <form action="{blocForm.LIEN}" method="{blocForm.METHOD}" onSubmit="{blocForm.SUBMIT}"> <!-- GENERATION DE INPUTS --> <!-- BEGIN blocInput --> {blocForm.blocInput.HEADINGLEFT} <input type="{blocForm.blocInput.TYPE}" value="{blocForm.blocInput.VALUE}" name="{blocForm.blocInput.NAME}" size="{blocForm.blocInput.SIZE}" {blocForm.blocInput.MAXLENGHT} {blocForm.blocInput.ISCHECKED} {blocForm.blocInput.ISDISABLED} {blocForm.blocInput.ONCLICK} {blocForm.blocInput.ONCHANGE}/>{blocForm.blocInput.HEADING} <!-- END blocInput --> </form> <!-- END blocForm -->
Voila, merci pour votre aide !
Ce que je vais dire va sembler stupide et inutile mais a tester à mon avis....
Si vous stockier d'abord les POST dans des variables puis que vous assigniez ces variables dans la session, qu'est ce que cela donne ?
@+
cadou
Nan, même soucis.
A l'etape 2 les sessions sont vidées. Car elles sont (etrangement) initialisée une deuxième fois a la valeur des POSTS de Nom et Prenom, qui sont logiquement vide a l'étape 2.
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 else if($get_intStep==1) { $strNom=$_POST["s_Nom"]; $strPrenom=$_POST["s_Prenom"]; //mise en session des post de l'étape précédente $_SESSION["sesNom"]=$strNom; $_SESSION["sesPrenom"]=$strPrenom; $tplBodyHtml->assign_block_vars('blocForm', array( 'LIEN' => "CodePbSessions.php?step=2", 'METHOD' => "POST", )); //Verif Sessions ==> OK echo "<pre align=left>_SESSION: <br>";print_r($_SESSION);echo "</pre>"; ...
ca n'interesse personne d'autre ce problème étrange ?
Vraiment personne ?
C'est dommage, j'aurais bien voulu en discuter, voir s'il ya vait une petite explication ... ou si j'avais fait une connerie (mais je vois vraiment pas)...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager