ďťż

[PHP]Sprawdzenie czy przyszedł z zewnątrz

       

Podstrony


telcocafe

Witam.
Potrzebuję sprawdzić, czy ktoś przyszedł "spoza" wortalu, ( ofc potrzebuje tego do statystyk ;p ). Wiem, że wszystko czego potrzebuję jest w tablicy $_SERVER, ale nie wiem jak to ugryźć :/

PS. Czym się różni zmienna $_SERVER['SERVER_NAME'] od $_SERVER['HTTP_HOST']? u mnie na lokalnym servie obie pokazują 127.0.0.1, wiec różnicy nie widzę ;p



print_r($_SERVER);
Wybierz sobie co potrzebujesz. Strona odsyłająca to HTTP_REFERER.
Użytkownik kiperoman edytował ten post 15 październik 2007, 16:25
heh...
A może ma ktoś jakiś konkretny pomysł?? Wiem, że można to zrobić mniej-więcej tak:
if( eregi( "^http://dokladny.adres.pl", $_SERVER['HTTP_REFERER'] ) ){}Chciałbym jednak, aby skrypt działał na 100%, gdziekolwiek się go wrzuci, bez zbędnych modyfikacji, a tutaj nowy adres = modyfikacja kodu
Użytkownik strefamroku edytował ten post 15 październik 2007, 14:56
To może coś takiego?
if( strpos($_SERVER['HTTP_REFERER'],$_SERVER['HTTP_HOST']) !==false ){}



Niestety nie sprawdza się :/ wszystko działa dopóki nie umieszczę strony w jakimś katalogu na serverze, bądź też adres wygląda np tak:
http://jakis_adres.pl/~name/
a tak wyglada w krasnalu :P i nie bedzie wyłapywal przejść pomiędzy stronami na danym serwerze...

twoj kod:
if( eregi( "^".$_SERVER['HTTP_HOST'], $_SERVER['HTTP_REFERER'] ) ){}

Dzięki.
Wszystko już działa. Teraz wyskrobałem coś takiego do obrabiania adresow, z których ludzie przychodzą.
Działa to tak, że podaje się adres z którego przyszła dana osoba, a f-cja zwraca tablicę słów kluczowych, jakie zostały podane w wyszukiwarce.
function stat_slowa( $adres ) { $tablica_znakow = array( 'q', 'query', 'szukaj', 'search', 'as_q', 'wpis', 'qt', 'wyr', 'begriff', 'ask', 'qry', 'p', 'keyword', 'su', 'text' ); $slowa = array(); $adres = parse_url( $adres ); parse_str( $adres['query'], $adres ); foreach( $tablica_znakow as $znak ) { if( array_key_exists( $znak, $adres ) ) { $slowa = explode( ' ', $adres[$znak] ); break; } } return $slowa; }
Niby działa, ale mam dziwne wrażenie, że mój łopatologiczny sposób da się zastąpić czymś szybszym :P

A nie lepiej utworzyć ciastko ? W ten sposób możesz przy okazji załatwić np. autologowanie.

np: Przy rejestracji dajesz: setcookie("Stat", 1, time()+3600*24*365);
A przy wyliczaniu statystki
if (isset($_COOKIE['Stat']) == false) { $counter++; }
Użytkownik qbejs edytował ten post 22 październik 2007, 18:37

A nie lepiej utworzyć ciastko ?(...)
Hmm.. no cóż... niezupełnie o to mi chodziło :P Ten kod to jest funkcja, która analizuje adres pobrany ze zmiennej $_SERVER['HTTP_REFERER'] i zwraca słowa kluczowe, jakich użyła dana osoba do wyszukania ( ofc. o ile skierowała ją tu wyszukiwarka )mojej strony w jednej z popularnych wyszukiwarek. ( dzięki temu wiem, jakich słów ludzie szukają przychodząc na moją stronę )

a swoją drogą - pomysł z COOKIE całkiem niezły :D
Użytkownik strefamroku edytował ten post 22 październik 2007, 15:55
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.