sehen wer online ist

Also wenn du MySQL hast:
Du brauchst eine table mit:
  • id
  • name
  • logintime
wenn jemand etwas anklickt und noch nicht in der table steht schreibst du einfach den Namen und die Logintime in diese table, dann kannst du mit einem einfachen Script die Namen aus der table Laden und anzeigen. Am anfang von dem Script überprüfst du bei allen Einträgen ob eine gewisse Zeit (zB 3 minuten) überschritten ist und löscht den eintrag dann. So stehn immer die Leute in der table die in den letzten 3 minuten auf der Seite aktiv waren.
Noch fragen?
 
Nein ist sie nicht!
Man kann ohne sie arbeiten, aber ich empfehle dir immer eine Eindeutige ID in jeder Tabelle zu haben!
Nützlich wird dies natürlich beim löschen oder updaten von Einträgen.
Was glaubst du denn sonst woher solche URL´s stammen "del.php?d=13" ;)

Eine ID sollte (sie ist immer sinnvoll) auf jeden Fall dabei sein!
 
achso wenn einer einloggt frage mache ich update

PHP:
UPDATE `benutzer` SET `login_time` = '".date("d.m.Y H")."' WHERE `id` = '".$_REQUEST["id"]."'
 
Ich benutzte auch grundsätzlich in jeder table eine id, aber in diesem Fall ist sie meiner Meinung nach echt recht Nutzlos.
 
Code:
  function DeleteOld()
  {
    $deletetime=time()-(60*3);
    $query="DELETE FROM table WHERE logintime<='$deletetime'";
    $result=mysql_query($query) OR die('MySQL Fehler! '.mysql_error());
  }
 
Bei mir auf der Seite habe ich das so geregelt, dass ich in die Tabelle, in der die Nutzer stehen, eine Spalte mit einem Timestamp eingefügt habe.

Dieser Timestamp wird bei jedem Klick auf der Seite aktualisiert.

Die Seite, die anzeigt, welche Benutzer online sind, zeigt nur die Benutzer an, die in den letzten 3 Minuten etwas auf der Seite gemacht haben. Meldet sich jemand ab, wird der Timestamp 3 Minuten und 1 Sekunde zurückgesetzt, damit diese Person nicht noch weitere 3 Minuten auf der Seite als online angezeigt wird.

Das funktioniert ganz gut.0
 
Zurück