Halihallo Stabmaster
ich wollte mir eine ausführliche statistik bauen.
Hälst du die für derart ausführlich?
darin enthalten sein sollte:
- Besucher gesamt
- Besucher heute
- Besucher gestern
Was Cheatah fragt: Was ist in deinen Augen ein Besucher?
Einer der über Cookies identifiziert wird?
|
+-- nicht jeder hat Cookies aktiviert und du wirst dadurch
unweigerlich mehr zählen, als tatsächlich vorbeigeschaut haben.
Einer der über IP oder Browsermerkmale identifiziert wird?
|
+-- ganze Firmennetzwerke haben dieselbe IP und/oder
Browsermerkmale, so wirst du unweigerlich auch falsche Daten
zählen.
Einer der mindestens 20 Minuten, mindestens 30 Minuten, wenigstens
einmal pro Tag, mindestens einmal pro Woche, mindestens eine
Browsersitzung, ... auf deiner Website war?
_Du_ musst dir wirklich ersteinmal klar werden, was du als "Besucher"
wertest, denn dieser Begriff (s. Cheatah) existiert im HTTP nicht.
- Online zurzeit (ich weis, ist nicht so toll, soll aber dabei sein)
Wie willst du in einem zustandslosen Protokoll wissen, ob derjenige
welche noch auf deiner Seite ist, oder nicht schon lange auf
www.msdn.com nach einem Patch für seinen IE sucht?
- vll auch noch ne wochenstatistik
Das ist das kleinste Problem ;)
GROUP BY über die Statistik-Tabelle einfach per WEEK(datum_col)
- wie sollte ich am besten überprüfen, ob der user schon berücksichtigt wurde
Nun, es geht gar nicht. Siehe obengenannte Punkte zum
Begriff "Besucher". Aber die wohl beste "Annäherung" wäre über
Cookies. Bei jedem Zugriff wird ein Cookie gesendet, wurde ein
Cookie empfangen hast du den Besucher schon gezählt. Über die
Expires-Angabe im Cookie hast du eine unverlässliche Möglichkeit die
Zeitdauer indem der Besucher als Besucher gilt festzulegen. Lässt du
diese weg gilt der Cookie genau die Browsersitzung lang und du misst
die sogenannten (Browser-)Sessions. Setzt du Expires auf einen Tag,
hast du die sogenannten UniqueUsers pro Tag.
- wie soll ich die db struktur anlegen mit allen berücksichtigungen
Das "Besucher-Online"-Zeug wirft eine einfache Lösung über den
Haufen. Liessest du es weg, erspart es dir einiges an Sorgen.
Um Besucher-Online zu messen, müsstest du wie Cheatah sagt, jedem
Benutzer ein eindeutiges Merkmal zuweisen. Dann zählst du einfach
alle unterschiedlichen Merkmale der letzten sagen wir mal 5 Minuten
und hast einen unwirklich, falschen Wert davon, wie viele "Menschen"/
Besucher sich auf deiner Website grad rumtummeln.
Für alles andere wirds einfach:
Statistik
PRIMARY KEY rep_date DATE (Tag)
PRIMARY KEY page_id INT (ggf. sollen mehrere Pages überwacht
werden?)
rep_pageviews INT (Anzahl Pageviews)
rep_sessions INT (Anzahl Sessions)
rep_unique_user INT (Anzahl Besucher)
Dein Script muss dann einfach beim erkennen eines Unique Users z.B.
den Wert in rep_unique_user beim aktuellen Datum um eins erhöhen.
Genauso für Pageviews und Sessions. So viel Input zu beginn.
PS: bitte kommt mir nicht mit: "geh auf seite xyz und lad dir eins runner".
möchte es gerne selber coden.
Sehr gut. Ich schliesse mich Cheatah's Aussage an.
Ansonsten darf ich http://aktuell.de.selfhtml.org/artikel/programmiertechnik/useronline/index.htm
als Lektüre empfehlen, dann kannst du Cheatah vielleicht etwas besser
verstehen ;)
Viele Grüsse
Philipp