Gibt es eine Möglichkeit dass ich per SQL und PHP wenn ich mich auf einen bestimmten Teil der Homepage von mir einlogge auf der Startseite als Online (Grünes Grafik-Bildchen) angezeigt werde wenn ich dann den Browser schließe oder auf Logout klicke soll das Grafik-Bildchen rot werden...
Der Login ist schon erstellt und läuft auch mit ner SQL-Datenbank aber ich weiß nicht wie ich das mit dem Online/Offline machen soll...
Online/Offline - Ausgabe ?
- Bones van Helghast
- Mitglied
- Beiträge: 157
- Registriert: 19.09.2008 08:31
Re: Online/Offline - Ausgabe ?
Code: Alles auswählen
$user_is_online = ...; //prüfen, ob Benutzer online ist
if($user_is_online) {
print '<img src="gruen.png">';
}
else {
print '<img src="rot.png">';
}
KB:knigge
- Bones van Helghast
- Mitglied
- Beiträge: 157
- Registriert: 19.09.2008 08:31
Re: Online/Offline - Ausgabe ?
Ja nein danke erst mal dass du mir hilfst.
Das hab ich schon gewusst nur ich meinte das Problem dass es in der DB gespeichert wird dass ich online/offline bin.
d.H wenn ich auf "Absenden" drücke und vorher passwort + benutzername eingegeben hab dann soll in der db genau bei dem nutzername auch online auf 1 stehen oder auf yes oder was weiß ich was es da gibt.
und anderst rum natürlich auch wenn ich dann auf logout geh also die sesson beende soll wieder auf 0 gehen oder auf no
Das hab ich schon gewusst nur ich meinte das Problem dass es in der DB gespeichert wird dass ich online/offline bin.
d.H wenn ich auf "Absenden" drücke und vorher passwort + benutzername eingegeben hab dann soll in der db genau bei dem nutzername auch online auf 1 stehen oder auf yes oder was weiß ich was es da gibt.
und anderst rum natürlich auch wenn ich dann auf logout geh also die sesson beende soll wieder auf 0 gehen oder auf no
- gn#36
- Ehrenadmin
- Beiträge: 9313
- Registriert: 01.10.2006 16:20
- Wohnort: Ganz in der Nähe...
- Kontaktdaten:
Re: Online/Offline - Ausgabe ?
Naja wie hältst du denn fest ob jemand angemeldet ist oder nicht? Das musst du doch sowieso nachhalten. Schreib doch einfach einen Eintrag in die Datenbank wo du den Timestamp bei jeder Aktivität aktualisierst und wenn dann jemand auf ausloggen klickt oder wenn der Eintrag zu alt wird (also keine Aktivität stattfand) dann wird der Eintrag entfernt und der User gilt als Offline.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Re: Online/Offline - Ausgabe ?
Das ist der falsche Ansatz. Wenn du den Browser schließt, dann wird ja nichts mehr an die Datenbank gesendet. Das heißt, du musst sicherstellen, dass es genügt, beim letzten Seitenaufruf einen Datenbankeintrag zu erzeugen.Bones van Helghast hat geschrieben:...dann soll in der db genau bei dem nutzername auch online auf 1 stehen oder auf yes oder was weiß ich was es da gibt.
und anderst rum natürlich auch wenn ich dann auf logout geh also die sesson beende soll wieder auf 0 gehen oder auf no
Das stellst du, wie schon von gn#36 erwähnt, an: Statt deiner 1 oder 0 speicherst du bei jedem Seitenaufruf den aktuellen Timestamp in der Datenbank. Dann kannst du bei deinem "Online"-Button abfragen, ob der Timestamp älter als zum Beispiel 5min ist. Wenn ja, dann ist der Benutzer eben Offline. Beim Logout kannst du den Timestamp auf 0 setzen, dann ist er definitiv älter, oder du speicherst das nochmal extra, dann kannst du beim nächsten Login, bevor du den neuen Timestamp einträgst noch ausgeben, wann man zuletzt eingeloggt war.
Code: Alles auswählen
if($user_timestamp > time()-5*60) {
echo "Online";
} else {
echo "Offline";