Aller au contenu

Rediriger apres validation d'un formulaire


Sujets conseillés

Posté

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

Posté

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:

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.

Posté

Merci Jan

La 2ème solution que tu donnes fonctionne bien. Il n'y a pas de cookie

Posté
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 ;)

Posté
les cookies ne sont envoyés qu'avec le header (pas directement)

<{POST_SNAPBACK}>

Exact, j'ai confondu :wacko:

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...