Formularversand in die DB und Redirect in PHP
Nehmen wir an, wir haben ein bestimmtes Formular:
<form method="POST">
<input name="test1">
<input name="test2">
<input type="submit">
</form>
Lassen Sie uns die Daten dieses Formulars in der Datenbank speichern:
<?php
if (!empty($_POST)) {
// in der Datenbank speichern
}
?>
Hier lauert jedoch ein Problem: Wenn die Browserseite aktualisiert wird, wird das Formular erneut abgeschickt und gespeichert, was zu doppelten Daten führt.
Um das Problem zu lösen, muss nach dem Speichern des Formulars ein Redirect auf die gleiche Seite durchgeführt werden:
<?php
if (!empty($_POST)) {
// in der Datenbank speichern
header('Location: form.php');
die();
}
?>
Erstellen Sie ein Formular und implementieren Sie dessen Speicherung in der DB nach dem Absenden. Verhindern Sie die doppelte Speicherung nach dem Absenden.