Maison > Article > développement back-end > Comment empêcher les soumissions de formulaires d'être répétées lors de l'actualisation ?
Prévenir les soumissions de formulaires redondantes lors de l'actualisation
Dans le développement d'applications Web, il n'est pas rare de rencontrer des situations dans lesquelles l'actualisation d'une page après la soumission d'un formulaire conduit à soumissions multiples involontaires. Ce comportement peut se produire lorsque le code côté serveur ne gère pas correctement le traitement de soumission du formulaire.
Considérez l'exemple suivant dans lequel un formulaire est destiné à insérer des données dans une base de données lors de la soumission :
<?php if (isset($_POST['name'])) { // Database operation to insert $_POST['name'] echo "Operation Done"; die(); } ?> <form action='page.php' method='post' name="myForm"> <input type="text" maxlength="50" name="name" class="input400" /> <input type="submit" name="Submit" /> </form>
Après avoir soumis le formulaire, les données sont insérées avec succès dans la base de données et le message « Opération terminée » s'affiche. Cependant, si la page est ensuite actualisée, la soumission du formulaire est répétée, ce qui entraîne la réinsertion des données.
Solution : Rediriger après une soumission réussie du formulaire
À éviter ce problème, il est essentiel de rediriger vers une autre page après avoir traité avec succès la soumission du formulaire. Cela garantit que lorsque la page est actualisée, c'est la nouvelle page qui est chargée, et non la même page de soumission de formulaire.
Exemple avec redirection :
<?php if (isset($_POST['name'])) { // Database operation to insert $_POST['name'] header('Location: /path/to/record'); exit; } ?>
En ajoutant la redirection d'en-tête, le code garantit qu'une fois l'opération de base de données terminée, une redirection se produit vers un nouveau chemin. Si l'utilisateur actualise la page, il sera dirigé vers le nouveau chemin au lieu de la page de soumission du formulaire.
Avantages de la redirection :
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!