Session auto. beenden

  • Hi,


    ich hab dank euner Seite erfolgreich ein Loginbereich erstellen können. Jetzt hab ich diesen Login mittlerweile so umgestaltet dass das Cookie nur noch 2 Stunden gültig ist und die User angezeigt werden die aktuell online sind.


    Und da liegt das Problem. Wie die User halt sind, faul, klicken die nie auf logout was heißt dass da dann ewig steht sie seien online weil ja das Cookie abläuft aber in der Datenbank immernoch die aktuelle Session läuft.
    So und deshalb wollte ich hier mal fragen wie man es dann machen kann das man nach z.B. 2 Stunden auto. ausgeloggt wird oder man sogar ausgeloggt wird wenn man den Browser schließt.



    Über eine Antwort würde ich mich sehr freuen...


    MfG, Eggerd




    PS: "Da bin ich wieder - xD"

  • am besten du machst dir in deiner MySQL Tabelle eine neue spalte Namens Letzte_Aktion.


    Dann schreibst du in jede deiner seiten ein:

    Code
    if(isset($_SESSION['UserID'])){
            $sql = "UPDATE
                            User
                    SET
                            Letzte_Aktion = '".time()."'
                    WHERE
                            ID = '".$_SESSION['UserID']."'
                   ";
            mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
        }


    Um nun zu prüfen wer Online ist kannst du dann einfach nehmen:

    Code
    if(time()-60*2 < $row['Letzte_Aktion'])
                $online = "<span style=\"color:lime\">online</span>\n";
            else
                $online = "<span style=\"color:red\">offline</span>\n";


    Der Code ist nicht getesten, aber es müsste funktionieren

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!