Maison >développement back-end >tutoriel php >Comment éviter les soumissions en double après l'actualisation du formulaire ?

Comment éviter les soumissions en double après l'actualisation du formulaire ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-12 05:19:02734parcourir

How to Prevent Duplicate Submissions After Form Refresh?

Prévention des soumissions en double grâce à la gestion de l'actualisation

Dans le développement Web, il est courant de rencontrer le problème des soumissions en double lorsqu'une page est actualisée après un soumission du formulaire. Pour résoudre ce problème, envisagez l'approche suivante :

Imaginez avoir un extrait de code qui ressemble à ceci :

<?php
    if (isset($_POST['name'])) {
        // Database operations...
        echo "Operation Done";
        die();
    }
?>

<form action='page.php' method='post' name="myForm">
    <input type="text" maxlength="50" name="name">

Lorsque vous soumettez ce formulaire, les données fournies sont insérées dans la base de données, et un message de réussite s'affiche. Cependant, si vous deviez actualiser la page, les données seraient à nouveau soumises à la base de données.

Solution : Redirection après soumission

Pour éviter cette duplication, il est Il est crucial qu'une fois l'opération terminée, vous n'affichiez pas la réponse sur la même page. Au lieu de cela, redirigez vers une nouvelle page.

// Database operations...
// Set success flash message. (Assuming you're using a framework)
header('Location: /path/to/record');
exit;

En redirigeant après la soumission, vous vous assurez que l'actualisation de la page déclenchera uniquement la demande GET pour la nouvelle page vers laquelle vous avez redirigé, évitant ainsi les soumissions en double.

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