Maison > développement back-end > tutoriel php > Comment empêcher l'insertion involontaire de données lors de l'actualisation de la page ?

Comment empêcher l'insertion involontaire de données lors de l'actualisation de la page ?

Susan Sarandon
Libérer: 2024-11-25 00:40:17
original
578 Les gens l'ont consulté

How to Prevent Unintentional Data Insertion on Page Refresh?

Éviter l'insertion involontaire de données lors de l'actualisation de la page

Dans le développement d'applications Web, il est crucial d'empêcher l'insertion involontaire de données lorsque les utilisateurs actualisent une page après soumettre un formulaire. Une approche courante pour résoudre ce problème consiste à rediriger les utilisateurs vers une autre page après l'envoi du formulaire.

Considérez l'extrait de code suivant dans lequel un formulaire est utilisé pour insérer des données dans une base de données :

<?php
    if (isset($_POST['name'])) {
        // Operation on database, such as inserting $_POST['name'] into a table
        echo "Operation Done";
        die(); // Die() is used to prevent further processing, which would otherwise cause the form to be resubmitted on page refresh.
    }
?>

<form action='page.php' method='post' name="myForm">
    <input type="text" maxlength="50" name="name" class="input400" />
    <input type="submit" name="Submit" />
</form>
Copier après la connexion

Lorsque le formulaire est soumis, les données sont insérées dans la base de données et le message « Opération terminée » s'affiche. Cependant, si un utilisateur actualise la page, le formulaire sera soumis à nouveau, entraînant la réinsertion des données.

Pour éviter ce problème, il est recommandé de rediriger l'utilisateur vers une autre page après la soumission du formulaire. Cela empêche le formulaire d'être soumis à nouveau lors de l'actualisation de la page :

<?php
    if (isset($_POST['name'])) {
        // Operation on database, such as inserting $_POST['name'] into a table
        // Set a success flash message (assuming you are using a framework).
        header('Location: /path/to/record'); // Redirects the user to a different page upon successful form submission.
        exit; // Die() is not necessary here since the header redirect will send the user away from the page.
    }
?>

<form action='page.php' method='post' name="myForm">
    <input type="text" maxlength="50" name="name" class="input400" />
    <input type="submit" name="Submit" />
</form>
Copier après la connexion

En redirigeant l'utilisateur vers une autre page après la soumission du formulaire, le risque d'insertion involontaire de données lors de l'actualisation de la page est éliminé.

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!

source:php.cn
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