Hallo lieber Marcus,
ich hoffe es reicht Dir, wenn ich Dir erkläre, wie das Prinzip funktioniert.
Als erstes braucht man natürlich in der MySQL Datenbank eine User-Tabelle, in der der Benutzername, das Passwort und Optional noch andere Einstellungen zu finden sind.
Bei der Registration wird ganz normal ein Formular ausgefüllt, und mit POST an ein PHP-Script verschickt.
Dort muss dann natürlich überprüft werden, ob der Benutzername bereits existiert oder nicht, und das Passwort sollte man aus Benutzerfreundlichkeit mit SHA1 “hashen”. Dann sämtliche relevanten Daten in einen neuen Datensatz in die User-Tabelle speichern
Beim Anmelden brauchen wir ja nur ein Formular in dem wir Benutzername und Passwort eingeben.
Das Anmeldeformular wird dann an Beispielsweise die Datei login.php gesendet, in welchem dann der Benutzername und das Passwort auf gültigkeit überprüft wird.
Ist alles in Ordnung, sorgen wir dafür dass der Browser einen sogenannten “Cookie” erhält, in dem einige Informationen stehen, die den Benutzer betreffen.
Meine Variante ist immer wie folgt:
Ich habe eine extra Tabelle, die nenne ich "sessions"
in der habe ich eine Spalte “sid” und eine spalte “uid”
wenn sich ein Benutzer erfolgreich einloggt, wird ein zufallstext generiert, der in die Spalte sid in der sessions tabelle geschrieben wird UND als cookie an den Browser gesendet wird.
im Selben Datensatz zu der sid wird natürlich die Benutzer ID, aus der Tabelle der User gespeichert.
ein weiteres Script, dass ich einfach session.php nenne, wird jetzt in jedem Script eingebunden, in dem sich meine Benutzer “bewegen”.
Bei jedem Klick wird also die session.php aufgerufen, welche überprüft, ob der Cookie mit der “sid” vorhanden ist, und zu welchem benutzer diese gehört.
Wenn alles in Ordnung ist, wird in der session.php eine “login”-variable auf true gesetzt, welche ich in andere Scripten dann einfach nur abfragen brauch.
mfg Balmung