2009-07-31 5 views
7

Używam Google Analytics na mojej stronie i chcę przeczytać plik cookie __umtz, aby uzyskać odnośnik. Zrobiłem trochę badań i napisałem taki kod:Parsowanie pliku cookie śledzenia __utmz, aby uzyskać skierowanie

$refer=explode('utmcsr=',$_COOKIE['__utmz']); 
if(count($refer)>1) $refer=explode('|',$refer[1]); 
$refer=addslashes($refer[0]); 

Problem polega na tym, że nie zawsze działa, czasami dostaję śmieci w wyniku. Co robię źle? Może ktoś ma dobry opis tego pliku cookie?

+0

Dlaczego po prostu nie używać document.referrer bezpośrednio? – bdonlan

+0

Co masz na myśli przez "śmieci"? Czy możesz podać przykład? –

Odpowiedz

4

Możesz użyć $ _SERVER ['HTTP_REFERER'], aby otrzymać Referer.

Ogółem używanie ciasteczek innych osób w celu pobierania danych jest złym pomysłem, chyba że dokładnie wiesz, jak one działają, kiedy je aktualizują lub używasz udostępnionego przez nich interfejsu API.

Powiedzmy, że Google postanawia zmienić ciasteczko w całości, aby informacja Referera nie była dostępna w pliku cookie, system ulegnie awarii. Najlepiej jest pobierać dane bezpośrednio z własnych źródeł, a nie z danych innych osób.

+1

Po prostu nie chcę robić ponownie tego samego, co Google. :) – Thinker

+0

To jest pretekst, aby nie robić czegoś we właściwy sposób. Kiedy używasz wymówek, aby usprawiedliwić złe programowanie, coś pójdzie nie tak, jak to odkrywasz. –

+0

Istnieje powód, dla którego ludzie używają interfejsów API do pobierania danych. Ponieważ są niezawodne i działają poprawnie w 99% przypadków. –

8

Sprawdź mój Google Analytics Cookie Parser.

Google Analytics PHP Cookie Parser to klasa PHP, której możesz użyć do uzyskania danych z plików cookie GA, takich jak kampania, źródło, medium itp. Możesz użyć tego parsera, aby uzyskać te dane na swoich formularzach kontaktowych lub CRM.

Zaktualizowany do wersji 1.2 z niewielkimi poprawkami i dodatkowymi informacjami, liczbą stron wyświetlanych podczas bieżącej wizyty.

+0

Świetny kod. Dzięki Joao. – Stuart

Powiązane problemy