Links mitgeloggt

Jetzt wird jeder Klick auf einen externen Link mitgeloggt. Kein Klick entgeht mir …
Wird ein Link zum ersten mal angesprungen werden die Daten (URL, letzter Besuch, Gesamtanzahl Klicks) neu in eine DB eingetragen, ansonsten wird nur eine Variable hocgezählt.

Dafür sorgt ein kleines PHP-Script mit Datenbank-Anbindung. Jeder Link fängt nun mit „http://redirect.x-ploration.de/?go=“ an und hört mit www.link.tld auf.
Für web.de würde das so aussehen:
http://redirect.x-ploration.de/?go=www.web.de

Morgen schau ich mal, ob man den Aufruf der Variable noch weglassen kann, damit etwas in der Art
http://redirect.x-ploration.de/www.web.de
rauskommt.
… oder wie ich mir die Tipparbeit der redirect-Adresse sparen kann.

Das Script (index.php)

<?php
if(!empty($_GET['go'])) {
$host = "localhost";
$db = "rexplo";
$user = "rexplo";
$pwd = "redirect";
$con = mysql_pconnect ($host, $user, $pwd);
if ( ! $con ) die( "Keine Verbindung zu MySQL" );
mysql_select_db($db, $con)
or die ( "Konnte DB nicht oeffnen" );
$web = trim( $_GET['go'] );
$moment = time();

$query = mysql_query("SELECT id, url, sum_visit FROM redir_url WHERE url='$web'");
if(mysql_num_rows($query)>0){
$row=mysql_fetch_array($query);
mysql_query("UPDATE redir_url SET sum_visit=sum_visit+1, last_visit='$moment' WHERE id='$row[id]'");
} else{
mysql_query("INSERT INTO redir_url ( url, last_visit, sum_visit ) VALUES ( '$web', '$moment', '1' )");
}
mysql_close($con);
header("Location: http://".$web );
} else {
// WO ES HINGEHT, WENN KEINE URL UEBERGEBEN WURDE
header("Location: http://www.x-ploration.de/entry.php?id=00315");
}
?>

Die DB-Struktur


CREATE TABLE redir_url (
id int(11) NOT NULL auto_increment,
url longtext NOT NULL,
last_visit varchar(20),
sum_visit int(11) NOT NULL,
PRIMARY KEY (id)
);

Als nächstes dann die Liste, damit man auch was davon hat … Jetzt geh ich aber erstmal ins Bett!

Veröffentlicht am
Kategorisiert in Allgemein Verschlagwortet mit

7 Kommentare

  1. Naja, ich habe weniger Probleme damit, dass mein Anklicken geloggt wird, denn eigentlich interessiert es mich auch, welche Seiten auf meinem Log angeklickt werden, das Problem wird eher sein, dass man so wieder ein paar (Milli)Sekunden mehr Wartezeit hat, irgendwie stört mich noch, dass immer eine Datenbank dahintersteckt…

  2. > das Problem wird eher sein, dass man so wieder ein paar (Milli)Sekunden mehr Wartezeit hat

    naja, ich denke das ist verschmerzbar (wenn es nicht gerade zu Problemen mit dem DB-Server kommt).

    > irgendwie stört mich noch, dass immer eine Datenbank dahintersteckt

    naja, ein Text-File ist für sowas m.E. nicht unbedingt optimal…

  3. stellt sich die Frage ob du es siehst? Mitr JavaScript kann man den Browser schön täuschen 😉
    Aber ich hab es mir nochmal überlegt … Ist mir glaub ich zuviel Aufwand, da dauernd dieses URL-Tier einzugeben, anstatt locker copy&paste; zu machen 🙂

  4. Thomas, ich als Seitenbetreiber bin ja auch ein neugieriger Mensch und mich würde schon auch interessieren, wo die Leude klicken und wie oft usw. aber ich als Seitebesucher fühl mich überwacht und mag das nicht.
    (Das URL-Tier könnstes du ja z.B. mit Ghosttyper automatisieren)

  5. Genau das ist das „Problem“. Ich möchte eigentlich nur wissen, wie häufig die Links im Log@Log angeklickt werden. Auf der anderen Seite bin auch ich ein Mensch, der ungern auf Links klickt, die ein Script, und nicht direkt die URL anspringen …
    Deshalb werd ich mir es a) wie angekündigt weglassen oder b) einen Weg finden müssen, wie es der Besucher nicht merkt, das mitgelogt wird. Wäre b eigentlich ein Betrug am User? emot/silly.gif

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.