Dieser Besucherzähler hat den Vorteil, das er, da er auf IP-Adressen basiert, jeden Besucher nicht unendlich oft zählt, wenn ich mich selber immer wieder eine Seite aufrufe, werde ich nicht jedesmal neu gezählt
Voraussetzung ist eine MYSQL-Datenbank
<?php
//MYSQL_HOST, MYSQL_USER etc. müssen natürlich durch die eigenen Daten ersetzt
//werden
@mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die(Die Daten stimmen nicht);
mysql_select_db(MYSQL_DATABASE) OR die(Datenbank ist nicht vorhanden);
//erstellen der Tabelle, zum speichern der IP-Adressen
$sql = "CREATE TABLE IPs
(
ID INT AUTO_INCREMENT PRIMARY KEY,
IP VARCHAR(15)
)";
$result = mysql_query($sql);
if($result) {
echo '<p>erfolg</p>';
} else {
echo '<p>bitte erneut versuchen</p>';
}
?>
Das obige Script muss in einer PHP-Datei gespeichert und dann aufgerufen werden, sollte "erfolg" erscheinen, kann sie wieder gelöscht werden.
Das Nächste Script ist der eigentliche Besucherzähler:
<?php
//(Für MYSQL_... gilt wieder das gleiche wie oben)
@mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die();
mysql_select_db(MYSQL_DATABASE) OR die();
//Prüfen, ob die IP schon gespeichert wurde
$sql = "SELECT COUNT(ID) as Anzahl
FROM IPs
WHERE IP = '".$_SERVER['REMOTE_ADDR']."'";
$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);
//Falls sie noch nicht gespeichert war, wird sie jetzt hinzugefügt
if($row['Anzahl'] == "0") {
$sql = "INSERT INTO IPs
(IP)
VALUES
('".$_SERVER['REMOTE_ADDR']."')";
$result = mysql_query($sql);
}
//Zählen der Einträge
$sql = "SELECT COUNT(IP) as Anzahl
FROM IPs";
$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);
//speichern der Besucheranzahl in der Variable "$zahl"
$zahl = $row['Anzahl'];
?>
Das Script sollte möglichst weit oben in der Index-Datei included werden, damit die Variable Zahl danach zum Anzeigen zur Verfügung steht.
Bei Fragen einfach eine Private Nachricht an mich