Игорь Грицишин
519 сообщений
#16 лет назад
Есть такая вот задача – отловить предыдущий сайт который посетил пользователь. Отловить его вместе с параметрами адресной строки
те по простому, выловить предыдущую адресную строку. как пример:
Я посетил сайт sajt1.ru/?action=login дальше перешл на sajt2.ru
Вот это самое sajt1.ru/?action=login мне и надо отловить. Есть только одно условие, страницы находятся на разных серваках и доменах.
Я думал, что мне поможет $_SERVER Оданко он что-то ведет себя скорее как PHP_SELF те вместо предідущей страниці відает мне адрес скрипта... В чем я ошибся?
Юрий Осадчий
661 сообщение
#16 лет назад
$_SERVER возвращает страницу с которой вы попали на текущую.
Сергей Д.
326 сообщений
#16 лет назад
$_SERVER покажет ссылку по которой пришли на сайт sajt2.ru.
Т.е., если бы на странице sajt1.ru/?action=login была ссылка на sajt2.ru, и был переход именно по этой ссылке, то в $_SERVER будет "sajt1.ru/?action=login".
Если же адрес просто набрали в адресной строке, то $_SERVER будет пустой.

Вашу задачу средствами на стороне сервера в общем случае не решить. Можно попробовать использовать js, DOM, объект history. Например, при посещении sajt2.ru, пользователь получает javascript-код, который смотрит history и отсылает нужные данные. Я тут точно не знаю, позволит-ли политика безопасности такую операцию для js для другого домена, я не пробовал...
Антон Сердюк
120 сообщений
#16 лет назад
Цитата:
Оданко он что-то ведет себя скорее как PHP_SELF те вместо предідущей страниці відает мне адрес скрипта...

Редиректов нету в вашем скрипте случаем?
Николай М.
1895 сообщений
#16 лет назад
Пробуйте без mod_rewrite, тоже была такая проблема, только я в этом плохо разбираюсь могу и ошибаться
Дмитрий Войциховский
2128 сообщений
#16 лет назад
Очень часто надо узнать пришел ли человек из какого-либо "своего" сайта или баннера - суть кроме всего прочего передаем и какой-либо код (который для каждого "своего" сайта индивидуален) да и все.
Сергей Д.
326 сообщений
#16 лет назад
Человек спрашивал не про то как узнать, с какого сайта ПЕРЕШЁЛ посетитель. Это без труда отлавливается $_SERVER
Он спрашивал про "отлов" предыдущего сайта, который ПОСЕТИЛ пользователь.
Имя Ф.
79 сообщений
#16 лет назад
>Человек спрашивал не про то как узнать, с какого сайта ПЕРЕШЁЛ посетитель. Это без труда отлавливается $_SERVER
Он спрашивал про "отлов" предыдущего сайта, который ПОСЕТИЛ пользователь.
А что мешает на точках входа вешать
>$_SERVER
Cтавить флаг что действие поймано.
И дальше уже брать из сесси это значение?
Сергей Д.
326 сообщений
#16 лет назад
Да при чём тут $_SERVER???
Мы по разному понимаем задачу наверное...
Давайте на примерах.

1. Про реферер.
Посетитель запросил url:
Получил страничку. На этой страничке есть ссылка .
Если посетитель кликнет по этой ссылке, то админ сайта domain2.zone получит хит, где будет $_SERVER = "http://domain1.zone"
Но если посетитель не кликнет по этой ссылке, а просто наберёт в адресной строке "domain2.zone", то админ сайта domain2.zone получит хит, где будет пустой $_SERVER.

2. Про задачу (как её понял я)
Посетитель запросил url: .
Получил страничку, где ссылки на domain2.zone может не быть вообще.
Потом посетитель запросил . Админ сайта domain2.zone хочет узнать, где до этого хита был пользователь. Как я понял автора вопроса особо интересуют параметры запроса, правильно?
Автор вопроса, отзовись: я правильно понял задачу?
Если да, то реферер тут ну совсем ни при чём.
Я советую поискать решение с помощью js, конкретно с объектом history
Игорь Грицишин
519 сообщений
#16 лет назад
oren, да, Вы всё поняли абсолютно верно
Александр В.
276 сообщений
#16 лет назад
Весело..... надеюсь разработчики браузеров не позволяют реализовать сию задачу
даже интересно стало... надо будет попробовать