Klickcounter

Hier nun das erste Tutorial, was sich auf einen Wunsch aus dem Wunschbuch bezieht. :o)

was wird erreicht?

Im folgenden Tutorial lernst du, wie man die Klicks auf einen bestimmten Link zählen kann – so etwas also, wie auf neontrauma.de die Angabe, wie oft ein Artikel schon gelesen wurde.

Voraussetzungen

Da wir das Ganze über PHP realisieren, benötigst du eine Datenbank sowie Webspace mit PHP-Unterstützung.
Ein bisschen Erfahrung im Umgang mit der Datenbank wäre nicht schlecht, aber okay, ich erkläre es Schritt für Schritt und setze kaum Kenntnisse voraus. ;-)

in der Datenbank

Wie oft ein Link bereits aufgerufen wurde, soll in der Datenbank gespeichert werden.

Wenn du bereits passende Tabellen angelegt hast – etwa eine Tabelle namens „Wallpaper“, in der du deine Grafiken verwaltest – brauchst du dort nur ein Feld zu ergänzen, in dem dann die Klicks auf den Download-Link für die Wallpaper gezählt werden:
Feld hinzufügen
Wähle dazu im PHPMyAdmin deine Tabelle aus und tippe bei „Feld hinzufügen“ eine 1 ein, dann klicke auf „ok“. Als Titel nimmst du count, als Typ int, als Länge 55, als Standard 0. Den Rest der Felder lässt du so, wie sie sind.

eine Tabelle manuell erstellen Falls du noch keine Tabelle dieser Art besitzt, legst du am besten für jeden Bereich (zum Beispiel Wallpaper, Avatare, Layouts) eine Tabelle an, die mindestens drei Felder besitzen muss:
ID (die „Identitätsnummer“ eines jeden Eintrages/Links), den jeweiligen Link zur Grafik und count (siehe oben). Es bietet sich an, der Übersichtlichkeit halber auch ein Feld mit dem Namen des jeweiligen Eintrages/Links anzulegen, aber das ist nicht lebensnotwendig. ;-)
Um eine Tabelle anzulegen, klickst du im PHPMyAdmin auf deine Datenbank – am Ende der Seite findest du ein Eingabefeld, um eine neue Tabelle zu erstellen.

Als Name wählst du den jeweiligen Bereich, also zum Beispiel „wallpaper“. Die Anzahl der Felder liegt, wie oben beschrieben, bei mindestens drei. Das erste Feld beinhaltet die ID – gib Folgendes ein: Feld: id, Typ: int, Länge: 55, Attribute: unsigned, Extra: auto_increment, und dann setzt du noch ein Häkchen bei der nächsten Spalte, der mit dem Schlüssel. Das zweite Feld, count, erstellst du wie oben beschrieben. Das Feld mit dem Link sieht so aus: Titel: Link, Typ: varchar, Länge: 255. Wenn du noch einen Titel hinzufügen möchtest, gibst du für das vierte Feld Folgendes an: Feld: Titel, Typ: varchar, Länge: 255.

Jetzt musst du natürlich deine Daten eintragen, sprich die einzelnen Grafiken in die Datenbank aufnehmen. Dazu klickst du nun auf deine Tabelle und gehst oben auf „einfügen“ – hier gibst du dann den Link zur Datei ein sowie ggf. den Titel. Die ID wird automatisch eingefügt, dieses Feld lässt du ebenso leer wie count.

die go.php

Als nächstes kommt die PHP-Datei dran, die den Code für das Zählen der Klicks beinhaltet: die go.php
Für jeden Bereich, den du zählst, benötigst du eine eigene go.php – d.h., du hast dann eine go_wallpaper.php, eine go_avatare.php und so weiter.

Dass wir das Ganze auf diese Weise umsetzen und nicht einfach die Klicks in der jeweiligen Datei selber zählen, hat Sicherheitsgründe. ;-)

<?php
$host = "localhost";
$user = "username";
$pass = "passwort";
$dbase = "datenbankname";

$connection = mysql_connect("$host" , "$user" , "$pass")
OR DIE ("Keine Verbindung zu der Datenbank möglich.");
$db = mysql_select_db($dbase , $connection)
OR DIE ("Auswahl der Datenbank nicht möglich.");

$id = strip_tags($_GET['id']);
$query="SELECT LINK,count FROM tabelle WHERE id='$id'";
$result= mysql_query($query, $connection) OR DIE
("Fehler bei der Abfrage: $query." . mysql_error());
$row=mysql_fetch_array($result);
$link = $row['link'];
$count = $row['count'];
$query= "UPDATE tabelle SET count = count+'1' WHERE id='$id'";
$result= mysql_query($query) OR DIE (mysql_error());
header("Location: $link");
?>

Hier musst du sowohl die Zugangsdaten zur Datenbank anpassen, als auch den Tabellennamen (da, wo jetzt einfach tabelle steht).

den Link zählen

So, als Letztes öffnest du die Datei, in der die zu zählenden Links stehen.

Dort stellst du zunächst eine Verbindung zur Datenbank her (falls du bereits eine PHP-Datei mit den entsprechenden Angaben besitzt, reicht es natürlich, diese zu includen):

<?php
$host = "localhost";
$user = "username";
$pass = "passwort";
$dbase = "datenbankname";

$connection = mysql_connect("$host" , "$user" , "$pass")
OR DIE ("Keine Verbindung zu der Datenbank möglich.");
$db = mysql_select_db($dbase , $connection)
OR DIE ("Auswahl der Datenbank nicht möglich.");
?>

Jetzt wird die Tabelle abgefragt (Namen der Tabelle anpassen!):

<?php
$abfrage = "SELECT id,count,link FROM tabelle";
$ergebnis = mysql_query($abfrage);
while ($row=mysql_fetch_array($ergebnis))
{
$id = $row["id"];
$count = $row["count"];
$link = $row["link"];
?>

Je nach dem fragst du nach dem gleichen Prinzip auch den Titel usw. ab.

Deinen Link musst du nun so „umbauen“, dass er über die go.php geht; dahinter soll in Klammern stehen, wie oft er bereits angeklickt wurde:

<a href="go.php?id=<?php echo $id; ?>">der Link</a>
(<?php echo $count; ?>)

Ans Ende kommt jetzt noch ein

<?php
}
?>

und dann wird die Datei als *.php abstelle von *.htm gespeichert und – fertig! =)

verwandte Beiträge

Die Kommentarfunktion ist geschlossen.