Формаро ба пойгоҳи додаҳо фиристодан ва редирект дар 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();
}
?>
Шакл созед ва захира кардани онро дар БД (пойгоҳи додаҳо) пас аз фиристодан амалӣ кунед. Аз захираи такрорӣ (дубликат) пас аз фиристодан худро наҷот диҳед.