Maison > développement back-end > tutoriel php > Comment puis-je empêcher la resoumission du formulaire lors de l'actualisation de la page ?

Comment puis-je empêcher la resoumission du formulaire lors de l'actualisation de la page ?

DDD
Libérer: 2024-12-24 18:59:10
original
678 Les gens l'ont consulté

How Can I Prevent Form Resubmission on Page Refresh?

Empêcher la resoumission du formulaire lors de l'actualisation de la page

Votre formulaire est confronté au problème de la soumission de données en double lors de l'actualisation de la page, un scénario courant qui peut corrompre la base de données. entrées. Pour résoudre ce problème, vous recherchez une solution qui préserve la page actuelle tout en empêchant la nouvelle soumission.

Une méthode consiste à utiliser un identifiant de session unique pour chaque utilisateur. Cet identifiant peut être comparé à une valeur stockée, évitant ainsi les soumissions en double. Cependant, la mise en œuvre spécifique de cette approche n'est pas immédiatement disponible.

Vous pouvez également exploiter window.history.replaceState de JavaScript pour empêcher une nouvelle soumission lorsque la page est actualisée ou que le bouton de retour est utilisé. Voici un extrait de code JavaScript qui illustre ceci :

if ( window.history.replaceState ) {
    window.history.replaceState( null, null, window.location.href );
}
Copier après la connexion

Ce code remplace l'état actuel de l'historique par un nouveau qui a la même URL que la page actuelle. Par conséquent, lorsque l'utilisateur actualise ou clique sur le bouton Précédent, le formulaire n'est pas soumis à nouveau.

Bien que cette approche JavaScript soit innovante, il est généralement recommandé d'adopter une approche Post/Redirect/Get (PRG). Cependant, les deux méthodes résolvent efficacement le problème de la resoumission du formulaire lorsque la page est actualisé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!

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