Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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
2-1156931290
!aLeXa!
2006-08-30 13:48
2006.09.17
Как рисовать оружность на Canvas?


15-1156421072
Percent
2006-08-24 16:04
2006.09.17
TAPI 3.0


15-1156777577
Kerk
2006-08-28 19:06
2006.09.17
Мир


2-1156944150
alles
2006-08-30 17:22
2006.09.17
Как правильно вызывать функцию из ДЛЛ?


2-1156406173
ceval
2006-08-24 11:56
2006.09.17
Подскажите как написать процедуру





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский