2011-12-17 4 views
0

В моем приложении у меня есть несколько форм, к которым можно получить доступ из разных URL-адресов приложения. Каждая форма имеет кнопку отмены, которая должна возвращать пользователя из URL-адреса, из которого они ранее поступали.PHP постоянный референт

Таким образом, это довольно легко достичь с помощью $ _SERVER ['HTTP_REFERER'].

Проблема возникает, когда пользователь отправляет форму и не выполняет проверку. Итак, в этот момент $ _SERVER ['HTTP_REFERER'] является самой формой. Очевидно, что кнопка отмены не работает должным образом, так как исходный референт теперь «потерян».

Каков наилучший способ обойти это? Должен ли я хранить исходный референт в сеансе или, возможно, через скрытое поле формы? Или, может быть, есть еще один элегантный метод?

+0

Как работает кнопка отмены в настоящий момент? Javascript, отправка формы и т. Д.> – DaveRandom

+0

Просто простая гиперссылка в большинстве случаев – JonoB

ответ

1

Вы не должны использовать реферер для этого, используйте другой метод. Возможно, установите некоторую переменную сеанса самостоятельно с помощью «последней посещенной страницы» или используйте скрытое поле для сохранения обратного URL-адреса страницы.

1

Лучший метод, который всегда гарантирует, что пользователь вернется в одно и то же место, несмотря на то, что несколько вкладок/окон будут передаваться обратным URL как параметр GET.

0

Вы можете сохранить его как печенье довольно легко http://php.net/manual/en/function.setcookie.php

Использование URL-адрес кодирования и передачи его в строку запроса или после данных в другую сторону, но тогда вы должны следить за ним.

Смежные вопросы