Автор Тема: функция referer()  (Прочитано 10837 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Forza

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 288
  • +0/-0
  • 0
    • Просмотр профиля
функция referer()
« : 18 Сентября 2004, 16:20:04 »
Есть в Перле функция referer(), которая возвращает URL, с которого был осуществлён переход на текущую страницу.
В результате экспериметов было выяснено, что она вернёт этот URL только в том случае, если переход был осуществлён с помощью нажатия юзером на гиперссылку. То есть если URL-адрес ввести вручную в строке броузера "адрес" или сделать переход с помощью функции JavaScript (location.search = \'?choice=someChoice;param=someParam\'), то функция referer() не возвращает ничего. :(
Это как-нибудь поправимо? Меня интересует вариант с переходом через ДжаваСкрипт.

Да, конечно, существует ряд вариантов обхода данной проблемы, но интересно, разрешима ли она напрямую, раз уж я столкнулся с ней. ;)
« Последнее редактирование: 18 Сентября 2004, 16:33:35 от Forza »

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
функция referer()
« Ответ #1 : 18 Сентября 2004, 17:02:58 »
проблема реферера к перлу не имеет никакого отношения
Использовать реферер для любых целей, кроме справочных - бессмысленно.

Оффлайн Forza

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 288
  • +0/-0
  • 0
    • Просмотр профиля
функция referer()
« Ответ #2 : 18 Сентября 2004, 17:51:46 »
Цитировать
RomikChef:
Использовать реферер для любых целей, кроме справочных - бессмысленно.


Ок. Просто я "взял" его из книги Дюбуа про MySQL+Perl. Там после добавления товара в корзину вызывалось print redirect (referer()) для вывода той же страницы, откуда товар был добавлен.

А как лучше реализовать нижеследующее:
Есть форма авторизации с ссылкой "я забыл пароль". Если чел его забыл, то он в форме заполняет поле "логин" и жмёт "я забыл пароль".
JS-функция func1() проверяет непустоту поля "логин", если пустое - выводит сразу же сообщение на этой же странице, если непустое - отсылает запрос на сервер.
Сервер, если логин существует, выводит новую страницу "вам на е-мэйл был отправлен пароль", а если логин не существует - на этой же странице (а она м.б. любой - корзиной, каталогом, результатом поиска и т.д.) должен вывести сообщение "указан несуществующий логин". [OFF]Всё вышеописанное обсуждать не надо, т.к. придумал не я, и так оно должно и остаться.[/OFF]

Вижу 2 варианта:
1) Используем