Login nur 1 User gleichzeitig möglich?

webpagemaster

Erfahrenes Mitglied
Hallo,

Wie kann ich ein Login Script erstellen, dass so inteligent ist, dass sich nur 1 User Anmelden kann...
... damit nicht zwei User den gleichen Datensatz in der MySQL Datenbank bearbeiten können.
 
setze doch einfach nach dem login eine mysql spalte auf "1", und frage bei jedem login diese spalte ab...

ist die spalte "1" dann schmeißte den admin raus "es ist schon ein anderer eingeloggt",
ist die spalte "2" dann gehts weiter... und beim logout setze die spalte einfach wieder auf "2" oder halt beim sessionverfall.
 
Indem du den Loginvorgang in einer Session hinterlegst. Danach prüfst du, ob eine Session vorhanden, wenn ja, dann kein weiterer Login möglich. Wenn nicht, läuft die Anmeldung durch.
 
saila hat gesagt.:
Indem du den Loginvorgang in einer Session hinterlegst. Danach prüfst du, ob eine Session vorhanden, wenn ja, dann kein weiterer Login möglich. Wenn nicht, läuft die Anmeldung durch.
Das funktioniert aber nicht wenn Du insgesamt nur einen User zulassen willst, was meiner Meinung nach hier der Fall ist.
Da wird er schon irgendwie (Datenbank/Textdatei) festhalten muessen ob jemand eingeloggt ist.
 
Warum, er legt ein eigenes Verzeichnis für die Session an
session.save_path('eigenes_verzeichnis');

liest dieses aus ob eine session vorhanden ist. wenn ja, nichts, wenn nein neue session.

Cookies müssen natürlich hierbei vermieden werden und die Sessionprüfung läuft rein auf $_SESSION.

Er kann auch eine Session über die DB laufen lassen. Ist ein User in der DB-Tabelle session aktiv, ist ein weitere Login nicht möglich.

Darüber hinaus kann er weitere Daten in der Session speichern - sofern erforderlich.
 
Ich würde einfach zu dem Flag, ob einer eingeloggt ist noch die Zeit abspeichern und diese bei jeder Aktion wieder setzen. Also das sie einafch die letzte Aktion des Users anzeigt. Denn wenn er sich nicht auslogt, steht immer noch das ein User sich eingelogt hat.

Beispiel:
User A logt isch ein. Ein Flag wird in der DB auf 1 gesetzt. Ergo, keiner kann isch mehr einloggen. User A klickt ein bisschen rum und schliesst das Browserfenster. Das Flag ist jetzt immernoch auf 1. Und es kann sich nie wieder wer einloggen :-) .

Wenn jetzt noch die letzte Aktionszeit drinsteht, und diese älter als, sagen wir mal 1 Stunde ist, wird User A gekickt und der neue User B hat zugriff.

My 2 Cents ;)

MFG
X
 
Zurück