yubb.de-Logo
Tutorials
yubb@yubb
yubbService
Inside yubb

Klickcounter mit PHP & MySQL (ohne IP-Sperre)



Nur einen Nachteil hat die ganze Sache: keine IP-Sperre.
Also fange ich mal an:

Zuerst muss eine Tabelle angelegt werden:
Code:
CREATE TABLE count (
ID int(11) NOT NULL auto_increment,
url varchar(255) NOT NULL default '',
clicks int(11) NOT NULL default '1',
PRIMARY KEY (ID)
) TYPE=MyISAM;


So jetzt brauchen wir eine config-datei, nehmen wir als Beispiel eine namens config.php:
PHP-Datei:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
#######################################################

$db_host "localhost"// Der Datenbank-Host
$db_user "root"// Der Datenbank-User
$db_password ""// Datenbank-Passwort
$db "link"// Datenbank-Name
#######################################################

####### Pfad zur Index-Seite #######
$hauptpfad "http://www.domain.de/index.php";
##############################

$table "count"// Die Tabelle, die die Klickdaten speichern soll


####### Verbindung zur Datenbank wird hergestellt #######
$conn mysql_connect ($db_host$db_user$db_password);
$db_select mysql_select_db($db$conn);
?>


So nun kommen wir zur "Linkzähler-Datei":
PHP-Datei:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
require("config.php"); // Die Konfigurationsdatei wird benötigt
if($_GET['id'] != "") { // Wenn ID vorhanden ist
    
$id $_GET['id'];
    
$sel mysql_query("SELECT * FROM $table WHERE ID='$id'");
    
$row mysql_fetch_assoc($sel);
    
$clicks $row['clicks'];
    
$url $row['url'];
    if(
$clicks) {
        
$clicks $clicks+1;
        
mysql_query("UPDATE $table SET clicks='$clicks' WHERE ID='$id'");
    }
    echo 
'<META http-equiv="refresh" content="0; URL='.$url.'">'// Hier wird zur Page weitergeleitet
}
else { 
// Wenn keine ID vorhanden ist wird zur Hauptseite (aus der config.php) weitergeleitet
    
echo '<META http-equiv="refresh" content="0; URL='.$hauptpfad.'">';
}
?>


Die Links müssen nun folgendermaßen aussehen:

Je nach id, die man in der DB angegeben hat: link.php?id=5

Also, hier ein Beispiel:
Wenn in der spalte id "5" und in der spalte url "http://www.google.de" sowie in der Spalte clicks "2" steht, dann wird erst clicks um eins erhöht (hier also von 2 auf 3) und dann die die URL (in diesem Fall google.de) aufgerufen.

So, das wars eigentlich schon.

Man kann das Ganze noch mit einem Admin-Teil oder so versehen, ist gar kein Problem.

Geschrieben von LLCoolDannY am 18.06.2004 (8574x gelesen)
weiterempfehlen weiterempfehlen   Druckversion Druckversion   kommentieren kommentieren

Nettes Tutorial, n bissl komisch erklärt, aber gut ;)
Geschrieben von Phil Marx
naja, is gut, aber: Man muss wenn man eine Homepage und id anlegt immer in phpmyadmin. Besser wäre nen Admin Bereich wo man das machen kann.
Geschrieben von Sören