Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.09.17;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 7.132 c
3-1152441439
Lezha
2006-07-09 14:37
2006.09.17
Ошибка при выполнении нескольких запросов через dbExpress


1-1154425076
DevilDevil
2006-08-01 13:37
2006.09.17
Ширина Excel столбца в пикселях


4-1147969783
Handle
2006-05-18 20:29
2006.09.17
CreateToolHelp32SnapShot


15-1156855197
rusPHP
2006-08-29 16:39
2006.09.17
url


8-1141571691
Sco
2006-03-05 18:14
2006.09.17
Взрыв