Formos siuntimas į duomenų bazę ir redirectas PHP
Tarkime, kad turime tam tikrą formą:
<form method="POST">
<input name="test1">
<input name="test2">
<input type="submit">
</form>
Išsaugokime šios formos duomenis į duomenų bazę:
<?php
if (!empty($_POST)) {
// išsaugome į duomenų bazę
}
?>
Tačiau čia mūsų laukia problema: jei atnaujinsite naršyklės puslapį, forma bus išsiųsta ir išsaugota dar kartą, sukurdama duplikatą duomenų.
Norint išspręsti problemą, reikia po išsaugojimo formos atlikti redirectą į tą patį puslapį:
<?php
if (!empty($_POST)) {
// išsaugome į duomenų bazę
header('Location: form.php');
die();
}
?>
Sukurkite formą ir realizuokite jos išsaugojimą į DB po siuntimo. Atsikratykite dvigubo išsaugojimo po siuntimo.