Αποστολή φόρμας στη ΒΔ και ανακατεύθυνση σε PHP
Ας υποθέσουμε ότι έχουμε μια φόρμα:
<form method="POST">
<input name="test1">
<input name="test2">
<input type="submit">
</form>
Ας αποθηκεύσουμε τα δεδομένα αυτής της φόρμας στη βάση:
<?php
if (!empty($_POST)) {
// αποθηκεύουμε στη βάση
}
?>
Εδώ, ωστόσο, αντιμετωπίζουμε ένα πρόβλημα: αν ανανεώσετε τη σελίδα του προγράμματος περιήγησης, η φόρμα θα αποσταλεί και θα αποθηκευτεί ξανά, δημιουργώντας διπλό δεδομένων.
Για να λυθεί το πρόβλημα, μετά την αποθήκευση της φόρμας πρέπει να εκτελέσετε ανακατεύθυνση στην ίδια σελίδα:
<?php
if (!empty($_POST)) {
// αποθηκεύουμε στη βάση
header('Location: form.php');
die();
}
?>
Δημιουργήστε μια φόρμα και υλοποιήστε την αποθήκευσή της στη ΒΔ μετά την υποβολή. Απομακρύνετε τη διπλή αποθήκευση μετά την υποβολή.