У меня есть приложение для планирования смены PHP, где поток выглядит следующим образом: Страница приветствия> Страница списка расписаний> Страница фактического расписания
На странице «Фактическое расписание» пользователи могут делать такие вещи (как добавить смену, удалить смену, запросить смену), которые все отправляют обратно на одну и ту же страницу фактического расписания. То, что я хочу, это когда они нажимают на различные «вещи», «вещи» не добавляются в историю браузера. Поэтому, если они нажмут кнопку «Назад» браузера, они просто перейдут на страницу «Список расписаний».
Проблема, с которой я сталкиваюсь, заключается в том, что вы можете добавить смещение A, затем добавить смещение B, затем щелкнуть назад, и вы снова пытаетесь добавить смещение A.
Как этого обычно избегают? Что я могу сделать?
Post / Redirect / Get:
http://en.wikipedia.org/wiki/Post/Redirect/Get
Другой (старый стиль) вариант:
$_POST
данные в файл, к которому пользователи не обращаются, например post_processing.php.
В этом сценарии обработайте обработку их запросов, внесите необходимые изменения, а затем перенаправьте заголовок обратно на страницу расписаний.
Очевидно, правильно обращаться с кем-либо пытаясь доступ к этому файлу напрямую и т. д.
Просто верните 302
перенаправить из обработчика POST на страницу вместо ее рендеринга.