Eine kleine Statistik für Noobs,
ist dies ganz sicher. Was ihr benötigt?
1. Bischen Zeit
2. PHP-Space (user-portal.com)
3. Editor
Als erstes die Idee
Das Script soll über den User bzw. die User einige Infos sammeln und abspeichern. Als Datenbank nehmen wir vorerst eine txt -File.
Nennen wir diese am besten stat.txt.
Was wollen wir abfragen?
Datum und Uhrzeit sind standart denke ich. Dazu nehmen wir die beiden Tags in die Variablen:
$zeit = date("H:i:s");
$datum = date("d.m.Y");
H steht für die Stunden (Houres), I für die Minuten und s für Sekunden.
Das d für Tage (days), das m für Monate (month) und das Y für Jahre (years).
Aber warum sollte uns das denn genügen?- Wie wäre es denn mit der IP und den Browser + Betriebssystem? Die IP wird mit einer Konstante namens $Remote_ADDR abgefragt. Der Browsertyp mit $HTTP_USER_AGENT, das System mit $HTTP_REFERER und die Sprache die verwendet wird mit$HTTP_ACCEPT_LANGUAGE.
Damit wir das ganze aber später auch etwas ansähnlich ausgeben können, schreiben wir das ganze in Form von Tabellen schon einmal mit. Somit brauch das Script nur die Werte mit den Tabellenteilen in diestat.txt eingeben und ein anderes kann diese dann so ausgeben.
Folgenes Script ist dafür am besten geeignet:
<?
$zeit = date("H:i:s");
$datum = date("d.m.Y");
$datei=fopen("stat.txt", "a"); fputs($datei, "<table><tr><td width='100'>$datum</td><td width='100'>$zeit</td><td width='120'>$REMOTE_ADDR</td><td width='400'>$HTTP_USER_AGENT</td><td>$HTTP_REFERER</td><td width='100'>$HTTP_ACCEPT_LANGUAGE</td></tr></table><br>"); fclose($datei);
?>
Da ich oben soweit alles erklärt habe, brauch ich hier keine Kommentare mehr schreiben denke ich. Das obere Script kann nun Problemlos in eine Seite kopiert werden, dessen User ihr ausspionieren wollt.
Beachtet nur das ihr diestat.txt den CHMOD 777 zuweist.
Die Ausgabe,
ist leicht zu bewerkstelligen, da die Tabellen ja schon existieren. Folgenes Script arbeitet mit dem Befehl fopen(); und eignet sich dazu:
<table><tr><td width="120">Datum</td><td width="120">Zeit</td><td width="140">IP-Adresse</td><td width="440">Browsertyp</td><td width="120">Sprache</td></tr></table>
<?php
$filename = "stat.txt";
$handle = @fopen ($filename, "r");
$contents = @fread ($handle, filesize ($filename));
@fclose ($handle); echo $contents; echo '</table></td></tr></table></div>';
?>
In der ersten Zeile werden nur die Tabellen deklariert. Dann wird die gewünschte auszugebene Datei angegeben. fopen öffnet die Datei wobei das @ semtliche Fehler dabei unterdrückt. Zumindest die Fehleranzeige. fread liest die Datei nun ein und mit echo $contents werden sie letzt entlich ausgeben. Danach folgt die Beendung der Tabelle.
Ein erweitertes Script nutzen wir auf http://www.your-guestbook.com auch. Daher ein kleiner Tipp noch zum reseten der Statistik, damit das nicht immer über FTP geschehen muss. Folgenes Script "resetet" die stat.txt:
<?php
$datei = "stat.txt";
$reset = "";
$fh = @fopen($datei, "w");
$check = @fwrite($fh, $reset);
if(isset($check))
{ echo '<div align="center"><table><tr><td> Die Statistik wurde entleert'; echo '</table></td></tr></table></div>';
}
else
{ echo'<div align="center"><table><tr><td> Die Statistik konnte nicht entlert werden, bitte nehmen Sie zu uns Kontakt auf';
@fclose($fh);
}
Dazu gibts kaum etwas zu sagen. Entweder diestat.txt konnte resetet werden oder (else) halt nicht ;) .
ACHTUNG: Teilt der stat.txt unbedingt den CHMOD 777 zu, sonst funktioniert das Script nicht.