La soluzione è molto semplice... crei una tabella così:
Codice PHP:
CREATE TABLE `user_online` (
`user` char(100) NOT NULL default '',
`time` int(11) NOT NULL default '0'
) TYPE=MyISAM;
Poi in php il ragionamento è semplice...
all'inizio di ogni pagina metti (scrivo in linguaggio di progetto perchè non mi va ora di scrivere in PHP...
):
codice:
se utente non è in user_onlie allora
insersici dentro user_online nome utente e data/ora attuli
elimina tutto da user_online solo dove data/ora e distant 5 minuti dalla data/ora attuale
seleziona tutto da user_online e stampa i nomi degli utenti connessi
ovviamente c'è un margine di errore di 5 minuti...