Auto Logout ??? A little Session-Prob.

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Auto Logout ??? A little Session-Prob.

    Tach!

    Ich hätte da mal ne Frage:

    Ich habe einen Memberbereich (PHP / MySQL), der durch einen Login mit Benutzernamen und Paswort (md5) geschützt ist.

    Soweit so gut.

    Wenn sich ein Benutzer einlogged, wird in der DB bei diesem User ein "ist_eingelogged = 1" gesetzt - damit sich niemand nochmals mit dieser Benutzernamen / Password Kombi einloggen kann.
    Durch klick auf den Logout-Butten meldet sich der User ab, Sessionvariablen und Session werden gelöscht, der Zugang wird wieder freigegeben.

    ! Nun meine Problem !
    Wenn der User NICHT auf den Logout-Button klickt, sonder den Browser schließt, bleibt der Eintrag "ist_eingelogged = 1" bestehen und der User kann sich nicht wieder anmelden.

    Wie schaffe ich es, dass beim schließen des Browsers diese DB-Einträge gelöscht (bzw. auf 0) gesetzt werden?

    Ich habe mir überlegt die Session_id zum User in die DB zu speichern - dann müßte ich nur überprüfen ob die Session noch existent ist, und wenn nicht die DB-Einträge löschen. Aber wie lese ich alle bestehenden Session_ids aus? Ich erhalte ja nur die gerade aktuelle mit "session_id()"



    Vielen Dank schon mal für die Mühe...

    Gruß

    Tharelon

    *auf Antwort hoffend*
    Inmitten von Schwierigkeiten liegen günstige Gelegenheiten.(Einstein)

  • #2
    update nur die session-id.

    ist der user das erste mal eingeloggt, bekommt er eine in die DB geschrieben.

    loggt er sich wieder ein, bekommt er eine neue id. der erste user ist damit nicht mehr eingeloggt.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Hmm...

      Aber dann kann ich nicht eine Anmeldung eines anderen User sperren, der sich über die selbe Benutzernamen/Passwort-Kombi anmeldet - oder?

      Ich müsste prüfen, ob die Session noch läuft, wenn ja sperren, sonst die Session_id updaten

      Oder so.
      Inmitten von Schwierigkeiten liegen günstige Gelegenheiten.(Einstein)

      Kommentar


      • #4
        dann arbeite mit einer zeitfunktion. feld -> LastAction = DATETIME

        wenn eine zeit abgelaufen ist , ist der login wieder möglich. siehe auch memberzone von happy bei den codeschnipseln
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar

        Lädt...
        X