Moitié de mes variables de sessions qui disparaissent d'une page à l'autre !

Répondre
oximini
le 13/03/2008 à 15:37
oximini
Plus précisément, c'est à dire ?
Car là, on entre pas dans le cadre d'un rafraichissement de page. En effet, le script traite les variables POST en les mettant dans des variables de sessions, puis la page se chargent (avec appel du script dans le body pour définir la source des images). Mais en aucun cas il n'y a rafraichissement.

D'ailleurs, sur la même page (celle avant traitement) si tu appuis sur F5, le navigateur te demande si tu veux garder les données envoyées par POST. Tu cliques sur oui bien sur, et toutes tes variables de session sont toujours bien là.

La vraie question c'est que se passe t-il exactement au moment ou j'appuie sur mon bouton pour passer à la page d'après, au niveau de l'image sans source, pour que les variables de session disparaissent entre temps (uniquement celle venant d'être enregistrées, j'insiste, puisque les toutes premières, elles, restent tout à fait normalement bel et bien enregistrée).

J'ai fait un test sous IE (hum, ok, pas spécialement révélateur), sous Opera, Safari et Konqueror. Seul FF ne passe pas et bloque avec ces images sans source.

Je finis pas me demander si je n'ai pas tout simplement levé un bug FF smiley
LA GLOBULE
le 13/03/2008 à 16:41
LA GLOBULE
Tu n'as pas trouvé de bug Firefox. Je t'ai dis ce qu'il se passait quand tu mettais une image avec un src vide dans ton code HTML.

A priori tu n'as pas compris.
Donc je te le redis : quand tu mets une image avec un source vide dans ton HTML, Firefox, quand il charge l'image, il recharge la page HTML courante, comme si le source de l'image valait ce que tu as dans l'adresse de ton Firefox.

Pour preuve, j'ai écrit une page web toute conne :

toto
<img src="" alt="pom" />
blu


Ensuite, j'ai utilisé un outil d'analyse de trafic reseau, et en chargeant cette page web, voila ce que je vois en requetes HTTP :

GET /test.php HTTP/1.1
Host: www.lephpfacile.com
User-Agent: Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive

HTTP/1.1 200 OK
Date: Thu, 13 Mar 2008 15:31:06 GMT
Server: Apache
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 54
Keep-Alive: timeout=15
Connection: Keep-Alive
Content-Type: text/html; charset=UTF-8

..........+./.....MW(.J.URRH.).U*..UR...J.)......."...

GET /test.php HTTP/1.1
Host: www.lephpfacile.com
User-Agent: Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12
Accept: image/png,*/*;q=0.5
Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://www.lephpfacile.com/test.php

HTTP/1.1 200 OK
Date: Thu, 13 Mar 2008 15:31:06 GMT
Server: Apache
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 54
Keep-Alive: timeout=15
Connection: Keep-Alive
Content-Type: text/html; charset=UTF-8

..........+./.....MW(.J.URRH.).U*..UR...J.)......."...


On voit bien que la page est appelé deux fois.

Par contre, avec une page web du genre :

toto
<img alt="pom" />
blu


On n'observe pas ce problème.

Donc si ton src est vide, vire le, et re teste pour voir.

Si le problème disparait, c'est que ton script ne gère pas le fait que la page se recharge, c'est tout : donc soit tu corriges ton script en faisant une modif, soit tu vires le "src", mais dans ce cas, tu camoufleras le problème au lieu de le corriger à la source.
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours