Login Script!

Hello Leute ich brauche einen algorithmus oder eine idee bzw ein script was folgendes können muss:

Es soll ein Login Script sein wobei sich auf der Homepage nur eine person eingeloggt sein kann. Wenn eine zweite Person auf die Seite gelangt muss ein Hinweis stehen und er kann sich nicht einloggen.

das ganze bitte ohne ip zählung weil auch bei gleicher ip wenn jemand eingeloggt ist man nicht hineinkommt.

Außerdem sollte das ganze ohne Zeitverfall also das der user erst nach einer gewissen zeit ausgeloggt wird funktionieren.

Ich bitte um Hilfe

lg Kathi

gibt es keinen algorythmus für.

einfachste möglichkeit
die useraktivität mitloggen und wenn useraktivität unter XX Minuten dann sperren sonst freigeben.
Aber fertige scripte die du so ohne weiteres nutzen kannst wirst du nicht finden.

Gruß
Phillip

Es soll ein Login Script sein wobei sich auf der Homepage nur
eine person eingeloggt sein kann. Wenn eine zweite Person auf
die Seite gelangt muss ein Hinweis stehen und er kann sich
nicht einloggen.

Außerdem sollte das ganze ohne Zeitverfall also das der user
erst nach einer gewissen zeit ausgeloggt wird funktionieren.

du wirst eine eigene sessionid fuehren muessen, um den php-session-timeout sicher zu umgehen.
problem: wenn ich meinen browser schliesse und damit die sid nicht mehr in der url und u.u. nicht mehr im cookie habe, kann sich niemand mehr ausloggen. deshalb musst du dafuer einen override mechanismus implementieren.

beim login legst pruefst du ob ein merker gesetzt ist (in der datenbank oder im filesystem, je nach facon)
wenn der merker nicht existiert: ok + lege merker an, sonst nicht ok
beim logout: merker entfernen.

Hi, ich versteh leider nicht ganz was du meinst.

Nämlich es loggt sich ein user ein und ich lege ihm eine session id an dann kann ich diese ja nicht abfragen wenn sich ein zweiter user versucht einzuloggen. Die session gilt ja immer nur für einen user bzw „pc“.

Ich habe mir schon mal folgendes überlegt (vl is das eh das was du mit Merker meinst):

Wenn sich jemand einloggt schreibe ich in die Datenbank zb ein ja und wenn dieser „merker“ auf ja steht kann sich niemand ausloggen. Wenn sich die eingeloggte person nun wieder ausloggt setze ich den „merker“ in der db auf nein und ein andere könnte sich einloggen.

Problem dabei ist wenn jemand ohne sich auszuloggen einfach nur das fenster schließt steht weiterhin ein ja in der db und niemand kommt mehr rein.

ich weiß das es eine funktion unload gibt nur habe ich es nicht geschafft mit der den „merker“ wieder auf nein zu setzten wenn der user das fenster schließt. Weil nachdem das fenster geschlossen wurde ja kein script mehr ausgeführt wird!

lg kathi

Nämlich es loggt sich ein user ein und ich lege ihm eine
session id an dann kann ich diese ja nicht abfragen wenn sich
ein zweiter user versucht einzuloggen. Die session gilt ja
immer nur für einen user bzw „pc“.

du wirst sie aber abfragen muessen: um herauszufinden, dass der seitenaufruf von user1 kam, und nicht von user2 - sonst meldet user2 einfach ab und user1 fliegt beim naechsten klick raus :smile:

aber du hast recht, als alleiniges kriterium fuer dein problem taugt das nicht.

Ich habe mir schon mal folgendes überlegt (vl is das eh das
was du mit Merker meinst):

Wenn sich jemand einloggt schreibe ich in die Datenbank zb ein
ja und wenn dieser „merker“ auf ja steht kann sich niemand
ausloggen. Wenn sich die eingeloggte person nun wieder
ausloggt setze ich den „merker“ in der db auf nein und ein
andere könnte sich einloggen.

jupp, so war es gedacht.

Problem dabei ist wenn jemand ohne sich auszuloggen einfach
nur das fenster schließt steht weiterhin ein ja in der db und
niemand kommt mehr rein.

das ist auch das von mir beschriebene problem. und du hast gerade herausgefunden, warum im web sitzungen ablaufen :smile:

wenn du statt „ja“ die uhruzeit in die db schreibst kannst du beim 2. user im script abfragen: ok, da steht zwar ein merker, aber der ist von vor 1h also hat user1 nix mehr gemacht, also fliegt er raus und user2 kann sich anmelden.

ich weiß das es eine funktion unload gibt nur habe ich es
nicht geschafft mit der den „merker“ wieder auf nein zu
setzten wenn der user das fenster schließt. Weil nachdem das
fenster geschlossen wurde ja kein script mehr ausgeführt wird!

naja ein meist schon noch raus, aber du wirst damit nicht 100% der faelle abdecken koennen.

Also zunächst mal danke für deine Hilfe. Das mit die Zeit in der DB eintragen hört sich gut an ich denke so werd ich das machen.

Liebe Grüße

Kathi