Maison >développement back-end >tutoriel php >Comment empêcher la resoumission d'un formulaire sur les pages PHP ?

Comment empêcher la resoumission d'un formulaire sur les pages PHP ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-03 07:25:02388parcourir

How to Prevent Form Resubmission on PHP Pages?

Empêcher la resoumission de formulaire sur les pages PHP

Lorsque vous travaillez avec des pages PHP qui incluent des éléments de formulaire, il est crucial de résoudre le problème de la prévention des formulaires. nouvelle soumission lors de l'actualisation de la page. Ceci est particulièrement important si les pages contiennent des fonctions d'insertion qui ne doivent s'exécuter qu'une seule fois.

Le modèle Post-Redirect-Get

La solution recommandée consiste à utiliser le modèle Post-Redirect-Get. Modèle Redirect-Get (PRG). Cela implique les étapes suivantes :

  1. Accepter une requête POST :Les données du formulaire sont reçues dans une requête POST.
  2. Traiter les données : Les données sont traitées et l'action appropriée (par exemple, insertion de données) est effectuée.
  3. Émettre une réponse de redirection : Une réponse de redirection 303 « Voir autre » est émise vers un nouveau URL.
  4. Accepter une requête GET : Le navigateur fera une nouvelle requête GET à l'URL redirigée.
  5. Émettre une réponse 200 : L'URL Le serveur répond avec un code d'état 200 « OK » et affiche la page.

Gestion de l'affichage des données du formulaire

Si vous devez afficher les données du formulaire soumis dans la page redirigée, pensez à inclure un identifiant unique (par exemple, un ID de ligne) dans la chaîne de requête de l'URL de redirection. Cela vous permet de récupérer les données traitées de la base de données lorsque la requête GET est effectuée.

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!

Déclaration:
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