Всем добра!
Заметил часто пишут/спрашивают, как победить обновление страницы (F5) после какого либо действия (обмен серебра, покупка, продажа и т.д.)
Поэтому делюсь
Модуль запрета обновления страницы (F5)Работает так. Есть форма нажали отправить - отправилось. При нажатии на обновить или F5 на клавиатуре получим сообщение об ошибке (типо Ошибка! Вы использовали F5) и код НЕ выполнится. Можно еще добавить редирект на страницу.
Ну и сам код:
<?php
if (isset($_POST['go'])) {
if(isset($_SESSION["add_form"]) AND $_SESSION["add_form"] == $_POST["add_form"]){
unset($_SESSION["add_form"]);
// Здесь ваш код обработки форм
echo "Успешно!Вы нажали отпрвить: ".$_POST['text'];
}else echo "Ошибка! Вы использовали F5";
}
?>
<form method="POST" action="">
<?php $_SESSION["add_form"] = rand(1,1000); ?>
<input type="hidden" name="add_form" value="<?=$_SESSION["add_form"]; ?>" />
<input type="text" name="text" maxlength="50" placeholder="" required>
[br /][br /]
<input type="submit" name="go" value="Отправить">
</form>
Все!
P.S. Жмите
+ в репу и/или
Спасибку!