Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ein unbeabsichtigtes Einfügen von Daten bei der Seitenaktualisierung verhindert werden?
Unbeabsichtigtes Einfügen von Daten bei der Seitenaktualisierung vermeiden
Bei der Entwicklung von Webanwendungen ist es wichtig, das unbeabsichtigte Einfügen von Daten zu verhindern, wenn Benutzer eine Seite anschließend aktualisieren ein Formular absenden. Ein gängiger Ansatz zur Lösung dieses Problems besteht darin, Benutzer nach der Formularübermittlung auf eine andere Seite umzuleiten.
Betrachten Sie den folgenden Codeausschnitt, in dem ein Formular zum Einfügen von Daten in eine Datenbank verwendet wird:
<?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>
Beim Absenden des Formulars werden die Daten in die Datenbank eingefügt und die Meldung „Vorgang abgeschlossen“ wird angezeigt. Wenn ein Benutzer jedoch die Seite aktualisiert, wird das Formular erneut übermittelt, wodurch die Daten erneut eingefügt werden.
Um dieses Problem zu vermeiden, wird empfohlen, den Benutzer nach der Formularübermittlung auf eine andere Seite umzuleiten. Dadurch wird verhindert, dass das Formular bei der Seitenaktualisierung erneut übermittelt wird:
<?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>
Durch die Weiterleitung des Benutzers auf eine andere Seite nach der Formularübermittlung wird das Risiko einer unbeabsichtigten Dateneinfügung bei der Seitenaktualisierung eliminiert.
Das obige ist der detaillierte Inhalt vonWie kann ein unbeabsichtigtes Einfügen von Daten bei der Seitenaktualisierung verhindert werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!