Maison  >  Article  >  développement back-end  >  Comment empêcher les insertions multiples lors de la soumission d'un formulaire en PHP ?

Comment empêcher les insertions multiples lors de la soumission d'un formulaire en PHP ?

DDD
DDDoriginal
2024-10-21 21:32:30271parcourir

How to Prevent Multiple Insertions on Form Submission in PHP?

Empêcher les insertions multiples lors de la soumission d'un formulaire en PHP

Défi :

Dans certains cas, les utilisateurs peuvent involontairement appuyer sur le bouton " Entrez la touche « » plusieurs fois, ce qui entraîne des publications ou des insertions en double.

Solution alternative :

En plus de vérifier les publications en double en fonction du titre et du contenu, plusieurs approches supplémentaires peuvent prévenir efficacement ce problème :

  1. Désactiver le bouton de soumission via JavaScript :

    Cette méthode consiste à désactiver le bouton de soumission du formulaire une fois que vous avez cliqué dessus. Cependant, ce n'est pas infaillible, car les utilisateurs peuvent toujours soumettre des formulaires par d'autres moyens, et ceux dont JavaScript est désactivé seront affectés.

  2. Horodatage basé sur la session :

    Les sessions PHP peuvent être utilisées pour définir un horodatage lorsqu'un message est reçu. Lors des soumissions ultérieures, la différence de temps entre l'horodatage actuel et l'horodatage stocké peut être vérifiée. Si la différence se situe dans une limite prédéfinie (par exemple 2 secondes), la soumission peut être signalée comme un doublon.

  3. Jeton unique :

    La génération d'un token unique pour chaque requête POST garantit que le formulaire soumis n'a pas été préalablement envoyé. Une valeur de jeton est stockée en session et incluse dans la soumission du formulaire. Toute inadéquation entre le jeton soumis et le jeton de session indique une double tentative de soumission, qui peut être rejetée en conséquence.

Ces alternatives offrent des solutions robustes pour empêcher les insertions multiples lors des soumissions de formulaires, garantissant ainsi l'intégrité des données. et réduire le risque de doublons.

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