Hello,
Sieht ja ganz nett aus ...
Aber leider hab ich keine ahnung von My SQL Datenbanken =(
dann fang einfach an:
Starte eine Session.
Fordere den User zur Authentifikation auf.
Vergleiche seine Daten mit denen, die Du für ihn gespeichert hast, z.B. in einer Textdatei mit einem serialisierten Array oder einer CSV-Datei.
Wenn das "Login" nicht stimmt, zähle in Deiner Session den Zähler hoch oder füge einen Eintrag in einem Subarray der Session hinzu.
Besser wäre es aber, diese Einträge in der Userverwaltung vorzunehmen, also dort, wo Du Name und Passwort speicherst, denn da hast Du sie dann zentral für alle User. Außerdem sind diese Daten (fehlerhafter Versuch) ja auch an den User gebunden und nicht an seine Sessions... :-)
Welche Daten müste denn so eine Userverwaltung halten können?
- Username
- Passwort
- user-flag (0 für User darf sich einloggen, 1 = User ist eingelogged, 2 bis n = Sperrgrund)
- last_login
- last_request
- login_failed[]
- login_session
Da kannst Du jetzt ein serialisiertes Array daraus machen:
$_userdata = array(); ## leeres Array für alle User anlegen
$_userdata[$username] = array(); ## leeres Subarray für $username anlegen
$_userdata[$username]['password'] = $password; ## Password für $username festlegen
$_userdata[$username]['flag'] = 0; ## User ist nicht gesperrt und nicht angemeldet
$_userdata[$username]['lastlogin'] = 0; ## Letzter Login war um ...
$_userdata[$username]['lastrequest'] = 0; ## Letzter Request war um ...
$_userdata[$username]['loginfailed'] = array(); ## kein fehlerhaftes Login bisher
Dazu musst Du Dir nun nur ein paar kleine Funktionen schreiben, die die Datei auslesen, auswerten, updaten und wieder wegschreiben.
Bis etwa fünfhundert User kann man damit sehr gut leben.
Ein harzliches Glückauf
Tom vom Berg