PHP Tutorial: Wie erstelle ich ein LogIn-Skript?Das folgende Tutorial nutzt eine Datenbank, in der die Benutzerdaten gespeichert werden und eine Session, in der der Benutzer registriert wird.
4
![]() 9 Zeile 01 - 04Gleich zu Beginn geht es mit einer PHP-Funktion namens session_start() los.
Man sollte eine Session immer vor der ersten HTML-Ausgabe starten. Daher habe ich mir angewöhnt, die Funktion immer
an die erste Stelle im Quelltext zu setzen. Weiter geht es mit dem Einbinden der Datei connect.inc.php mittels der PHP-Funktion require(). Mit dieser Funktion zwingen wir den Webserver, den Inhalt der in Klammern angegebenen Datei, in unser Skript vorzunehmen. Sollte die Datei nicht existieren, wird das Skript abgebrochen. Die nächsten Angaben sind HTML-Angaben um eine normale HTML-Datei zu erzeugen. Zeile 09Mit <link rel="stylesheet" type="text/css" href="style.css"> binden wir unsere Stylesheet-Datei ein, die wir später noch erstellen werden. Zeile 12 und 13In Zeile 12 starten wir die Abfrage <?php if(!isset($_POST['submit'])) { ?>, die auf Deutsch soviel heißt wie: Wenn der Button mit dem name-Attribut submit noch nicht gedrückt wurde, führe folgenden Quelltext aus. Der folgende Quelltext ist eine ganz normale HTML-Tabelle mit einem Formular, das zwei Textfelder für den Benutzernamen und das Passwort enthält. Zeile 22Wer will, der kann das Textfeld Benutzername auch mit einem Wert vorbelegen, wenn der Button gedrückt wurde und das
Textfeld Benutzername nicht leer ist. In Zeile 36 schließen wir die Abfrage aus Zeile 12 wieder und fahren mit weiteren Abfragen fort. Zeile 36 und 37Hier erfolgt mit elseif (ansonsten wenn) eine weitere Abfrage.
}elseif(!isset($_POST['username']) || $_POST['username'] == "") {
Die Abfrage lautet auf Deutsch: Zeile 38 - 44Hier geschieht das Selbe wie in den Zeilen 36 und 37, nur dass dieses mal die Überprüfung für das Passwort stattfindet.
Weiterhin geben wir hier mit dem echo-Befehl ein kleines Formular mit einem versteckten Feld (<input type="hidden" name="username" value="'.$_POST['username'].'">),
das den geposteten Usernamen als Wert enthält, aus. Zeile 45 - 48Wurden beide Angaben (Benutzername und Passwort) eingegeben und über den Button gesendet, gelangen wir in den else-Zweig (Ansonsten). Hier wird als nächstes der Variablen $password mit der PHP-Funktion md5() eine codierte Zeichenkette zugewiesen. Als nächstes erfolgt mit @mysql_query eine Abfrage an die Datenbank, die als WHERE-Klausel die Bedingung stellt, dass nur der Username und das Passwort des Benutzers ausgewählt wird, der mit dem Formular gesendet wurde: WHERE user = '".$_POST['username']."' Mit or die("Select ist fehlgeschlagen!"); generieren wir im Falle eines Fehlschlagens der Abfrage unsere eigene Fehlermeldung die ausgegeben wird und brechen das Skript ab. In Zeile 48 erzeugen wir eine Variable namens $result, die das Ergebnis unserer Abfrage enthalten soll. Schlägt die Abfrage fehl (Der Benutzername existiert nicht), bekommen wir kein Ergebnis zurück und wir brechen wieder mit or die das Skript ab und erzeugen unsere eigene Fehlermeldung. Zeile 49 - 55Haben wir bis hierher alles überstanden (Benutzername und Passwort eingegeben und Benutzer existiert in der Datenbank),
starten wir die nächste Abfrage. Zeile 56 - 62Ist auch das eingegebene Passwort korrekt, gelangen wir in den else-Zweig (ansonsten).
Wir erzeugen in Zeile 57 die Variable $user und weisen ihr als Wert den über das Formular gesendeten Benutzernamen zu.
In Zeile 58 wird nun mit der PHP-Funktion session_register() die Variable $user in der Session registriert.
Bitte beachten! Zeile 63 und 64Diese beiden Zeilen schliessen das <body>- und das <html>-Tag Die index.php ist somit abgeschlossen und fertig.
|
Über den Autor
Tutorial bewertenHat Ihnen dieses Tutorial gefallen? Dann bewerten Sie es jetzt! Fünf Sterne bedeutet "Sehr gut", ein Stern "Unzureichend". aktuelle Artikel
|