PHP Session

  • Hi!

    Hab mir gerade einen kleinen Chat mit PHP + CSS geschrieben, funktioniert ganz gut, nur eine Sache bekomm ich nicht in den Griff. Ich schreibe die User alle einfacherhalber in eine Datei (Einträge und dergleichen in Datenbank, wobei dort auch immer nur die letzten 15 Beiträge persistent gespeichert werden), die sich angemeldet haben. Jeder bekommt eine Session zugewiesen am Anfang. Ich mein, mir ist klar, dass, wenn der User "Logout" drückt, ich dann einfach seinen Namen aus der Datei löschen kann und er somit nicht mehr aufscheint. Kann ich das irgendwie machen, auch wenn er einfach nicht auf Logout drückt ?
    Nun hab ich als Lösung einfach eine eigene TimeOutKLasse im Sinn, wenn er sich x Minuten nichts eintippt oder dergleichen, wird er + Session halt gelöscht.
    Gibts ne elegantere Methode ?, bin für Tipps echt dankbar. Und ja, ich hab noch nicht viel Erfahrung mit PHP

    In jeder noch so negativen Erfahrung liegt unter den Gefühlen das Wissen für später vergraben.

  • Ich hab auch einen Chat für mein MMORPG mit PHP geschrieben. Ich hab auch eine eigene Session Klasse geschrieben und dein Problem hab ich auch gelöst. Ich erklär mal wie ichs realisiert hab.

    Jeder Benutzer wird in eine Datei/Datenbank geschrieben und dazu noch ein absoluter Zeitstempel. Wichtig ist, dass alle dieselbe Datei/Datenbank verwenden. Bei jeder Aktion eines Users wird sein Zeitstempel aktualisiert und alle anderen in der Datenbank befindlichen User überprüft, ob deren Zeitstempel nicht schon zu lange nicht aktualisiert worden sind. Wenn das der Fall ist, einfach rausgelöscht und ausgeloggt. Vielleicht gibts noch eine elegantere Lösung, aber ich glaube, dass ist schon brauchbar. Ich hoffe es hat geholfen.

    640K ought to be enough for anybody. :eek2:

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!