Eingeloggte User ausgeben
Eingeloggte User ausgeben
Hallo!
Mein Problem ist, dass ich auf meiner Homepage die User die gerade Eingeloggt sind ausgeben will. Ich hab das jetzt ziemlich einfach gemacht. Und zwar so:
Wenn sich ein User einloggt, wird in der DB ein Eintrag auf 1 gesetzt. Wenn er sich wieder ausloggt, dann wird der Eintrag wieder auf 0 gesetzt. 1 == eingeloggt, 0 == ausgeloggt
Und jetzt wenn ich mein Browser Fenster schließe werde ich automatisch ausgeloggt, aber der Eintrag in der DB bleibt vorhanden!
Das will ich aber nicht weil es einfach zu unprofessionell ist! Deshalb will ich das anders lösen! Aber wie mach ich das am einfachsten?
Mein Problem ist, dass ich auf meiner Homepage die User die gerade Eingeloggt sind ausgeben will. Ich hab das jetzt ziemlich einfach gemacht. Und zwar so:
Wenn sich ein User einloggt, wird in der DB ein Eintrag auf 1 gesetzt. Wenn er sich wieder ausloggt, dann wird der Eintrag wieder auf 0 gesetzt. 1 == eingeloggt, 0 == ausgeloggt
Und jetzt wenn ich mein Browser Fenster schließe werde ich automatisch ausgeloggt, aber der Eintrag in der DB bleibt vorhanden!
Das will ich aber nicht weil es einfach zu unprofessionell ist! Deshalb will ich das anders lösen! Aber wie mach ich das am einfachsten?
Schau dir mal die page_header.php und dort die Routine für "Who's online" an. Da wird dann z.B. folgende Abfrage verwendet (gekürzt):
Gruß, Philipp
Code: Alles auswählen
$sql = "SELECT u.username, u.user_id, u.user_allow_viewonline, u.user_level, s.session_logged_in, s.session_ip
FROM ".USERS_TABLE." u, ".SESSIONS_TABLE." s
WHERE u.user_id = s.session_user_id
AND s.session_time >= ".( time() - 300 ) . "
ORDER BY u.username ASC, s.session_ip ASC";
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Kannst du etwas genauer konkretisieren, woran es scheitert?
Gruß, Philipp
Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Der SQL-Befehl gibt dir alle User aus, die in den letzten fünf Minuten aktiv waren (also genau die, die auch unter "Who is online" stehen). Als SQL-Abfrage an die Datenbank schicken und dann die Namen der User (username) ausgeben - und du solltest das haben, was du willst.
Gruß, Philipp
Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Einfach den SQL-Befehl so ausführen, wie er da steht (ggf. natürlich die Tabellen-Konstanten austauschen) - und fertig 
Gruß, Philipp

Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Ich brauch das ja nicht fürs Forum sondern für meine HP! Und ich will nicht wissen wie viele User im Forum online sind, sondern wie viele auf der HP online sind!
Vielleicht hab ich es falsch erklährt. Und auf der Homepage schau mein Usertabe so aus:
Muss ich da jetzt noch eine Sesssion_id Zeile einfügen?
Vielleicht hab ich es falsch erklährt. Und auf der Homepage schau mein Usertabe so aus:
Code: Alles auswählen
id int(255) Nein auto_increment
username varchar(255) Nein
password varchar(255) Nein
email varchar(255) Nein
birthday varchar(255) Ja NULL
rank varchar(255) Nein
reg_date date Nein 0000-00-00
homepage varchar(255) Nein
name varchar(255) Nein
location varchar(255) Ja NULL
job varchar(255) Ja NULL
icq varchar(9) Ja NULL
msn varchar(255) Ja NULL
hobbies varchar(255) Ja NULL
about_me text Ja NULL
gender varchar(255) Ja NULL
Du könntest ggf. deine Seiten in das phpBB-System mit einbinden (KB:phpbb_seite)
Ansonsten wirst du nicht herumkommen, einen ähnlichen Weg wie phpBB zu gehen: die Benutzer mit Zeitstempel in einen Tabelle schreiben, bei jeder Aktion den Zeitstempel aktualisieren und dann ein Limit setzen, ab wann du den User als offline ansiehst. Wenn der User den Browser schließt, bekommst du das i.d.R. nicht mit.
Gruß, Philipp
Ansonsten wirst du nicht herumkommen, einen ähnlichen Weg wie phpBB zu gehen: die Benutzer mit Zeitstempel in einen Tabelle schreiben, bei jeder Aktion den Zeitstempel aktualisieren und dann ein Limit setzen, ab wann du den User als offline ansiehst. Wenn der User den Browser schließt, bekommst du das i.d.R. nicht mit.
Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods