Penghantaran Borang ke Pangkalan Data dan Redirect dalam PHP
Katakan kita mempunyai sebuah borang:
<form method="POST">
<input name="test1">
<input name="test2">
<input type="submit">
</form>
Mari kita simpan data borang ini ke pangkalan data:
<?php
if (!empty($_POST)) {
// simpan ke pangkalan data
}
?>
Walau bagaimanapun, terdapat satu masalah di sini: jika halaman browser disegarkan, borang akan dihantar dan disimpan sekali lagi, menghasilkan data pendua.
Untuk menyelesaikan masalah ini, kita perlu melakukan redirect ke halaman yang sama selepas menyimpan borang:
<?php
if (!empty($_POST)) {
// simpan ke pangkalan data
header('Location: form.php');
die();
}
?>
Buat sebuah borang dan laksanakan penyimpanannya ke Pangkalan Data selepas dihantar. Elakkan daripada penyimpanan berganda selepas penghantaran.