Autor Zpráva
meiki
Profil
Ahoj,
potřebuji poradit s jednou věcí.
Po přihlášení uživatele na stránkách se mi změní v databázi jeho stav na online, také uložím
$_SESSION["cas"] = time()+3600;


Když klikne na tlačítko odhlásit, tak se jeho stav změní v databázi zpět na offline.
Také tam mám podmínku
if ($_SESSION["cas"] < time())
, tak se jeho stav také změní v databázi na offline.

Vše funguje, tak jak má...
ALE co když se mi uživatel přihlásí a po 15 minutách, jen tak zavře okno prohlížeče a jde pryč. Existuje nějaké řešení, jak v tento okamžik změnit v databázi jeho stav na offline? Tedy určitě to jde, ale potřebuji nakopnout :-)

Díky
Jan Tvrdík
Profil
meiki:
Existuje nějaké řešení, jak v tento okamžik změnit v databázi jeho stav na offline?
Spolehlivě to asi nepůjde nikdy, ale mohl by jsi zkusit navázat to událost onUnload a onBeforeUnload.
Daniel01
Profil
Zkus cron, jestli ho server podporuje...
Potom bude mít server uloženou SESSION, která se smaže při zavření okna(to myslím dělá klient při zavření okna, ne?)
A každý klient bude mít generovaný název session (jestli se ti nepřipojuje hodně uživatelů, zkus UNIXOV0 časové razítko-ty sekundy)
A pokud tam ta SESSION nebude, cron udělá mysql_query("UPDATE");

Nějak takhle by to mohlo fungovat :-)
joe
Profil
Měl bys volit jiný přístup. Do databáze k uživatelovi si ukládej čas posledního kliknutí, díky tomu pak určíš, jestli je online nebo offline. Nemá cenu řešit ať se uživatel přepne do offline, když zavře prohlížeč.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: