Maison > développement back-end > tutoriel php > Comment le modèle Post/Redirect/Get (PRG) empêche-t-il les soumissions de formulaires en double ?

Comment le modèle Post/Redirect/Get (PRG) empêche-t-il les soumissions de formulaires en double ?

DDD
Libérer: 2024-12-17 10:08:24
original
118 Les gens l'ont consulté

How Does the Post/Redirect/Get (PRG) Pattern Prevent Duplicate Form Submissions?

Approche du modèle "Post/Redirect/Get"

Alors que le modèle "post/redirect/get" a été expliqué comme un concept , ses subtilités peuvent prêter à confusion. Permettez-nous de démêler ce processus étape par étape pour une meilleure compréhension.

Le problème :

Lorsque vous soumettez un formulaire, envisagez un scénario dans lequel vous souhaitez empêcher les resoumissions après un rafraîchissement de page. Si une simple requête POST est utilisée, l'actualisation de la page renverrait le formulaire, ce qui pourrait entraîner des entrées en double indésirables.

La solution : modèle "Publier/Redirection/Obtenir"

Ce modèle se compose de trois étapes distinctes :

  1. Post : Un formulaire est soumis à l'aide d'un Requête POST, envoi de données au serveur.
  2. Redirection :Une fois la soumission réussie, le serveur répond par une redirection (généralement un code d'état 302) vers une nouvelle URL.
  3. Get : Le navigateur suit la redirection et effectue une requête GET vers la nouvelle URL, affichant le page.

Avantages de PRG :

  • Empêche les soumissions de formulaire en double : Puisque le formulaire n'est pas soumis à nouveau, il Il n'y a aucun risque d'entrées en double lors de l'actualisation de la page.
  • Préserve l'historique du navigateur :Le La requête GET à la troisième étape permet aux navigateurs de conserver un historique approprié des visites de pages.
  • Améliore la sécurité : En gardant les données sensibles (telles que les mots de passe) hors de l'URL, PRG améliore la sécurité.

Comprendre le diagramme :

Le diagramme fourni illustre le flux de le modèle PRG.

  • Le "mauvais" exemple montre que l'actualisation du formulaire après une requête POST entraînerait une nouvelle soumission, tandis que le "bon" exemple montre une gestion correcte à l'aide d'une redirection et d'une requête GET.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal