Ja,
Die Datenbank-Klasse
Die Datenbankklasse wurde bereits in einem anderen ausführlich beschrieben. Ergänzend dazu, wurden hier alle Anmeldeinformationen für die Datenbank in der Variablen dbconfig abgelegt . Der Name der verwendeten Datenbank ist in diesem Fall myPHP. Dieser ist natürlich beliebig änderbar, ebenso wie der Servername und die Anmeldedaten für die Datenbank.
Dieses Skript stellt eine Sammlung von Methoden für den Zugriff auf eine MySQL- Datenbank zur Verfügung stellt.
Inhalt der Datei datenbank.php:
Die Login Klasse
Die Login-Klasse prüft unter Zuhilfenahme der Datenbank-Klasse die Authentifizierung der Benutzer.
Jede Instanz erwartet im Konstruktor die aktuelle Session-Id und prüft, ob Login- oder Logout- Informationen beim Seitenaufruf übergeben wurden. Ist dies der Fall, führt der Konstruktor eigenständig das Login bzw. Logout durch. Die Methoden login und logout sind aus diesem Grund privat und damit nur innerhalb der Klasse erreichbar. Über die Methode logged_in prüft die Klasse, ob der Benutzer authentifiziert ist.
Dazu wird in der Datenbank nach einem Benutzer gesucht, welcher die gleiche Session-Id wie der aktuelle Benutzer hat.
Die Methode showLogin gibt einen Anmeldedialog aus, mit dem ein Benutzer sich authentifizieren kann. Das Gegenstück dazu stellt showLogout dar. Durch den Aufruf dieser Methode wird ein Link ausgegeben, welcher zur Abmeldung dient.
Inhalt der Datei login.php
Diese Datei bindet alle benötigten Klassen ein und führt die Authentifizierung durch. Entdeckt das Skript einen nicht angemeldeten Benutzer, wird der Login-Dialog angezeigt und die weitere Ausführung mithilfe des exit Befehls beendet.
Inhalt der Datei logintemplate.php:
Durch das Einbinden der Datei logintemplate.php wird eine Seite zu einer geschützten Seite. Ein Include dieses Skriptes am Anfang der Seite führt die Authentifizierung automatisch durch. Wenn der Benutzer bereits angemeldet ist, werden alle Inhalte der aktuellen Seite angezeigt. Ist der Benutzer noch nicht angemeldet, wird der Login-Dialog angezeigt und die weitere Ausführung des Skriptes abgebrochen.