PHP Tutorial: Login/Memberbereich mit SessionsAdminmodul für das eigene Gästebuch, Controlpanel eines Forum oder einfach nur für ein geschützer Bereich.
2
![]() 3 Wie man an der action der Form erkennen kann geht es bei verify.php weiter, dort wird jetzt die Session gestartet und die Daten überprüft und als Sessionvariablen gespeichert.
So, hier wird die Session gestartet, es ist wichtig das kein HTML Code davor steht. Es gibt auch behauptungen dass garkein Code davor stehen darf, was allerdings quatsch ist. Vor dem session_start darf nur kein Code stehen der irgendwie im Browser angezeigt wird.
Hier werden die ‚globalen’ Variablen included. Dies macht Sinn bei grösseren Projekten bei denen bestimmte Daten von vielen Scripten benötigt werden, zB. Die Daten zur Konnektierung zur Datenbank, durch das includen hat man den Vorteil dass man die Daten nur einmal verändern muss, anstatt das man jedes Script ändern müsste.
Hier wird überprüft ob die Variablen $username und $passwort existieren. Ist dies nicht der Fall dann bricht das Script ab, denn wo nix da ist braucht man auch nix zu überprüfen. Man sollte dies eigentlich mit allen Variablen tun die von einem anderen Script erwartet werden denn es kann zu unangenehmen Fehlern kommen wenn das Script auf Variablen zugreifen will die nicht existieren, das sieht nicht schön aus.
Hier wird eine Verbindung zum MySQL-Server aufgebaut, das @ Zeichen unterdrückt eine Fehlermeldung wenn der Versuch fehlschlägt, dies geschieht wieder aus Schönheitsgründen, naja und dann wird geschaut ob die Verbindung zustande kam. if(!$conn) ist wieder so ein kleiner Kniff, denn eigentlich will man ja wissen ob es geklappt hat, aber es sinnvoller zu schaun ob es nicht geklappt hat, denn dann brechen wir das Script ab und müssen nur einen Befehl in die if-Klammer setzen, ansonsten müssten wir alle weiteren Befehle einklammern. Das ! Zeichen negiert den Ausdruck $conn, falls dieser also FALSE ist dann wird der if Ausdruck TRUE, denn Minus mal Minus ist ja auch Plus.
Hier wird dann die Datenbank ausgewählt, dieser Befehl ist nötig wenn mehrere Datenbanken auf den DB-Server existieren. Damit wird die erstellte Verbindung $conn mit der Datenbank $dbname ‚verbunden’. Es kann ja durchaus sein dass man mehrere Verbindungen zu verschiednen Datenbanken aufbaut.
Diese beiden Zeilen senden eine SQL Abfrage an die Datenbank. Ich mache das immer so das ich eine Variable $query erzeuge die dann im mysql_query Befehl abgesendet wird, theoretisch kann man auch alles direkt eintragen, das würde dann so aussehen :
Ich finde allerdings das dadurch die Übersicht verloren geht, ausserdem erstrecken sich kompliziertere Abfragen oft über mehrere Zeilen und dann sieht es wirklich nimmer gut aus ! Die SQL Abfrage macht folgendes sie ruft aus der Datenbank zugriff die Werte pass und level ab die in den Datensatz stehen wo die Spalte name mit $username gleich ist. SQL ist eigentlich ein gebrochenes Englisch und man kann sich dies zunutze machen wenn man mal wieder bei einem Query nicht weiterkommt. Ich übersetzte mir den Kram dann ins deutsche, hier wäre es ungefähr so : „LIES (SELECT) pass und level AUS DER DATENBANK (FROM) zugriff WO (WHERE) name GLEICH (=) ‚$username’ IST“. So kann man sich das schön herleiten finde ich.
|
Ü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
|