Bei nahezu jeder Webseite wird ein (PHP-) Login-System gebraucht um den Nutzern persönliche Daten anzeigen zu können. Dieses Login System hat also die Funktion einer Zugangsbeschränkung, d.h. nur wer ein Passwort kennt erhält auch. Prinzipiell lässt sich das ganze natürlich mit der herkömmlichen HTTP-Authentifizierung (.htaccess) durchführen. Ein Login der so erstellt wird hat allerdings den Nachteil, dass man sich nicht mehr ausloggen (abmelden) kann. Deshalb werde ich in diesem Tutorial erklären, wie man ein einfaches Login System mit PHP programmiert.
Der folgende Code-Schnipsel realisiert ein einfaches Session-Basiertes Login-System mit PHP, der im folgenden genauer erklärt wird. Beide Schnipsel sind in eine Datei zusammenzufügen und werden hier nur aus Designgründen getrennt.
Geschützter Bereich
Erklärung PHP-Code
Der PHP-Code prüft, ob die Daten, die in das Login-System eingegeben wurden korrekt sind und falls dem so ist wird der Nutzer als “Berechtigt” markiert.
Die erste Zeile prüft, ob überhaupt eine Anfrage des Formulars abgesendet wurde. Formulare werden in der Regel durch eine POST anfrage übertragen. Die nächste Zeile startet eine Session. Eine Session ist ein kleine Datei auf dem Webserver, der alle Daten eines Nutzers in Form eines Arrays speichert. Die nächsten 2 Zeilen speichern die Inhalte der POST-Variablen in eine eigene Variable. Dieser Schritt ist inperformant (überflüssiges Datenkopieren) und dient nur dem besseren Verständnis.
Die folgende IF-Abfrage prüft, ob der Name und das Passwort korrekt sind. Ist dem so, so wird in die Session eingetragen, dass der Nutzer eingeloggt ist. Außerdem wird der Nutzer auf die angegebene Url weitergeleitet. Die Weiterleitung ist notwendig, weil der Nutzer sonst das Login-Formular sieht, obwohl er sich bereits eingeloggt hat.
Erklärung HTML-Login-Code
Der HTML-Code (2. Code-Schnipsel) dient ausschließlich der Darstellung des Login-Formulars. Der interessante Teil liegt zwischen dem und . Die erste Zeile sagt dem Browser, dass es sich in der Folge um ein Formular handelt, dass mittels POST übertragen wird. Die folgenden 2 Zeilen stellen die vom Nutzer einzugebenden Daten dar. Der Text der durch name=”xxx” eingetragen wird entspricht dabei den Variablen die mittels PHP-Post abgefragt werden.
Logout mit PHP
Der folgende Code realisiert einen Logout.
Die erste Zeile initialisiert die Session. Die zweite Zeile löscht die bestehende Session. Dabei werden alle Informationen, die in der Session gespeichert wurden gelöscht. Die letzte Zeile leitet den Besucher zurück zur Startseite.
Kommentare