Ankündigung

Einklappen
Keine Ankündigung bisher.

Probleme beim Logout

Einklappen

Neue Werbung 2019

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

  • Probleme beim Logout

    Mir ist letztens etwas in meiner Mitgliederliste aufgefallen. Ich war Online und am Tag zuvor war jmd. anderes Online, der zu dem Zeitpunkt wo ich Online war (also ein Tag später) immer noch als Online markiert war. In der DB habe ich gesehen, dass die Session-Id noch vorhanden war.

    Ich habe eine Auto-Logout-Funktion, die die User nach 15 Minuten automatisch ausloggt, dass geschieht aber nur, wenn er die Seite aktualisiert, macht jedoch nur den Tab / Fenster zu, bleibt die Session-Id noch vorhanden in der DB und der User wird noch als Online angezeigt.

    Ich hoffe das ist einigermaßen verständlich. Falls ihr den Code braucht, lasst es mich wissen.

    Danke schonmal.


  • #2
    Dann musst Du die Cookie-Laufzeit ändern.
    --

    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
    Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


    --

    Kommentar


    • #3
      Warum denn Cookies? Ich arbeite mit Sessions.

      Kommentar


      • #4
        Ja.



        http://www.php.de/php-einsteiger/489...rundlagen.html
        --

        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
        Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


        --

        Kommentar


        • #5
          Wenn du prüfen willst wie viele online sind speicher doch einfach die letzte Besuchszeit des Besuchers und lass immer berechnen wie viele Timestamps davon in z.B. den letzten 5 Minuten liegen. So hab ich in einem CMS gemacht.


          Kommentar


          • #6
            Also ich habe in meiner DB den Punkt "lastlogin" und "lastaction".

            Lastlogin ändert sich bei jedem Login und Lastaction bei jedem Seitenaufruf.
            Beim Login wird die Session-Id in die DB gespeichert und beim ausloggen auf NULL gesetzt. In der Liste prüfe ich dann welche Session-Id nicht NULL ist und lasse halt Online ausgeben.

            Kommentar


            • #7
              Wenn Du das Sessionhandling in der DB nachgebaut hast, dann bist Du selbstredend auch für die Bereinigung selbst zuständig. Für „normale“ Sessions sind eben Cookihandling und Garbage collector zuständig.

              So, was ist jetzt die Frage?
              --

              „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
              Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


              --

              Kommentar

              Lädt...
              X