2012-07-04 2 views
7

Muszę wiedzieć, czy osoba, która przychodzi na moją stronę, przeszła z innej witryny. Przykład:Pobierz ostatnio odwiedzoną stronę

  • Użytkownik Odwiedza witrynę www.youtube.com/myvideo i klika łącze do mojej witryny.
  • Użytkownik B odwiedza google, przeszukuje moją stronę i klika łącze.

Wyniki wiadomość na mojej stronie:

  • użytkownikowi: Welcome! You already know how it works, register now!
  • Użytkownik B: Welcome! Please watch our video first at www.youtube.com/myvideo

Moje pytanie brzmi:

  1. Czy to możliwe, aby wiedzieć ostatni adres URL odwiedzony przez użytkownika przed wejściem na moją stronę?
    Już próbowałem $_SERVER['HTTP_REFERER'] z PHP, ale nie działa poprawnie i czytałem, że nie działa we wszystkich przeglądarkach.
  2. Czy istnieje jakikolwiek język lub skrypt php, aby uzyskać ten adres URL, działający poprawnie we wszystkich przeglądarkach?
+0

The referer to jedyny sposób, aby to zrobić i jest całkiem niezawodny. Jak to nie działa, co otrzymujesz? –

+0

Jak wspomniała @Pekka, referer jest całkiem niezawodny, jest obsługiwany przez wszystkie przeglądarki afaik. –

+0

jeśli kontrolujesz link używany przez youtube, możesz dodać śledzenie do niego –

Odpowiedz

14

Nagłówek odsyłacza HTTP jest jedynym sposobem. To są dane, które otrzymujesz w PHP za pośrednictwem $_SERVER['HTTP_REFERER'].

Pamiętaj, że ten nagłówek będzie działał w większości przypadków. Należy również pamiętać, że można go łatwo sfałszować.

+0

Wiem, ale to nie jest problem ... Dziękuję i tak. Po prostu chciałem uzyskać opinię, jeśli było to możliwe za pomocą innej metody. –

2

Dlaczego nie dodać zmienną GET do linku na YouTube - www.yoursite.com/?referrer=youtube

dyskrecji i wyglądu można przepisać URL do czegoś jak www.yoursite.com/youtube

+3

To się nazywa parametr (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>'; 
}?>