Чтобы запретить повторную обработку отправленной формы после обновления страницы нужно добавить пару строчек кода.
К примеру имеем форму
и обработчик формы
Для предотвращения повторной отправки формы при перезагрузке нужно сделать следующее:
1. Перед формой добавить генерацию рандомного числа и сохранение его в сессию
2. Добавить рандомное число в форму
3. В обработчике проверить существование этого рандомного числа в запросе POST и соответствие его числу, сохраненному в сессию
В итоге получится, что только по нажатию на кнопку "Выполнить" произойдет обработка данных, при перезагрузке страницы и отправке повторно данных обработчик не сработает.
Благодарности сюда:
ЮМани 41001909383013
Payeer P8706145
К примеру имеем форму
HTML:
<form action="" method="post">
<input type="text" name="amount">
<input type="submit" name="go" value="Выполнить">
</form>
PHP:
if(isset($_POST['amount'])){
//тут обработка
}
1. Перед формой добавить генерацию рандомного числа и сохранение его в сессию
PHP:
$_SESSION['hash'] = rand(1, 9999999);
HTML:
<form action="" method="post">
<input type="text" name="amount">
<input type="hidden" name="hash" value="<?=$_SESSION['hash']; ?>" />
<input type="submit" name="go" value="Выполнить">
</form>
PHP:
if(isset($_POST['amount'], $_POST['hash']) AND $_SESSION['hash'] == $_POST['hash']){
//тут обработка
}
Благодарности сюда:
ЮМани 41001909383013
Payeer P8706145