kostenloser Webspace werbefrei: lima-city


Aktualisierung ohne Aufruf der Seite

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    testworld

    testworld hat kostenlosen Webspace.

    Hey,
    ich brauche ein auto Logout da viele bei mir nicht auf den logout button klicken und deshalb immernoch als Online gekennzeichnet werden. Wenn die user z.b. mal kurz afk sind darußen sind wärden sie automatisch asugelogt... aber wie kan ich das realisieren wen einfach z.b. der browser geschlossen wird?.. Ich brauch ja eine Seite die das kontrolliert und deshalb immer aktulisiert wird aber so eine Seite kan sich ja nur aktulisieren wen sich eine Person auf der seite befindet egal ob ich es mit ajax,javascript oder mit meta weiterleitung mache.

    Wie kan ich das realisieren??!!
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Zeit der letzten aktivität notieren -> wenn diese länger als ein bestimmtes limit zurück liegt, wird der user als offline angezeigt.
  4. Normalerweise müsstest du ein nur cookie setzen lassen, das nach 30 min. oder so abläuft wenn es nicht aktualisiert wird.

    Hier ein Tutorial dazu: http://www.php-einfach.de/tuts_php_cookies.php

    Also auf jeder Seite ein Script das das Cookie wieder auf 30 min setzt.
  5. julian101 schrieb:
    Normalerweise müsstest du ein nur cookie setzen lassen, das nach 30 min. oder so abläuft wenn es nicht aktualisiert wird.

    Hier ein Tutorial dazu: http://www.php-einfach.de/tuts_php_cookies.php

    Also auf jeder Seite ein Script das das Cookie wieder auf 30 min setzt.
    Damit würdest du erreichen, dass Leute sich bei der nächsten Aktivität neu einloggen müssen. Soweit ich das verstanden habe, geht es aber viel mehr um eine "Online-Anzeige". Beispielsweise ähnlich wie bei Lima. Wenn man online ist, hat man nen grünen punkt, wenn man offline ist, einen roten. Bei ihm werden die Leute aber "ständig" als online angezeigt, bis sie sich ausloggen. Da der Cookie nicht ausgelesen wird, wenn die anzeige überprüft wird, bringt ein Cookie also wenig.

    Mag allerdings sein, dass ich das falsch verstanden habe. Ist ja nun nicht gerade eindeutig ausgedrückt, was der TE erwartet.
  6. Autor dieses Themas

    testworld

    testworld hat kostenlosen Webspace.

    nerdinator schrieb:
    Zeit der letzten aktivität notieren -> wenn diese länger als ein bestimmtes limit zurück liegt, wird der user als offline angezeigt.


    Das ist ja mein Problem die seite wo es überprüft wird muss sich ja immer aktulisieren aber dies geht ja nicht außer ein user befindet sich auf der seite.

    Ich brauch ja eine Seite die das kontrolliert und deshalb immer aktulisiert wird aber so eine Seite kan sich ja nur aktulisieren wen sich eine Person auf der seite befindet egal ob ich es mit ajax,javascript oder mit meta weiterleitung mache.
  7. testworld schrieb:
    Das ist ja mein Problem die seite wo es überprüft wird muss sich ja immer aktulisieren aber dies geht ja nicht außer ein user befindet sich auf der seite.

    Ich brauch ja eine Seite die das kontrolliert und deshalb immer aktulisiert wird aber so eine Seite kan sich ja nur aktulisieren wen sich eine Person auf der seite befindet egal ob ich es mit ajax,javascript oder mit meta weiterleitung mache.
    Es ist doch tendenziell unerheblich, ob der User online ist, wenn es keiner sieht, oder?

    Du schreibst einfach bei der Anzeige der "online-Liste" eine Routine rein, die ihn notfalls auf "offline" setzt, wenn sich jemand die Seite ansieht. So muss der "online-Status" nur aktualisiert werden, wenn jemand sich ansieht, ob die Person online ist.

    Du machst beispielsweise anstelle eines "Online/Offline"-Feldes in einer Datenbank ein Feld, wo eingetragen wird, wann er das letzte mal online war. Wenn Aktueller Timestamp - Wert in der Tabelle > 300000, dann war der user länger als 5 Minuten nicht mehr am Rechner, ist beispielsweise also offline.

    Also wenn ich dein Problem richtig verstanden habe.
  8. Autor dieses Themas

    testworld

    testworld hat kostenlosen Webspace.

    Mhm,
    ich habe eine art spiel gebaut auf jedenfall sieht man auf einem "Platz" wer alles on ist samt bild etc. auf diesem platz steht man immer da man sich net bewegen kan^^

    Jetzt ist mein problem ich muss von jeder person überprüfen wan ihr letzte aktivität war da aber viele User ich habe brauche ich extrem viele Abfragen das wäre also nicht Clever verstehst du mein problem?^^ Weißt du eien Lösung?^^
  9. $sql = "SELECT * FROM user WHERE lastActivity <= ".(time()-60*5);

    gibt alle User zurück, die in den letzten 5 Minuten was gemacht haben
    und das mit nur einem query

    Beitrag zuletzt geändert: 14.2.2010 16:47:07 von fchriis
  10. fchriis schrieb: $sql = "SELECT * FROM user WHERE lastActivity <= ".(time()-60*5);

    gibt alle User zurück, die in den letzten 5 Minuten was gemacht haben
    und das mit nur einem query
    Das kann man dann noch spezifizieren mit "ORDER BY" usw. Aber prinzipiell genau so dachte ich das.

    testworld schrieb: Mhm,
    ich habe eine art spiel gebaut auf jedenfall sieht man auf einem "Platz" wer alles on ist samt bild etc. auf diesem platz steht man immer da man sich net bewegen kan^^

    Jetzt ist mein problem ich muss von jeder person überprüfen wan ihr letzte aktivität war da aber viele User ich habe brauche ich extrem viele Abfragen das wäre also nicht Clever verstehst du mein problem?^^ Weißt du eien Lösung?^^
    Du müsstest so oder so immer überprüfen, wer gerade "on" ist. Ersetze diese Abfrage durch eine Abfrage, ob der User in den letzten 5 Minuten online war. Es werden in keinem Fall mehr abfragen. Ausser, du hast extra eine "Online"-Liste, wo jeder eingetragen wird, aber das wäre allgemein unklug.
  11. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!