Geschrieben von unsu am 26.10.2005, 14:22

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

Bewertung Anzahl
6
11,1 %
1 Bewertungen
5
11,1 %
1 Bewertungen
4
11,1 %
1 Bewertungen
3
22,2 %
2 Bewertungen
2
22,2 %
2 Bewertungen
1
22,2 %
2 Bewertungen