Counter auf MySQL Basis
Neben der Möglichkeitet, einen Counter per Textfiles zu programmieren, besteht auch die Möglichkeit, MySQL zu verwenden.
2003-01-11 00:31:21 2003-01-11 00:31:21 Lukas Beck
Neben der Möglichkeitet, einen Counter per Textfiles zu programmieren,
besteht auch die Möglichkeit, MySQL zu verwenden.
Hierzu benötigt man eine Tabelle namens counter mit den Spalten:
ID (INT, auto_increment), counter(INT), ip(VARCHAR)
Da es unnötig ist, bei jedem Aufruf per IF Abfrage zu checken, ob bereits eine Zeile in der Tabelle counter besteht, empfiehlt es sich, diese manuell zu erstellen, um Rechenzeit zu sparen. Somit erstellt man eine neue Zeile, beispielsweise mit PHPmyADMIN, die den Wert ID=1 enthält. Alternativ kann jedoch auch folgender DUMP verwendet und in die Datenbank eingefügt werden.
CREATE TABLE counter (
id int(11) NOT NULL auto_increment,
counter varchar(10) NOT NULL default '',
ip varchar(50) NOT NULL default '',
PRIMARY KEY (id) ) TYPE=MyISAM;
INSERT INTO counter VALUES (1, '0', '');
Im Script selbst baut man zunächst eine Datenbankverbindung auf. Tragen Sie dazu Ihre Daten ein.
<?php
$db=mysql_connect ("localhost","Benutzername","Passwort");
mysql_select_db ("datenbankname", $db);
?>
Nun folgt die Ausgabe der Tabellenzeile.
<?php
$result=mysql_fetch_object(mysql_query("select * from counter where id='1'",$db));
?>
Nun ist zu prüfen, ob der aktuelle Besucher schon einmal gezählt wurde. Schliesslich will man Mehrfachzählungen nach Möglichkeit vermeiden. Als Anhaltspunkt dient hier die IP Adresse des Users. Diese wird mit der bereits in der Datenbank gespeicherten IP des letzten Users verglichen. Ist diese ungleich, ist der Besucher also das erste Mal auf der Seite, so werden die aktuellen Daten mit der UPDATE Funktion von MySQL aktualisiert: der Counter wird um den Wert 1 erhöht. Vorsicht jedoch: Verwenden Sie auf jeden Fall ++$result->counter, da der oftmals falsch verwendete Befehl $result->counter++ den Wert erst nach der Verarbeitung der Variablen um den Wert 1 erhöhen würde. Zusätzlich dazu wird die aktuelle IP Adresse per REMOTE_ADDR eingetragen beziehungsweise aktualisiert.
<?php
if($result->ip != $REMOTE_ADDR)
{
$newcounter= ++$result->counter;
mysql_query("UPDATE counter SET counter='$newcounter', ip='$REMOTE_ADDR' WHERE id='1'",$db);
}
?>
Zum Schluss erfolgt die Ausgabe der Besucherzahl.
<?php
echo "Sie sind der $result->counter. Besucher";
?>
Der komplette Code:
<?php
$db=mysql_connect ("localhost","","");
mysql_select_db ("daten", $db);
$result=mysql_fetch_object(mysql_query("select * from counter where id='1'",$db));
if($result->ip != $REMOTE_ADDR)
{
$newcounter= ++$result->counter;
mysql_query("UPDATE counter SET counter='$newcounter', ip='$REMOTE_ADDR' WHERE id='1'",$db);
}
echo "Sie sind der $result->counter. Besucher";
?>
Verwandte Beiträge
IP-Sperre
IP-Sperre mit PHP und MySQL Oder wie man einen User für eine gewisse Zeit aussperrt. ...

Autor :
webmaster1@
Kategorie:
PHP-Tutorials
E-Mailprüfung mit JavaScript
In diesem Tutorial wird gezeigt, wie eine E-Mailüberprüfung in JavaScript realisiert werden kann ...

Autor :
andy@
Kategorie:
Sonstige Tutorials
Thumbnails mit PHP erzeugen
Manchmal möchte man Bilder, die auf einer Website dargestellt werden sollen, verkleinern. Solche verkleinerten Bilder nennt man Thumbnails. ...

Autor :
Wolfgang13
Kategorie:
PHP-Tutorials
HTML5-Formulare mit jQuery.html5form
Mit dem von Matias Mancini machen Sie aus Ihrem Browser einen HTML5-Kompatiblen Bowser. Mit Einschränkungen aber ... ...

Autor :
admin
Kategorie:
Sonstige Tutorials
Einfaches News-Script
Das hier ist ein kleines Tutorial, um zu zeigen wie so ein News-Script aussehen kann. Im Grunde ist es nichts anderes als ein Gästebuch, in welches jedoch nur der Webmaster (oder sonstige authorisierte Personen) etwas eintragen kann. Natürlich kann man ...

Autor :
pik
Kategorie:
PHP-Tutorials
Wie kann man komplexe Abfragen mit SQL-Querys In MySQLi effektiv durchführen?
In diesem MySQL-Tutorial wird erklärt, wie komplexe SQL-Abfragen in MySQLi effizient durchgeführt werden können. Wir werden uns mit verschiedenen Aspekten der Datenbankabfrage beschäftigen und spezifische Methoden kennenlernen. ...

Autor :
TheMax
Kategorie:
mySQL-Tutorials