Форум: "Прочее";
Текущий архив: 2006.09.17;
Скачать: [xml.tar.bz2];
Внизurl Найти похожие ветки
← →
rusPHP (2006-08-29 16:39) [0]Привет всем.
Скажите пожайлуста, как с в php узнать url страницы, с которой пришел посетитель?
← →
Idiot (2006-08-29 16:44) [1]$HTTP_SERVER_VARS
← →
DVM © (2006-08-29 16:47) [2]В общем случае никак нельзя узнать. Если браузер клиента эту информацию не передаст.
Ну сам подумай, откуда серверу знать на какой странице и сколько ты ошивался прежде чем обратился к скрипты?
← →
Idiot (2006-08-29 16:53) [3]$var_1=getenv($SERVER_NAME);
$var_2=getenv($REQUEST_URI);
$var=var_1.var_2;
← →
DVM © (2006-08-29 16:55) [4]
> Idiot (29.08.06 16:53) [3]
Это будет адрес с которого вызван скрипт, но никак не адрес страницы "С КОТОРОЙ ПРИШЕЛ" посетитель.
← →
rusPHP (2006-08-29 17:13) [5]подождите....
> адрес с которого вызван скрипт
и
> адрес страницы "С КОТОРОЙ ПРИШЕЛ" посетитель.
Какая разница?
← →
DVM © (2006-08-29 17:19) [6]
> Какая разница?
Допустим, некто смотрел в браузере страницу www.ru, а потом пошел на http://www.host.ru/myscript.php. Скрипт в общем случае не сможет выяснить, с какой страницы пришел посетитель (т.е. о www.ru он не узнает).
Эта информация может быть и подделана.
Если же мы обращаемся к странице http://www.host.ru/myscript.htm, а в коде этой страницы вызывается через какой-нибудь include наш замечательный скрипт, то сервер естесственно знает какую страницу запросил пользователь.
← →
DVM © (2006-08-29 17:21) [7]Отличить скрипт вызывался с нашего сервера или с чужого можно через @$_SERVER["HTTP_REFERER"]
← →
rusPHP (2006-08-29 17:25) [8]
> Если же мы обращаемся к странице http://www.host.ru/myscript.
> htm, а в коде этой страницы вызывается через какой-нибудь
> include наш замечательный скрипт, то сервер естесственно
> знает какую страницу запросил пользователь.
а если в пределах моего сайта? т.е на одной странице есть форма ввода текста и в action прописана страница со скриптом, в этом случае может скрипт узнать адрес?
← →
DVM © (2006-08-29 17:28) [9]
> в этом случае может скрипт узнать адрес?
да
← →
palva © (2006-08-29 18:29) [10]Но можно написать программу на делфи, которая передаст скрипту любой нужный адрес и получит результат работы скрипта.
← →
homm © (2006-08-29 21:56) [11]Используй механизм сесиий. Сохраняь на каждой страници в переменную сесии адресс этой самой страници.
← →
_dimka © (2006-08-30 00:00) [12]
> Используй механизм сесиий. Сохраняь на каждой страници в
> переменную сесии адресс этой самой страници.
Ужос, зачкм такое извращение?
и вобще если пришли не с его страницы?
ведь $_SERVER["HTTP_REFERER"] - это и есть откуда пришли...
← →
homm © (2006-08-30 00:25) [13]
> и вобще если пришли не с его страницы?
[8] rusPHP (29.08.06 17:25)
> а если в пределах моего сайта? т.е на одной странице есть
> форма ввода текста и в action прописана страница со скриптом,
> в этом случае может скрипт узнать адрес?
> ведь $_SERVER["HTTP_REFERER"] - это и есть откуда пришли...
Не всегда. Это как драузер (программа посылающая запрос) решит.
← →
homm © (2006-08-30 00:27) [14]
> Не всегда. Это как браузер (программа посылающая запрос)
> решит.
← →
McSimm © (2006-08-30 01:58) [15]> а если в пределах моего сайта? т.е на одной странице есть
> форма ввода текста и в action прописана страница со скриптом,
> в этом случае может скрипт узнать адрес?
Лучший вариант решения - передавать эту информацию с помощью полей этой формы. Можно, как уже предлагали, с помощью сессии.
HTTP_REFERER во многих случаях будет пустым, а может быть и подделан.
← →
homm © (2006-08-30 07:27) [16]
> Лучший вариант решения - передавать эту информацию с помощью
> полей этой формы
А что, эту информацию нельзя подделать? :) Ну придет запрос с одним из полей, указывающих что пользователь такой-то страници... А где гарантия, что пользователь то пришел с этой старници? :)
← →
tButton © (2006-08-30 07:32) [17]а где гарантия, что он вообще пришёл?
имхо, сабж безсмысленный
← →
homm © (2006-08-30 08:19) [18]
> а где гарантия, что он вообще пришёл?
Дак в том и смысл, что при использовании сессий, мы сами регистрируем посещение "предидущей" страници, и при посещении слодующей уже можем уверенно сказать, был он на ней, и на какой именно :)
← →
McSimm © (2006-08-30 11:14) [19]> А что, эту информацию нельзя подделать? :) Ну придет запрос
> с одним из полей,
Если беспокоиться о подделке, то решается это немного другими методами. Но на практике эта информация не критична к подделыванию, важнее чтобы она была адекватной. Это лучыше всего решается информацией в форме. Сессией тоже можно, но немного хуже, т.к. могут возникать проблемы при работе с несколькими страницами.
← →
rusPHP (2006-08-30 12:43) [20]
> имхо, сабж безсмысленный
может я действительно неправильно сформулировал вопрос. Вобщем мне нужно, чтобы после ввода информации на странице вывелась ссылка <назад>...
← →
DVM © (2006-08-30 12:47) [21]
> Вобщем мне нужно, чтобы после ввода информации на странице
> вывелась ссылка <назад>...
А зачем? Может после ввода автоматически перекидывать юзера на нужную страницу?
← →
rusPHP (2006-08-30 12:52) [22]
> А зачем? Может после ввода автоматически перекидывать юзера
> на нужную страницу?
на какую? если б это была index.php, то нет проблем. а так страницы генерируются в зависимости от раздела сайта, а как мне узнать какая она, если это что-то типа vw.php?ft=<бла-бла>.....
← →
Плохиш © (2006-08-30 12:52) [23]
> rusPHP (30.08.06 12:43) [20]
<A href="javascript:history.back();">
← →
rusPHP (2006-08-30 13:07) [24]
> <A href="javascript:history.back();">
да то что нужно, только не совсем. я действительно неправильно выразился
Допустим я на странице а. на ней ссылка на страницу b, которая уже в свою очетредь переводит нас к скрипту на странице с, который помимо своих непосредственных функция и должен нас вернуть на страницу а.
← →
rusPHP (2006-08-30 13:07) [25]а все понял...<A href="javascript:history.back();"> я вставляю в скрытую форму на странице b и передаю с. все..
← →
Gero © (2006-08-30 17:06) [26]> [25] rusPHP (30.08.06 13:07)
Зачем?
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2006.09.17;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.077 c