Homepagebau
Dateiversion:
diesen Beitrag diskutieren,
ergänzen, eine Frage stellen

Zugriffszähler

Schwierigkeit: für Anfänger

 
Skript downloadenversion: 11.05.2007
dieses Skript wurde vorgestellt in "PC-Magazin" 12/2003

Zähler (nur Text)

Zähler (grafisch mit Skins)


5 kbyte


74 kbyte

Beispiel: 

Beispiel: 

nur Text: empfohlen für Online-Communities. Dieses Skript bietet hohe Stabilität, geringe Serverlast und große Zuverlässigkeit auch bei sehr hohen Zugriffszahlen.
grafisch: mehrere Skins für individuelle Layouts zur Auswahl. Vor allem für private Websites geeignet.

 

Skins zum Download

Skin: Micro

Skin: Metall


Skin-Daten
5 kbyte


Skin-Daten
6 kbyte

Skin: Holz

Skin: Elegance


Skin-Daten
6 kbyte


Skin-Daten
7 kbyte

Skin: Black / White

Skin: Digital


Skin-Daten
8 kbyte


Skin-Daten
9 kbyte

Skin: Mauer
Dieser Skin wurde zur Verfügung gestellt von Andreas Bomke. Vielen Dank!


Skin-Daten
45 kbyte

Achtung:  Falls sie eigene Skins haben, und auf dieser Seite zum Download stellen möchten, senden sie mir ihren Skin via Mail.


Beschreibung:

Ein einfacher Counter, der extrem leicht einzubauen ist. Das Skript verwaltet beliebig viele verschiedene Zählerstände. Eingebaut ist außerdem eine IP-Sperre, damit ein Besucher beim Reload der Seite nicht erneut gezählt wird.

Dieses Skript darf (wie alle Skripte bei uns) nicht zu kommerziellen Zwecken oder von Firmen sondern lediglich von Privatpersonen für private Homepages und/oder gemeinnützigen Vereinen für deren Webseiten verwendet werden.
Insbesondere untersagt ist jede unerlaubte Weitergabe oder Verkauf!

 

Tutorial für Programmierer

Wie schreibe ich einen Counter in PHP?

Ein einfacher Zugriffszähler gehört zu einer der leichtesten Übungen für geübte Programmierer und ist ein typisches Trainingsszenario für Anfänger. Fangen wir also an:

1. Zielstellung: was muss das Skript können?

Beim Aufruf unserer Webseite soll die Zahl der bisherigen Zugriffe angezeigt werden.

Diese Zahl muss das Skript in einer Datei speichern. Diese Datei soll also geöffnet und der darin gespeicherte alte Zählerstand geladen werden. Falls diese Datei noch nicht existiert, soll das Skript sie anlegen. Den alten Zählerstand muss das Skript um 1 erhöhen. Anschließend soll der neue Wert in der Datei gespeichert und zum Schluss die Zahl der bisherigen Zugriffe angezeigt werden.

2. Orientierungsphase: wie ist der Programmablauf?

Veranschaulichen wir uns den Programmfluss anhand einer Grafik:

3. Realisierung:

Eingabe: $datei = "counter.dat"; $verzeichnis = "counter/";

// Datei existiert?

if(file_exists($verzeichnis.$datei)) {

// 1. Fall - wenn ja:

// lese Datei

$dateiInhalt = file($verzeichnis.$datei);

// zähler=Dateiinhalt

$zaehler = $dateiInhalt[0];

Erklärung: $array = file("dateiname") liest eine Datei vollständig und liefert als Ergebnis ein Array zurück, dessen einzelne Werte den Inhalt der Zeilen der Datei enthalten. $array[0] ist also Zeile 1, $array[1] ist Zeile 2, ... $array[count($array)-1] ist die letzte Zeile. Unsere Datei hat lediglich eine einzige Zeile: sie enthält den aktuellen Zählerstand. Das könnten wir aber auch ändern, falls wir zum Beispiel noch Kommentare einfügen wollten. Die Zeilennummer würde sich dann entsprechend ändern.

} else {

// 2. Fall - wenn nein:

// erstelle Datei

$file = fopen($verzeichnis.$datei, "w+");
fclose($file);

// zähler=0

$zaehler = 0;
}

Erklärung: $file = fopen("dateiname", "modus") öffnet die angegebene Datei und gibt ein Handle auf diese Datei zurück. Als "Modus" kann gewählt werden: (read) "r" = nur lesen, "r+" = nur lesen, wenn nicht vorhanden wird die Datei erstellt, (write) "w" = nur schreiben, beim Schreiben wird der Dateiinhalt ersetzt, "w+" = lesen und schreiben, beim Schreiben wird der Dateiinhalt ersetzt, ist die Datei nicht vorhanden wird sie erstellt, (append) "a" = nur schreiben, hängt alles was geschrieben wird an die Datei an, wenn sie nicht existiert wird sie erstellt, "a+" lesen und schreiben, hängt alles was geschrieben wird an die Datei an, wenn sie nicht existiert, wird sie erstellt.

Erklärung: fclose($file) schließt eine geöffnete Datei.

// zähler + 1

$zaehler += 1;

// Datei speichern

$file = fopen($verzeichnis.$datei, "w+");
fwrite($file, $zaehler);
fclose($file);

Erklärung: fwrite($file, "Text") schreibt eine Zeichenfolge in eine geöffnete Datei.

// Ausgabe zähler

echo $zaehler;

Ausgabe: 1

That's it! Dies sollte für Anfänger eines der ersten PHP-Programme sein, an dem sie sich probieren. Der Counter den sie hier gerade geschrieben haben (falls sie fleißig mitmachen) kann natürlich noch nicht so viel wie der, welchen wir zum Download anbieten, aber für den Anfang können sie schon stolz auf ihre Arbeit sein.