1. Counter? Wozu?
Ein Counter ist lediglich dazu da, die Besucher zu zählen. Allerdings besteht dabei das Problem, dass ein Besucher der die Seite mehrmals hintereinander besucht auch mehrmals gezählt wird und somit den Counterstand verfälscht. Dieses Problem wird durch eine simple IP Sperre gelöst.
2. Was brauche ich?
Um den Counter nutzen zu können benötigt man erstens Webspace der PHP unterstützt.Außerdem werden noch 2 gewähnliche Textdateien benötigt. Die ip.txt und die counter.txt. Diese beiden Dateien müssen sich in dem Ordner befinden, wo auch die php-Datei mit dem Script ist. Des weiteren muss man die Textdateien im CHMOD 777 hochladen.
3. Script
Hier nun das Script für den Counter:
$counter = "counter.txt";
$ip = "ip.txt";
Den Variablen und $ipfile werden die Werte counter.txt und ip.txt zugeordnet.
Wenn die Datei counter.txt und ip.txt existieren, dann….
$fp = fopen($counter,"r");
$zahl = fgets($fp,10);
fclose($fp);
… wird der Inhalt der Datei counter.txt gelesen und als Wert für die Variable $counter festgelegt….
$fp = fopen($ip,"r");
$ip_adresse = fgets($fp,15);
fclose($fp);
… wird der Inhalt der Datei ip.txt gelesen und als Wert für die Variable $ip festgelegt….
$zahl = 0;
Falls die Dateien nicht existieren, wird für die Variable $counter der Wert 0 festgelegt.
if ($ip_adresse == $REMOTE_ADDR) {echo "$zahl";}
if ($ip_adresse <> $REMOTE_ADDR) {
Wenn die IP des Benutzers nicht mit der IP in der Datei übereinstimmt,…
$zahl = $zahl + 1;
…wird die Variable $counter (der Counterstand) um 1 erhöht…
…und wiedergegeben.
$fp = fopen($counter,"w");
flock($fp,2);
fputs($fp,$zahl);
flock($fp,3);
fclose($fp);
Dann wird der neue Counterstand in die Datei counter.txt geschrieben…
$fp = fopen($ip,"w");
flock($fp,2);
fputs($fp,$REMOTE_ADDR);
flock($fp,3);
fclose($fp);
…und die IP des Benutzers in die Datei ip.txt geschrieben
?>