Infatti avevo detto che ti serve una data-ora vuoi in timestamp vuoi in datetime... meglio timestamp in questo caso.

Quando si connette verifichi user, id sessione, tempo ultima connessione. Se il tempo ultima connessione e' superiore a tot la sessione non e' piu' valida e si puo' connettere, se il tempo e' inferiore la sessione e' ancora valida e gliela riconosci.

Mi baserei su questo valore per decidere se e' ancora da considerare loggato oppure no. Ovviamente ad ogni pagina che visita od una definita attivita' aggiorni il timestamp di presenza.

Se uno stesso user si collega da piu' terminali non dovrebbe essere un problema... lo potrebbe anche fare aprendo diverse finestre del browser oppure utilizzare contemporaneamente piu' browser. Per esempio utilizzo firefox ed explorer e quando mi collego al forum devo identificarmi due volte, due sessioni diverse e stesso user.

prima che il forum ti dichiari assente ci vogliono un paio di manciate di minuti. Il tempo che scada il time out dall'ultima lettura del cookie.