вместо
login.php?ref=http://mysite.com/lastpage
я мог бы получить перед страницей как-нибудь еще? попробовал HTTP_REFERER, но не мог заставить его работать
Notice: Undefined index: HTTP_REFERER in C:\test\login.php on line 18
// Новичок
HTTP_REFERER не всегда установлен, поэтому вы получаете уведомление. Браузер может отказаться от отправки или пользователь может ввести URL прямо в свой браузер. Вы можете поместить это значение в сеанс , который имеет другие недостатки (например, в нескольких вкладках в браузере есть одна и та же страница реферера). Я думаю, что URL-адрес по-прежнему является лучшим способом, если у вас нет формы, к которому вы можете добавить скрытое поле.
РЕДАКТИРОВАТЬ. Между прочим: не используйте URL-адрес в параметре get вслепую, что другие могут быть подделаны другими, как объяснено в ответах на этот другой вопрос .
HTTP_REFERER
(и почти каждый другой $ _SERVER var) не являются надежным средством получения предыдущих страниц, поскольку их можно легко подделать.
Установка переменной сеанса может быть немного более безопасной, но не будет работать, если они поступают из внешнего URL-адреса. Афайк не является безупречным способом достижения этого.
Используйте $ _SERVER ['HTTP_REFERER'] следующим образом:
$ Исх = $ _ SERVER [ 'HTTP_REFERER']