Empêcher les insertions multiples lors de la soumission d'un formulaire en PHP
Lors de la conception de formulaires, il est crucial d'empêcher les utilisateurs de soumettre accidentellement ou intentionnellement les mêmes données plusieurs fois. fois. Cela peut entraîner une incohérence des données et d’autres problèmes. En PHP, il existe plusieurs méthodes efficaces pour y parvenir :
1. Désactiver le bouton d'envoi du formulaire lors de la soumission
À l'aide de JavaScript, désactivez le bouton d'envoi du formulaire une fois le formulaire soumis. Cependant, ce n'est pas une solution infaillible, car les utilisateurs peuvent soumettre des formulaires sans cliquer sur le bouton et les utilisateurs avec JavaScript désactivé peuvent être concernés.
2. Tirez parti des sessions PHP pour suivre les heures de soumission
Établissez une variable de session ($_SESSION['posttimer']) qui enregistre l'horodatage actuel. Avant de traiter la soumission du formulaire, vérifiez l'existence de cette variable et vérifiez s'il existe un décalage horaire suffisant (par exemple 2 secondes) entre l'heure actuelle et l'horodatage de la session. Si l'intervalle est trop court, la soumission est considérée comme un doublon.
3. Incorporez des jetons uniques dans les formulaires
Générez un jeton unique dans chaque POST. Créez une variable de session pour ce jeton et intégrez-la dans le formulaire. Lorsque le formulaire est soumis, régénérez le jeton et comparez-le à celui stocké dans la session. S'ils ne correspondent pas, le formulaire a été soumis deux fois et devrait être considéré comme invalide.
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!