eintrag nach verlassen

Das ist in Ordnung! Das geht! Aber es ist nunmal nicht möglich ein Script beim Verlassen der Seite auszuführen!
 
Da hast du auch absolut recht! Das wäre jawohl auch ein Witz! Das wollte ich aber zu keiner Zeit erreichen.
Ich hatte (wie bereits erwähnt) nur sarkastische Wege aufzeigen wollen, eine möglichst genaue Feststellung der Besucher-Ativität zu erreichen.
Da fällt mir ein...

Man könnte in PHP die max_execution_time auf ca 10 Stunden setzten und von dem Script solange Daten an den Clienten senden lassen, bis dieser Offline geht (so das sozusagen ein dauerhafter Stream entsteht). Dann stellt das Script einen 'shutdown' fest und es kann ein Eintrag in die Datenbank geschrieben werden...

:rolleyes:

Oder man setzt einfach auf jeden Besucher einen Keylogger an, der die Browser-Klicks überwacht. Auf diese Weise könnte man auch gleichzeitig feststellen, wer wie oft zur Konkurenz geht... :mad:
 
Zuletzt bearbeitet:
Um noch einmal meine Frage aufzugreifen: Wozu willst du wissen, ob ein Benutzer online ist?
 
Meintest du mich?
Denn ich wollte das ja garnicht wissen - ich hab' nur Vorschläge dafür unterbreitet!
 
Leute ihr schwätz und schwätz hier und ich bin ganz durcheinander.

Naja am besten ist eine einfache Lösung das wenn man auf egal welchen link klick. Logintime aktuliesiert wird und man gibt aus wer die letzte minuten oder 3 minuten online war. Das könnte gehn aber ich bekomme das einfach nicht hin. Sonst wäre ich garnicht zum fragen gekommen.

wie könnte eine ausgabe lauten

If($user['logtime'] => 3 )

Irgentwie aber da muss man ja noch mit date() arbeiten.
Wenn mir einer so ein code geben könnte were gut.
 
Ok, eine wirklich simple Erklärung: Jede Aktion läuft über ein zentrales Skript (z. B. index.php). Dort werden jedes Mal die Daten des Benutzers aktualisiert (beispielsweise in einer Datenbank) und überprüft, ob die Differenz der letzte Aktion einen gewissen Zeitraum überschreitet.

Mehr ist es nicht. Ist das wirklich so schwer?
 
eigentlich nicht

Ich mache dann so
PHP:
 if($user['datum'] == date(d-m-Y))
 {
 if($user['zeit'] <= date(H:s))
 {
 echo 'user online'.$user['name'];
 }
 }
sowas änliches oder?
Ich glaube das es nicht geht ich weis sogar das es nicht geht.
Also bei der zeit abfrage, wie muss ich das da machen?
 
Angenommen, du arbeitest mit einer MySQL-Datenbank: Bei jedem Aufruf des zentralen Skriptes aktualisierst du die Zeitpunkt der letzten Aktion des Benutzers:
Code:
UPDATE
        `aktivität`
  SET
        `zeitpunkt` = NOW()
  WHERE
        `identifikation` = X
Falls du nun wissen möchtest, welcher Benutzer innerhalb der Zeitspanne t aktiv war, ist folgende Anfrage möglich:
Code:
SELECT
        `identifikation`
  FROM
        `aktivität`
  WHERE
        `zeitpunkt` <= NOW() - t
 
Zurück