Version complète: sur le forum Webmaster Hub : Rediriger apres validation d'un formulaire
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
Fupap
Bonjour
J ai un formulaire d'annonces et quand les visiteurs le valident ils retombent sur le formulaire (non rempli) et comme ils ne savent pas si ca a fonctionné, il m'en remplissent 2,3, 5....etc
je suppose qu'il y a une ligne qu'on peut mettre pour que apres validation il se retrouvent sur une page du site par exemple, celle qu'ils visitaient avant ou une autre.
Quel bout de code je dois mettre
Merci
Jan
Salut,
Si je comprends bien, ton formulaire renvoie vers la page qui le contient.

Le code de la page doit donc contenir:
- dans son début, une 1ere partie de code PHP servant à tester si le formulaire a été soumis et dans ce cas le traiter.
- Puis une 2ème partie qui est le HTML (en particulier le formulaire) affiché dans le navigateur.

Pour éviter que tes visiteurs ne ressoumettent, il faut qu'en cas de soumission réussie:
- dans la 2ème partie de ton code (le html), tu n'affiches pas le formulaire mais un message les avertissant qu'il a été soumis avec succès. Un simple if fera l'affaire.
ou
- qu'à la fin de la première partie (le traitement PHP du formulaire) tu les rediriges vers une page les avertissant qu'il a été soumis avec succès. Le code PHP de la redirection:
CODE
header("Location: http://www.tonsite.com/page-cible.php");
exit();

Attention, cette redirection risque de provoquer une erreur (headers already sent) si par exemple un cookie est écrit lors du traitement du formulaire. La première solution me semble donc préférable.
Fupap
Merci Jan
La 2ème solution que tu donnes fonctionne bien. Il n'y a pas de cookie
Compte supprimé
CITATION(Jan @ jeudi 10 novembre 2005, 00h55)
Attention, cette redirection risque de provoquer une erreur (headers already sent) si par exemple un cookie est écrit lors du traitement du formulaire. La première solution me semble donc préférable.

Non :
1/ les cookies ne sont envoyés qu'avec le header (pas directement)
2/ La deuxième est préférable car elle règle le problème d'un "refrech" qui ressoumettrait le formulaire wink.gif
Jan
CITATION(jeroen @ jeudi 10 novembre 2005, 14h40)
les cookies ne sont envoyés qu'avec le header (pas directement)
*

Exact, j'ai confondu wacko.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.