Counter auf MySQL Basis

Neben der Möglichkeitet, einen Counter per Textfiles zu programmieren, besteht auch die Möglichkeit, MySQL zu verwenden.

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"
?>

Ratings


sehr gut
Written by tayadina At 09.05.2010 19:49:15

Here you can write a comment


Please enter at least 10 characters.
Loading... Please wait.
* Pflichtangabe

Related topics

plotting masters - a professional guide - Teil I

Grafische Interpolation und Bestapproximation von numerischen Wertepaaren: Wir wollen Punkte auf einer Zeichenebene über verschiedene Verfahren miteinander verbinden. ...

EVAMasters

Autor : EVAMasters
Category: PHP-Tutorials

Objektorientiertes Programmieren

Dieses Tutorial beschreibt sehr gut die Wirkunsweise von objektorientiertes Programmieren. Also bestens geeignet um das objektorientierte Programmieren zu verstehen. ...

phpsven

Autor : phpsven
Category: 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 ... ...

admin

Autor : admin
Category: Other tutorials

Definition of stored procedures - an introduction

Stored procedures are predefined SQL code blocks that are stored in a database and can be called up as required. ...

Bernie

Autor : ebiz-consult GmbH & Co. KG
Category: mySQL-Tutorials

SVN Server einrichten

Wie man unter Linux einen Subversion Server einrichtet. ...

admin

Autor : admin
Category: Linux & Server Tutorials

Wie schreibt man ein Forum mit PHP und Mysql

Wie schreibt man ein Forum mit PHP und Mysql

Wie erstellt man ein kleines Forum mit PHP und MYSQL? Dieses Tutorials zeigt wie es geht ...

Moqui

Autor : Moqui
Category: PHP-Tutorials

Einfaches Gästebuch basierend auf php4 und MySQL

In diesem Tutorial lernt Ihr wie einfach es ist, ein Gästebuch mit php4 und MySQL zustellen. ...

webmaster1@

Autor : webmaster1@
Category: PHP-Tutorials

Verschlüsslung bzw. Codierung von HTML Code in ASCII

HTML Code können wir ebenso gut in ASCII Code umwandeln. Zunächst einmal ein paar Sätze dazu, wozu man ASCII Zeichen benötigt und wozu Ihnen dieses Script dient. ...

Lukas Beck

Autor : Lukas Beck
Category: PHP-Tutorials

Publish a tutorial

Share your knowledge with other developers worldwide

Share your knowledge with other developers worldwide

You are a professional in your field and want to share your knowledge, then sign up now and share it with our PHP community

learn more

Publish a tutorial