Как обрабатывать кнопку браузера "Назад" для динамического контента

Я пишу приложение PHP, которое предоставляет людям форму для заполнения и отправки.

После того, как пользователь отправит форму, в базе данных что-то изменится, и форма станет недоступной для пользователя.

Однако, если пользователь нажмет кнопку «Назад» после отправки формы, он сможет увидеть ее снова. У меня есть код в задней части, чтобы пользователь не мог повторно отправить уже отправленную форму, однако в идеале, если пользователь нажимает кнопку возврата, он получит такое же сообщение, как если бы он просто перешел к нему напрямую: На экране отображается сообщение о том, что эта форма уже была отправлена ​​и теперь недоступна.

Помимо вызова AJAX в серверную часть, чтобы проверить, была ли форма уже отправлена, и перенаправить пользователя на сообщение «форма отправлена ​​и теперь недоступна», есть ли другой (лучший?) Способ справиться с этим?

Поскольку он будет использоваться только внутри SOE, мне он нужен только для работы в IE8 +.


person Ozzah    schedule 04.08.2011    source источник


Ответы (1)


Вы можете рассмотреть возможность добавления этой информации в сеанс / файл cookie. В качестве альтернативы, если у вас есть система аутентификации, вы можете сохранить эту информацию в базе данных. Наверное, первый вариант проще и достаточен.

поэтому в основном перед отображением формы вы проверяете, является ли уже отправленный файл cookie 1. Если да - сообщение об ошибке, в противном случае - форма. Когда вы отправляете форму, просто установите для этого файла cookie значение уже отправлено.

Однако имейте в виду, что если кто-то удалит cookie, он сможет обмануть вашу систему.

person mkk    schedule 04.08.2011