Online Liste
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
ansicht
antworten
benutzer
code
erstellen
fragestellung
helfen
http
liste
login
machen
minute
paar
parameter
programm
sekunde
server
tabelle
url
zeitstempel
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Das hat nun wirklich nix mit .NET und Mono zu tun --> verschoben.
Deine Fragestellung ist zu ungenau. Was hast du genau vor? Von was für einem Programm sprichst du? -
bladehunter schrieb:
Das hat nun wirklich nix mit .NET und Mono zu tun --> verschoben.
Deine Fragestellung ist zu ungenau. Was hast du genau vor? Von was für einem Programm sprichst du?
Meiner Ansicht nach will er so etwas wie bei der Online-Anzeige des FB-Chats erreichen, dass der Client alle paar Sekunden den Server anfunkt und dieser sich das in einer Tabelle merkt, wann zuletzt angepingt wurde :)
Dann kann er per PHP aus der Tabelle auslesen lassen, wer in den letzten paar Sekunden das Programm noch genutzt hat
Meine Ansicht nach ist das ein selbst geschriebenes Programm und er möchte gerne eine Nutzerübersicht haben oder sowas -
Das könnte so gelöst werden:
Der Client macht eine Anfrage an den Server, der speichert sich eine Timestamp in eine Datenbank.
Gleichzeitig werden alle Einträge die älter sind als z.B. 5 Minuen aus der Datenbank wieder gelöscht.
Wenn jemand wissen will, wie viele Leute online sind, macht er eine Abfrage wie die hier:
.SELECT COUNT(*) FROM online_users WHERE zeitstempel >= vor-5-minuten
Gelöscht werden die alten Eiträge z.B. so:
.DELETE FROM online_users WHERE zeitstempel < vor-5-minuten
vor-5-minuten musst du dir selber raussuchen, dazu bin ich jez zu faul...
Beitrag zuletzt geändert: 26.3.2012 21:51:02 von hackyourlife -
chatstory schrieb:
bladehunter schrieb:
Das hat nun wirklich nix mit .NET und Mono zu tun --> verschoben.
Deine Fragestellung ist zu ungenau. Was hast du genau vor? Von was für einem Programm sprichst du?
Meiner Ansicht nach will er so etwas wie bei der Online-Anzeige des FB-Chats erreichen, dass der Client alle paar Sekunden den Server anfunkt und dieser sich das in einer Tabelle merkt, wann zuletzt angepingt wurde :)
Ist zwar nett von dir gemeint, dass du hier versuchst zur Klärung zu helfen, aber solange der Threadautor nicht klar erklärt, was er machen möchte, kann diese Diskussion in eine völlig falsche Richtung abdriften, die dem Threadautor in keinster Weise weiterhilft.
Daher bitte ich darum hier nicht weiter zu posten, solange keine Klarheit besteht! -
Also, ich habe mir in Visual Basic 2008 ein Login für mein Forum erstellt (Software IPB) und nun möchte ich für diese Programm (mit dem Login) eine User-Liste bzw. Online-Liste erstellen wer das Programm gerade nutzt.
Und das sollte möglichst mit der sichersten Methode sein.
Verstanden :D -
Du willst also, dass immer angezeigt wird, ob ein User gerade so mit dem Browser, oder mit deinem Programm eingeloggt ist.
Ich denke, am einfachsten ist das über den Useragent zu realsisieren. Du musst dein Programm anweisen, dass es via HTTP einen bestimmten Useragent übermittelt, mit dem du dein Programm eindeutig identifizieren kannst.
Über PHP kannst du dann den übermittelten Useragent $_SERVER['HTTP_USER_AGENT'] abfragen und damit dann weiterarbeiten. -
1. Du erweiterst die Userdatenbank mit einem neuen Feld:
- client_last_seen (timestamp)
2. Das Programm ruft alle x Sekunden eine (PHP-)Datei, mit einem Parameter der den Benutzername angibt auf dem Server auf, die folgendes macht:
a) Timestamp des Benutzers aktuallisieren (UPDATE usertaballe SET client_last_seen = CURRENT_TIMESTAMP WHERE username = parameter_mit_username)
b) Liste der Benutzer in einem geeigneten Format (XML, JSON, ...) ausgeben, bei denen client_last_seen nicht älter als x Minuten ist
3. Diese Liste parsen und anzeigen.
Zur sicherheit könnte man die Authentifizierung verwenden, die du im Programm schon verwendet hast (ich gehe davon aus, dass man sich einloggen muss) oder einen zusätzlichen Hash für jeden Benutzer erstellen, den du wiederum als Parameter angibst und die Liste nur zurück gibst, wenn dieser stimmt. -
echt viele hildreiche antworten aber habe keine ahnung von php ^^
-
instantblood schrieb:
echt viele hildreiche antworten aber habe keine ahnung von php ^^
Moin,
da die anderen bereits dir mehrere Optionen genannt haben, tut es mir leid
dir sagen zu können dass dir hier wohl niemand ein fertiges Script schenken wird.
Dazu ist der Aufwand für Lau dann doch zu hoch.
Du wirst also wohl nicht an php vorbei kommen,
ich empfehle dir folgende Links um dich mit php vertraut zu machen:
http://www.php.net/
http://www.selfphp.info/
MfG -
möchte jetzt nicht extra php lernen nur für diese eine funktion :(
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage