par
ynx » 01 avr. 2022, 17:35
Bonjour wisefun77,
Félicitation pour le poste !
Concernant le message du navigateur "Confirmer le nouvel envoi du formulaire", ceci vient du fait que la précédente page doit correspondre à une requête de type POST (l'envoi du formulaire je suppose). Si tu recharges cette page, le navigateur va alors refaire cette requête POST, comme si tu envoyais le formulaire une deuxième fois.
La solution classique pour résoudre ce comportement est d'utiliser le principe POST-Redirect-GET :
https://fr.wikipedia.org/wiki/Post-redirect-get
Il s'agit de faire une redirection (requête GET) après le traitement du formulaire (requête POST).
Dans le script qui traite le formulaire (autrement dit, le script qui traite la requête POST), il faudrait ajouter une redirection à la fin de ce traitement (via la fonction php header('Location: url');). Cette redirection sera alors une requête de type GET, le navigateur ne proposera donc pas de renvoyer le formulaire.
Bonjour wisefun77,
Félicitation pour le poste !
Concernant le message du navigateur "Confirmer le nouvel envoi du formulaire", ceci vient du fait que la précédente page doit correspondre à une requête de type POST (l'envoi du formulaire je suppose). Si tu recharges cette page, le navigateur va alors refaire cette requête POST, comme si tu envoyais le formulaire une deuxième fois.
La solution classique pour résoudre ce comportement est d'utiliser le principe POST-Redirect-GET : https://fr.wikipedia.org/wiki/Post-redirect-get
Il s'agit de faire une redirection (requête GET) après le traitement du formulaire (requête POST).
Dans le script qui traite le formulaire (autrement dit, le script qui traite la requête POST), il faudrait ajouter une redirection à la fin de ce traitement (via la fonction php header('Location: url');). Cette redirection sera alors une requête de type GET, le navigateur ne proposera donc pas de renvoyer le formulaire.