Hanjo: Feststellen, wer "online" ist ?

Moin auch,

wie kann ich (evtl. mit php-session ?) feststellen, wer online ist ?

Oder besser, wer _nicht_ mehr online ist.

Die User loggen sich zwar ein, die session wird in MySQL festgehalten, aber wie stelle ich serverseitig fest, daß die session noch gültig ist ?

Denn ausloggen tut sich sowieso keiner.

TIA

Hanjo

  1. Hallo,

    vielleicht hilft dir Christians Feature-Artikel weiter:
    http://aktuell.de.selfhtml.org/artikel/programmiertechnik/useronline/

    Gruß,
    _Dirk

    1. Hallo,

      vielleicht hilft dir Christians Feature-Artikel weiter:
      http://aktuell.de.selfhtml.org/artikel/programmiertechnik/useronline/

      Noch 'ne Variante: Beim ersten Aufruf der Seite wird ein Cookie gesetzt der nur in einer Browsersitzung gültig ist. Im HTML Header gibts dann einen automatischen Refresh, der die Seite in kurzen Abständen (5 min) neu lädt. Da nun der Useragent den gesetzten Cookie in jedem Request wieder an den Server schickt, kann dort (mit der Genauigkeit der Refresh Zeitabstände) festgestellt werden ob der Browser noch offen ist.

      Ich persönlich würde sowas jedoch nur machen wenn es dafür einen ausgesprochen guten Grund gibt.

      Gruss, Rolf

      --
      SELFforum - Das Tor zur Welt!
      Theoretiker: Wie kommt das Kupfer in die Leitung?
      Praktiker: Wie kommt der Strom in die Leitung?
    2. Hallo,

      vielleicht hilft dir Christians Feature-Artikel weiter:
      http://aktuell.de.selfhtml.org/artikel/programmiertechnik/useronline/

      Moin auch,

      danke, der Artikel war sehr hilfreich.
      Dennoch habe ich etwas nicht ganz verstanden:

      Beim Login speichere ich sowieso die session_id in einer (MySQL)-Datei zusammen mit der user_id.
       Wie kann ich nun relativ sicher feststellen, ob diese session_id noch gültig ist ?

      In dem script von Christion heipt es da:

      if (!empty ($_SESSION['username'])) {

      zaehle_besucher ($_SESSION['username']);

      Wie jedoch wende ich das auf meine MySQL-Tabelle (in der die session_id festgehalten ist) an, um herauszufinden, welche der dort verzeichneten sessions noch aktuell sind ?

      Denn:
      der User, der die Datenbank abfragen kann, ist ja selber eingeloggt, sonst könnte er es ja nicht.

      Ich möchte eine bestimmte Datenbankabfrage benutzen, um die Tabelle von 'Müll' zu reinigen.
      Also habe ich da eine Reihe von session_id's bei denen ich wissen möchte, gibt es dazu einen _eingeloggten_ User oder nicht ?

      TIA
      und Gruß von der Ostsee

      Hanjo

      1. use Mosche;

        Beim Login speichere ich sowieso die session_id in einer (MySQL)-Datei zusammen mit der user_id.
         Wie kann ich nun relativ sicher feststellen, ob diese session_id noch gültig ist ?

        Speichere dazu einen Zeitstempel, den du bei jedem Request erneuerst. Dabei kannst du dann Tupel, für die session_last_update < Current_TIMESTAMP() - EPS gilt, löschen.

        use Tschoe qw(Matti);

        --
          Anyone who quotes me in their sig is an idiot. -- Rusty Russell.