Besucherstatistik mit PHP
Auf den folgenden Seiten stelle ich einmal die Besucherstatistik vor, die hier eingesetzt wird. Nötig sind ein PHP 5 und ein MySQL 5 Server.
Aufruf im Dateikopf
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | // MySQL und Counter Klasse initialisieren include_once('config.inc.php'); include_once('counter.class.php'); // Daten erfassen $ctnr = new counter(true); // Loeschen alter Einträge $ctnr->deletedata(); // Klasseninstanz loeschen unset($ctnr); |
Das Codeschnipsel was oben zu sehen ist, wird in den Kopf der index.php kopiert. So wird jeder Aufruf erfasst. Dabei wird dem Konstruktor ein "true" übergeben, was diesen anweist, die Daten zu erfassen, und nicht nur das Objekt der Klasse zu erstellen.
Kommt ein Besucher neu auf die Seite, wird ein neuer Datensatz mit Informationen wie Browserkennung, Zeit und IP Adresse erstellt. Wird die Seite dann von dem Benutzer neu geladen, greift die IP Sperre und die Klasse zählt nur die Zahl in der Tabellenspalte "hits" um eins hoch.
Die IP Adresse wird nach 24 Stunden automatisch unkenntlich gemacht, da diese nur für die Sperre gebraucht wird.
Ausgabe der Statistik
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | // MySQL und Counter Klasse initialisieren include_once('config.inc.php'); include_once('counter.class.php'); // Daten im kompaktformat auslesen $counter = new counter(); $array = $counter->getdata(); echo "<table style='margin-left:5px;'>"; echo "<tr><td colspan='2'><b>Besucherzahlen</b></td></tr>"; echo "<tr><th style='font-weight:normal; text-align:right;'>Stunde:</th><td>".$array['hour']."</td></tr>"; echo "<tr><th style='font-weight:normal; text-align:right;'>Heute:</th><td>".$array['day']."</td></tr>"; echo "<tr><th style='font-weight:normal; text-align:right;'>Woche:</th><td>".$array['week']."</td></tr>"; echo "<tr><th style='font-weight:normal; text-align:right;'>Monat:</th><td>".$array['month']."</td></tr>"; echo "<tr><th style='font-weight:normal; text-align:right;'>Gesamt:</th><td>".$array['complete']."</td></tr>"; echo "<tr><th style='font-weight:normal; text-align:right;'>Hits (30 Tage):</th><td>".$array['hits']."</td></tr>"; echo "</table>"; unset($counter, $array); |
Zur Ausgabe der Statistiken im Frontend wird die Methode getdata(); verwendet. Diese liefert die Besucherzahlen der letzten Stunde, der letzten 24 Stunden, der letzten sieben Tage, der letzten 31 Tage, alle Besuche bis jetzt und die Seitenaufrufe der letzten 31 Tage.
getdata(); gibt dabei ein Array zurück, welches diese Zahlen enthält.




