2012-07-04 1 views
7

Мне нужно знать, прошел ли человек, который приходит на мой сайт, с другого конкретного сайта. Пример: посещенияПрошла последняя страница

  • пользователя A www.youtube.com/myvideo и нажимает на ссылку на мой сайт.
  • Пользователь B посещает Google, просматривает мой сайт и щелкает по ссылке.

Результаты сообщений на моей странице:

  • Пользователь A: Welcome! You already know how it works, register now!
  • Пользователь B: Welcome! Please watch our video first at www.youtube.com/myvideo

Мой вопрос:

  1. Можно ли знать последний URL-адрес, который пользователь посетил, прежде чем вводить мою страницу?
    Я уже пробовал $_SERVER['HTTP_REFERER'] с PHP, но он работает неправильно, и я читал, что он не работает во всех браузерах.
  2. Есть ли какой-либо язык или php-скрипт для получения этого URL-адреса, правильно работающего на всех браузерах?
+0

Референс - единственный способ сделать это, и он довольно надежный. Как это не работает для вас, что вы получаете? –

+0

Как отметил @Pekka, референт довольно надежный, он поддерживается всеми браузерами afaik. –

+0

если вы контролируете ссылку, используемую youtube, вы можете добавить отслеживание к ней –

ответ

14

Заголовок HTTP-ссылки является единственным способом. Это данные, которые даны вам на PHP через $_SERVER['HTTP_REFERER'].

Обратите внимание, что этот заголовок будет работать в большинстве случаев. Также обратите внимание, что его можно легко подделать.

+0

Я знаю это, но это не проблема ... Спасибо вам. Просто хотелось мнения, если было возможно с помощью другого метода. –

2

Почему бы не добавить переменную GET по ссылке на YouTube - www.yoursite.com/?referrer=youtube

По усмотрению и внешний вид можно переписать URL на что-то вроде www.yoursite.com/youtube

+3

Он называется параметром (GET). – Gant

0
<?php 
    if (strpos($_SERVER['HTTP_REFERER'],'youtube') !== false){ 
     echo 'Welcome! You already know how it works, <a href="/register">register now!</a>'; 
    } else { 
     echo 'Welcome! Please watch our video first at <a href="www.youtube.com/myvideo">www.youtube.com/myvideo</a>'; 
}?>