tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
909
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Pumaxs Pumaxs ist offline Rookie
    Registriert seit
    Oct 2005
    Beiträge
    7
    Mahlzeit !
    Ich verwende das LoginSystem von dem Tutorial dieser Seite!
    Nun habe ich mir noch ein eigenes Automatisches Logout Script dazu geschreiben, allerdings funktioniert dieses nicht ganz so wie ich es mir vorgestellt hatte.

    Das Script schreibt beim Login die aktuelle Zeit plus 120 Sekunden in eine Variabel und setzt in der Datenbank die Statusflag auf 1 damit andere User auf dem Profil sehen können das der User online ist.

    Code :
    1
    2
    
    $_SESSION[start_time]= time()+120;
     mysql_query("UPDATE user SET status='1' WHERE id=$_SESSION[user_id]");

    Nun klickt der User sich durch die Seite und schläft dann nebenbei für 120 Sekunden ein. Wenn er dann weiter klicken will wird er automatisch ausgeloggt.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    if($_SESSION["start_time"] < time())
    {
    mysql_query("UPDATE user SET status='0' WHERE id=$_SESSION[user_id]");
     
    session_unset ();
    session_destroy ();
     
    header ("Location: index.php?logout=1");
    }

    Nun habe ich aber das Problem das die Informations Flag in der Datenbank auch nur dann auf 0 gesetzt wird wenn der User nochmal versucht was anzuklicken. Verlässt er aber die Seite ohne auf Logout zu klicken oder nach 120 Sekunden irgendwas anderes anzuklicken, bleibt die Statusflag auf 1 und andere User sehen ihn als online... das ist mist !

    Wie kann ich also die Datenbank dazubringen die Satusflag nach 120 Sekunden auf 0 zusetzten ?

    Danke

    Pumaxs
     

  2. #2
    Avatar von split
    split split ist offline Mitglied Platin
    Registriert seit
    Jan 2004
    Ort
    München
    Beiträge
    574
    Am besten speicherst du den Zeitpunkt der letzten Aktivität in die Datenbank und setzt in deinem Query die WHERE-Bedingung, dass die letzte Aktivität maximal 120 Sekunen alt sein darf. Einen Online-Status (0|1) brauchst du dann nicht.
     
    Um die Welt zu ruinieren, genügt es, wenn jeder seine Pflicht tut

  3. #3
    Pumaxs Pumaxs ist offline Rookie
    Registriert seit
    Oct 2005
    Beiträge
    7
    Sehr gute idee !! DANKE
     

Ähnliche Themen

  1. Automatischer Logout
    Von Marcel G im Forum .NET Windows Forms
    Antworten: 3
    Letzter Beitrag: 16.04.10, 15:43
  2. function zu: Userstatus
    Von sipoh im Forum PHP
    Antworten: 5
    Letzter Beitrag: 03.02.08, 23:22
  3. Logout - URL-Weiterlung
    Von Radhad im Forum PHP
    Antworten: 5
    Letzter Beitrag: 22.12.06, 08:36
  4. Login-Script + Userstatus ändern
    Von Caralynn im Forum PHP
    Antworten: 4
    Letzter Beitrag: 01.03.04, 08:02
  5. Userstatus
    Von Byter im Forum PHP
    Antworten: 14
    Letzter Beitrag: 10.12.03, 18:31