Protokollscript mit PHP und MySQL

Logfiles sind eine wunderbare Sache. Was aber ist, wenn man beim Ablauf eines Scriptes genauere Informationen haben möchte, man z.B. protokollieren möchte, dass ein User an einer Stelle eine Fehleingabe vorgenommen hat? Oder was ist, wenn man den Ablaufzustand eines automatisch ablaufenden Scriptes protokollieren möchte? Dann ist man mit einem klassischen Logfile nicht gut bedient und man braucht ein Script, das solche Dinge protokolliert.

Ich habe ein kleines Protokollscript, besser gesagt eine Funktion, geschrieben, die diesen Zweck erfüllt. Man setzt die Funktion an der gewünschten Stelle ein, übergibt die gewünschten Parameter, und in einer MySQL-Datenbank wird alles festgehalten.

Die Funktion speichert folgende Werte:

  • GET-Variablen
  • POST-Variablen
  • SESSION-Variablen
  • COOKIE-Variablen
  • User-Agent
  • Referer
  • URI
  • IP
  • Querystring
  • Accept-Language
  • UserID (UID) – individuelle ID des Users
  • Message1 – individuelle Nachricht
  • Message2 – individuelle Nachricht
  • Flag – individuelles Flag

Bis auf die letzten vier, werden alle Werte automatisch erzeugt. Die individualisierbaren und an die Funktion zu übergebenden Werte sind:

UID (optional) integer
Falls Sie in Ihrer Applikation UserIDs verwenden, können Sie sie hier übergeben und damit später eine User-Identifikation durchführen. Beachten Sie dabei eventuell auftretende rechtliche Fragen zum Datenschutz, wenn Sie Informationen zusammenführen.

Message1 und Message2 (optional) varchar(255)
Hier übergeben Sie Ihre gewünschte Protokollnachricht(en). Es sind zwei Werte, damit Sie optional die Möglichkeit haben, übergeordnete Aussagen, wie z.B. Kategorien zu speichern.

Flag (optional) boolean
Falls Sie eine strenge Kategorisierung wünschen, können Sie das mit dem Flag machen, z.B. Erfolgsmeldung → 1, Fehlermeldung → 0 und sind dadurch in der Lage, sich in einem Rutsch alle Fehlermeldungen auszugeben.

Aufgerufen wird die Funktion folgendermaßen:

createDiary($Message1, $Message2, $Flag, $UID);

createDiary(„Verkehrte Eingabe durch User.“, „Fehlernummer: -7658“, 0, 26);


~4KB
Tabellenschema
Musterscript mit Funktion createDiary()

Download, MySQL, PHP, Webapplication, Webentwicklung