Главная страница
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
Время: 0.035 c
1-1154956698
Dexter12345
2006-08-07 17:18
2006.09.17
Поиск компонента


3-1152608174
ASBir
2006-07-11 12:56
2006.09.17
Обработка ошибок возвращаемых СУБД Oracle


2-1156955753
zxcv
2006-08-30 20:35
2006.09.17
как узнать имя активного окна


15-1156183703
Layner
2006-08-21 22:08
2006.09.17
Сканер штрихкода не читает мои штрихкоды..


2-1156596558
angelika
2006-08-26 16:49
2006.09.17
горячие клавиши (ctrl+key)