Redirect не работает в IE - PullRequest
       6

Redirect не работает в IE

0 голосов
/ 20 сентября 2010

Я создал приложение CakePHP, которое требует, чтобы пользователь вошел в систему или зарегистрировался (для новых пользователей), когда он пытается загрузить файл.И я использую javascript для перенаправления пользователей на страницу входа, и как только они входят, я хочу, чтобы пользователи возвращались на страницу загрузки, на которой они находились.

Я использую

$this->redirect($this->referer());

, отлично работаетхром и фф.В IE это не работает.Он перенаправляет пользователя обратно на домашнюю страницу.document.referrer пуст.

Я понимаю, что в IE этот document.referrer заполняется только тогда, когда пользователь нажимает на ссылку.

Есть ли обходной путь или хак, чтобы это исправить (javascript или php).Я ценю любую помощь.

Спасибо.

Ответы [ 2 ]

1 голос
/ 20 сентября 2010

Referer - это совершенно необязательный элемент заголовка HTTP. Многие прокси и брандмауэры устраняют это. Не рекомендуется строить какую-либо логику на нем. Если вам нужно перенаправить на предыдущую страницу, вам нужно явно сохранить эту информацию, например, как переменную сеанса.

0 голосов
/ 20 сентября 2010

Я не знаю, применимо ли это к вам, но большинство версий IE также имеют давнюю проблему при использовании диалога подтверждения. Как говорит Сибидиба, реферер ненадежен - я бы передал URL страницы загрузки в качестве параметра строки запроса в вашем javascript-редиректе для входа в систему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...