Colegas desculpa a demora, segue exemplo:
No exemplo passo o usuário como parâmetro na própria url, mas isso deve vir da sua aplicação de login.
Na sua aplicação de login você pode verificar usuários deslogados e remover o registro.
Não aconselho tempos muito curtos para bancos que não estão no mesmo servidor php.
São 3 aplicações:
Menu: Onde através do Jquery executo via ajax uma app do tipo blank a cada n segundos
Blank: Aqui atualizo a tabela com a hora atual para o usuário online.
Consulta: Apenas para demonstrar a atualização da hora do usuário online
*No lugar de “xxxxx” coloque uma nome válido.
http://iw.servehttp.com/sc/iw/app/Publico/useronline_menu/useronline_menu.php?user_=xxxxx
Create da tabela exemplo (MySql):
CREATE TABLE `useronline` (
`user` varchar(20) NOT NULL,
`datahora` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`user`)
) ENGINE=MEMORY
Download:
http://www.scriptcaseajax.com.br/download.php?view.27