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 ); }
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!