PHP - Как избежать повторной отправки формы (POST запрос при нажатии F5)
Primary tabs
Общая идея состоит в том, чтобы:
- Проверить пришёл ли POST запрос, если да:
- - то обработать пришедшие данные
- Записать данные отчёта об обработке (если таковые есть), которые надо вывести на странице (например "об успешности сохранения сообщения") в какое-либо иное хранилище (например в сессию - часто тут удобно использовать механизм одноразового чтения таких данных)
- Отредиректить страницу на тот же адрес
- Если же запроса нет (после редиректа его, кстати, не будет):
- Проверяем сессию (или ваше хранилище) - если там есть уведомление о последнем обработанном запросе, то выведем это сообщение.
- Нажмите F5 - браузер уже не спросит о повторной отправке =)
- Log in to post comments
- 3696 reads