Maison > développement back-end > tutoriel php > Comment empêcher une nouvelle soumission accidentelle lors de l'actualisation de la page dans les applications Web ?

Comment empêcher une nouvelle soumission accidentelle lors de l'actualisation de la page dans les applications Web ?

Susan Sarandon
Libérer: 2024-11-17 20:09:02
original
528 Les gens l'ont consulté

How to Prevent Accidental Resubmission on Page Refresh in Web Applications?

Empêcher les resoumissions accidentelles lors de l'actualisation de la page : meilleures pratiques

Dans les applications Web, il est essentiel de résoudre le problème courant de la duplication accidentelle de données due à l'actualisation de la page après la soumission du formulaire. La question se pose lorsqu'une soumission de formulaire effectue des opérations, telles que des insertions dans une base de données, et qu'une actualisation ultérieure entraîne une redondance indésirable des données.

Pour résoudre ce problème, il est préférable de ne pas afficher la réponse sur la même page. après une soumission. Au lieu de cela, redirigez l'utilisateur vers une autre page une fois l'action terminée.

Considérez l'exemple de code fourni dans la question :

<?php
    if (isset($_POST['name'])) {
        // Database operation (e.g., inserting $_POST['name'])
        echo "Operation Done";
        die();
    }
?>
Copier après la connexion

Dans ce scénario, lorsque vous Soumettez le formulaire, les données sont insérées dans la base de données et l'utilisateur voit le message « Opération terminée ». Cependant, si la page est actualisée par la suite, le code de soumission du formulaire s'exécutera à nouveau, ce qui pourrait entraîner l'insertion de données en double.

Pour éviter ce problème, considérez le code révisé suivant :

<?php
    if (isset($_POST['name'])) {
        // Database operation (e.g., inserting $_POST['name'])
        // Set a success flash message (assuming you're using a framework)
        header('Location: /path/to/record');
        exit;
    }
?>
Copier après la connexion

Points clés :

  • Redirigez l'utilisateur vers une autre page une fois l'opération terminée, empêchant ainsi la réexécution du code de soumission d'origine lors de l'actualisation.
  • Affichez les messages de réussite à l'aide de messages flash ou d'autres moyens appropriés sur la page de destination.

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 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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal