"Počítání času" na stránkách pomocí PHP

Dobrý den,
rád bych se zeptal jestli někdo neví jak se dá na webu počítat čas.
Tím chci číct, že například po 5 minutách neaktivity skript uživatele odhlásí atd. Byl bych vděčný i za odkaz na stránky nebo jméno knihy které se touto problematikou zajímá.

P.S.: Jde toto vůbec udělat pomocí PHP, pokud ne tak čím?
todle se dělá tak, že si v databázi u uživatele udržuješ platnost jeho přihlášení. resp. já osobně to dělám tak, že mám sloupec sekundy, kde dávám time(void) (viz. manuál php.net) a nazačátku každý stránky mám -> pokud je nastavena $_SESSION["id"] (o hodnotě id uživatele v db) tak potom si ten sloupec sekundy vem z databáze a porovnej ho s aktuálním časem -> pokud je menší o více jak x sekund (v tvém případě 300), pak ho odhlaš, pokud ne, tak ten sloupec v databázi updatetuj na aktuální čas ;-) kapiš?
Tohle mi příde trochu nedostačující, web totiž čeká až se uživatel pokusí dostat na jinou stránku po limitu, do té doby se chová jako by byl neustále přihlášený. Chystám se vytvářet něco jako webovou hru a chci vytvořit systém duelů mezi hráči, ale jak poznám, že jeden z hráčů vypnul prohlížeč? A co případ když oba dva hráči vypnou prohlížeč?
To už naznačil MC. V databázi budeš udržovat čas poslední aktivity uživatelů. Kdo překročí limit neaktivity (třeba 5 minut), bude odhlášen. Kterýkoli aktivní hráč, když klikne, dostane informaci, kteří ostatní hráči jsou aktivní.

Obávám se, že nepoznáš, jestli některý hráč jenom nehraje, jestli přešel na jinou stránku, nebo zavřel prohlížeč.

V nějakém eshopu jsem viděl udělaný Alert v Javascriptu, při opuštění stránky vyběhne okno a varuje, že v košíku je nezakoupené zboží.
Asi už to chápu, ale stejne bych byl rád kdyby mi tady někdo napsal krátkej zdrojovej kód abych to pochopil úplně.
2zbi: ukládají cookies, které umí i JavaScript

2Zaratul:

VÝPIS
-------------------------
$time = mktime(date('H', $time), date('i', $time)-5, date('s', $time), date('m', $time),date('d', $time),date('Y', $time));
mysql_query("DELETE FROM hraci WHERE cas < '" . $time . "'");
$query = mysql_query("SELECT * FROM hraci");
--> cyklus který je vypíše
--------------------------

ZÁPIS
-------------------------
mysql_query ("UPDATE hraci SET cas = '" . time() . "' WHERE id = '" . $id . "'");

That's all folks!
ehm, chybi tam ve výpisu jako první řádek

$time = time();
Jirka: kde? Je to tam trosku sloziteji, ale funkcne. Ja bych taky rekl, ze lepsi by bylo
$time = time()-300; // aktualni cas minus 300 sekund
a potom hups na
mysql_query("DELETE FROM hraci WHERE cas < '$time'");

za predpokladu, ze tabulka 'hraci' nebude seznam hracu, ale seznam prave_hrajicich hracu (tedy tabulka {hraci (id_hrace INT UNSIGNED, cas INT UNSIGNED) PRIMARY id_hrace})
koukam, ze sem fakt lama... Toho jmena u minulyho prispevku si prosim nevsimejte ;)
ani se mi nechtělo psát "2http://mirrors...." :-)

2donny: není to tam, pokud by to spustil tak by ty date v mktime pracovaly se $time = 0; holt mám děravou paměť, na 5 řádkách zapomenu, co jsem chtěl...

Jinak tvůj způsob je o dost kratší, ale nechtělo se mi myslet, jen jsem trochu upravil jeden post z manuálu...
jasne, uz jsem si vsiml. ja myslel, ze tam pises time() a ne $time....
<OT>
2donny: už se ti zase zadařilo se jménem

btw. nezdá se vám, že tu někdo začal silně moderovat fórum? pořád někde něco mizí (aspoň doufám, že ne samo)
</OT>
Jirka: sorry, nejak se mi nechtej ulozit posledni cookies... a ja to moc nehlidam. jinak: jeste jsem si nevsimnul (aspon co se me tyce). Co takhle problemy s databazi, jestli nejsou na vine...