page executee en double et redirection - PHP - Programmation
Marsh Posté le 17-02-2007 à 20:42:34
Mets un exit juste après la redirection.
Marsh Posté le 17-02-2007 à 20:55:51
Ok dans ce cas essaie de réduire ton code à un exemple minimum et poste-le, ce sera plus facile de t'aider.
Marsh Posté le 17-02-2007 à 21:29:06
une version epurée du code :
Page 1
Code :
|
et page 2
Code :
|
j'obtiens dans mon fichier de log :
Code :
|
Marsh Posté le 17-02-2007 à 22:52:12
Je dirais que c'est ton finalizeLog qui ne vide pas le buffer quand tu l'appelles, et du coup quand tu le fais sur page2 ça réaffiche ce que tu avais déjà loggé dans page1, + la nouvelle ligne.
Je vois pas d'autre explication.
Marsh Posté le 17-02-2007 à 23:29:27
c'est pas ca...
J'ai supprimé du code presenté ici le traitement des données.
Et dans ce traitement, je fais :
Code :
|
La premiere fois, l'id n'existe pas en session donc je fais une insertion en base de données et je stock l'id de l'enregistrement en session.
La deuxieme fois l'id existe en session donc je fais un update.
Au final, je vois dans mon log, qu'il a fait un insert la 1ere fois et un update la seconde.
Bref j'ai deja proccedé de même sur mes autres sites et je ne comprends pas pourquoi ca coince cette fois ci...
Marsh Posté le 18-02-2007 à 16:35:17
J'ai testé rapidos chez moi là (en écrivant dans un fichier au lieu du log) et tout se déroule correctement, avec un seul passage dans page1.
Essaie avec des chemins absolus dans ton header sinon, on sait jamais. Normalement un header de redirection doit prendre un tel chemin, même si les chemins relatifs semblent marcher partout ou presque.
Enfin bon, y a une chance sur 1000 que ce soit ça...
Marsh Posté le 18-02-2007 à 20:06:56
merci d'avoir pris le temps de faire le test chez toi.
Je vais essayer avec des chemins absolus on sait jamais.
Marsh Posté le 19-02-2007 à 11:20:34
Ouais les navigateurs sont gentils. Maintenant si on veut respecter la norme, c'est chemins absolue et status-code 303 See Other (Donc passage d'une ressource non-cachable vers une ressource cachable)
Marsh Posté le 17-02-2007 à 20:39:23
Bonsoir à tous,
J'ai un probleme de redirection avec "header" que je ne comprends pas.
En gros, ma page est executée deux fois avant de faire effectivement la redirection :
1) page1.php affiche le formulaire
2) l'utilisateur soumet le formulaire et les données en post sont envoyées à page1.php
3) page1.php teste les données dans $_POST et s'il n'y a pas d'erreur
4) page1.php fait une redirection avec la fonction "header" vers page2.php
5) Au lieu d'atterir à page2, on revient sur page1.php
$_POST contient toujours les memes données
page1.php refait les meme tests et fait sa redirection vers page2.php
6) on arrive enfin vers page2.php
Est ce que vous avez deja eu un probleme similaire ?
Merci d'avance
fluminis
---------------
http://poemes.iceteapeche.com - http://www.simuland.net