GET / POST без истории браузера

У меня есть приложение для планирования смены PHP, где поток выглядит следующим образом: Страница приветствия> Страница списка расписаний> Страница фактического расписания

На странице «Фактическое расписание» пользователи могут делать такие вещи (как добавить смену, удалить смену, запросить смену), которые все отправляют обратно на одну и ту же страницу фактического расписания. То, что я хочу, это когда они нажимают на различные «вещи», «вещи» не добавляются в историю браузера. Поэтому, если они нажмут кнопку «Назад» браузера, они просто перейдут на страницу «Список расписаний».

Проблема, с которой я сталкиваюсь, заключается в том, что вы можете добавить смещение A, затем добавить смещение B, затем щелкнуть назад, и вы снова пытаетесь добавить смещение A.

Как этого обычно избегают? Что я могу сделать?

0

Решение

Post / Redirect / Get:
http://en.wikipedia.org/wiki/Post/Redirect/Get

Другой (старый стиль) вариант:
$_POST данные в файл, к которому пользователи не обращаются, например post_processing.php.
В этом сценарии обработайте обработку их запросов, внесите необходимые изменения, а затем перенаправьте заголовок обратно на страницу расписаний.

Очевидно, правильно обращаться с кем-либо пытаясь доступ к этому файлу напрямую и т. д.

1

Другие решения

Просто верните 302 перенаправить из обработчика POST на страницу вместо ее рендеринга.

2