devno.com

Serie: Usertracking mit PHP Teil1

von devno am 08 Apr 2009, unter Programmierung, Tutorial

Heute möchte ich einmal eine Serie starten und zwar eine Schritt für Schritt Anleitung, wie man ein einfaches Usertracking mit PHP erstellt. Ich muss gleich dazu sagen, ich habe noch nie so etwas programmiert, aber genau deshalb möchte ich es auch machen. Ich lerne selber auch sicherlich noch das eine oder andere und kann euch viele wichtige Tipps geben.

Ziele

Mein Ziel ist es einfach alle Besucher zu loggen mit IP-Adresse, Betriebssystem, Browser sowie die Seite von der sie kommen. Eventuell möchte ich auch noch eine einfache Boterkennung anhand der IP-Adresse einbauen. Außerdem würde mich noch eine schönes Userinterface zur Auswertung der Daten gefallen, aber ich habe noch nie etwas grafisches mit PHP gemacht, deshalb kann ich für dieses noch keine Garantie geben.

Usertracking mit PHP Teil 1 – Einfaches Loggen der IP-Adresse

Wir lesen einfach die IP-Adresse des Besuchers aus und speichern diese mit der aktuellen Zeit in einer Logdatei. Später können wir diese Logdatei natürlich mit einer Datenbank ersetzten, um eine bessere Übersicht und Sicherheit zu haben, aber für den Anfang wird diese noch nicht benötigt. Ich habe hierfür drei Funktionen erstellt und werde sie weiter unten genauer beschreiben.

Quellcode:

<?php
$file="besucher.log";
logVisitor();
readData();

function logVisitor(){
    $ip = $_SERVER['REMOTE_ADDR'];
    $time = time();
    writeData($ip." - ".date("d.m.Y, H:i:s",$time)." - ".$time."\n<br />");
}
function writeData($string){
    global $file;
    $handle=fopen($file,"a");
    fwrite($handle, $string);
    fclose($handle);
}
function readData(){
    global $file;
    $handle=fopen($file,"r");
    $stats = fread($handle, filesize($file));
    return $stats;
}
?>

logVisitor()

In dieser Funktion wird einfach die IP-Adresse ausgelesen und mit der aktuellen Zeit an eine andere Funktion als String übergeben.

writeData()

Hier wird einfach nur das Schreiben der übergebenen Informationen in der Datei abgehandelt. Das verwenden so einer Funktion ist vor allem Sinnvoll, weil wir später einfach in eine Datenbank schreiben können und nur an einer Stelle den Code ändern müssen. Wir schreiben übrigens die Zeit zweimal in die Logdatei, weil wir sie einmal formatiert haben möchten und einmal einfach nur den Timestamp.

readData()

Hier gilt das Selbe wie bei writeData(), nur dass hier die Daten ausgelesen werden und nicht gespeichert. Später leicht durch ein Lesen aus einer Datenbank zu ersetzten.

Aufruf der Funktionen

Jetzt muss man nur noch die einzelnen Funktionen aufrufen und man kann die Daten der Besucher speichern und ausgeben. Durch die Verwendung von Funktionen haben wir die Möglichkeit, unser Skript leicht zu erweitern. Außerdem ist es durch die Funktionen um einiges übersichtlicher.Das war auch schon der 1. Teil und somit die Basis für unser kleines Skript.

:, , ,

2 Kommentare für diesen Beitrag

  • Sven

    Wieso benutzt Du nicht Google Analytics?

    Trotzdem sehr interessant.

  • devno

    Ich benutze Analytics, aber es ist auch sehr interessant einmal selber so eine Trackingsoftware zu schreiben. Wenn man die wichtigsten Funktionen selber implementiert hat, kann man das auch für eigene kleinere Projekte einsetzten und sicherstellen, dass keine Daten bei anderen Firmen landen.

Kommentar hinterlassen

Kalender

Juli 2010
M D M D F S S
« Mai    
 1234
567891011
12131415161718
19202122232425
262728293031