HTTP_Referer

P

P_F

Hey, um rauszufinden, wo meine seitenbesucher herkommen, möchte ich den http-referer nutzen. Jeder referer soll eine zeile in der datenbank bekommen.
Wie ich das in die datenbank schreibe wieß ich, ich frage mich nur ob ich nun einfach auf jeder seite am anfang des skriptes den referer in die db schreibe.
Wie baut man son skript auf?
 
Willst du dir diese Arbeit wirklich antun?... dein Webspace dürfte doch sicher auch eine Statistik beinhalten, welche dir diese Info liefert.
 
Du könntest so etwas in der Art verwenden:
PHP:
$referer = $_SERVER['HTTP_REFERER'];
if (!empty($referer) && !eregi("eigene_domain1",$referer) && !eregi("eigene_domain2",$referer)
{  		
   $referer = parse_url($referer);
   if (empty($referer['query'])) $seite= $referer['path'];
   else $seite = $referer['path']."?".$referer['query'];
   if (mysql_numrows(safe_query("SELECT * FROM referer WHERE domain='$referer[host]' AND url='$seite'"))==0)
{ 			
   safe_query("INSERT INTO referer SET domain='$referer[host]', url='$seite', hits='1'");  
}  		
else   		
{  			
   safe_query("UPDATE referer SET hits=hits + 1 WHERE domain='$referer[host]' AND url='$seite'");  		
}  	
}

Unter "eigene_domain" kannst du deine Domains eintragen, diese sollen wahrscheinlich nicht geloggt werden. Das ganze dann am Anfang jeder Seite aufgerufen und schon hast du deine Referer in der Datenbank..
 
genau das habe ich gesucht, perfekt, danke ... und zu dem kollegen: "willst du dir diese arbeit wirklich antun ..." -> man lernt nie aus !

Cya
 
Lernen ist die eine Sache.... Praxis die andere.
In der Praxis vermeidet man es idR, den Server mit 2 DB-Querys zu belasten, welche etwas tun, was der Server ohnehin schon tut....den Referer loggen ;)
 
komm mein freund, du glaubst also, dass diese 2 querys pro besucher die server-belastung in die höhe schießen lassen - bei der performance, die die provider heutzutage zur verfügung stellen. Da brauchst du dir keine sorgen machen.
Und hast du mal daran gedacht, dass es auch, z.B. bei einem CMS sinnvoll ist, wenn der user seine statistiken im adminmenue direkt einsehen kann ? -> Die meisten statistikprogramme wie z.B. webalizer o.ä. sind extern.
Der admin soll alles in einem menü haben ... aber der eine machts, der andere net :D
 
Wenn auf deiner Seite nur eine Handvoll User pro Tag zu erwarten sind, spielt das sicher keine Rolle.... falls es mal mehr sein sollten, spielt es sehr wohl eine Rolle, ob du haufenweise überflüssiges Zeugs am Laufen hast, oder nicht.

Was spricht dagegen, die Logfiles direkt in deinem Adminbereich auszuwerten.... wozu alles doppelt moppeln und nochmal in ner DB speichern?
 
Ok, prinzipiell hast du recht. Nun - "haufenweise sinnloses zeug" ist es in meinem fall net, weil es net haufenweise ist, und sinnlos ist es auch nicht. Auf meinen Servern ist zwar webalizer vorinstalliert, aber DAS ist haufenweise sinnloses zeug. Der admin brauch nur die paar referrer. Ich schreib halt ne eigene kompakte statistik ... wen juckts. Aber so könnten wir da noch lange drüber sprechen ... un dann den taschenrechner rausholen ... wieviel speicher ein query denn einnimmt im Hauptspeicher und das dann auf meine Besucherzahlen hochrechnen. Durschschnittlich nutzt so eine portalseite mit forum 20 querys (sieh dir vBulletin oder phpBB an) pro seitenaufruf -> nun sinds halt 20+1
 
Zurück