Usuários logados

Gostaria de criar uma consulta que exibisse: usuário(s) logado(s), form (ou consult. em que está), IP, hora…
Pensei em criar uma função que atualizasse o Bd toda vez que o usuário logasse (no evento Load dos forms e cons.). Daí era só ficar editando o Banco a cada mudança de form/cons. Existe uma maneira mais prática? Aguma dica dos amigos?

Posso dizer como eu faço esse controle em minhas apllicações, mas não sei dizer se é a melhor opção:

Tabela de Usuários: Campo Status_OnLine (Char(1)) e DataUPdate (DateTime)

Criar uma biblioteca com uma formula para:
1)Atualizar a data e hora do usuario que se logou e Status_Online com valor “S”
2)Ler toda a tabela de usuarios, e calcular a diferença em segundos da DataUpdate para a Hora,minuto e segundo atual, se o resultado for maior que n segundos (vc determina esse valor) vc atualiza Status_OnLIne para “N”.

Na onExecute do Menu e na onload e oninit de todas aplicações vc carrega essa função.

Usuarios com Status_OnLine=“S” estão online.]

Essa Macro, vc pode implementar colocandoo nome da aplicação que o usuario esta usando, e até criar um log de acessos por usuario.

Tá rodando legal o rastreamento dos usuários no sistema, mas me deparei como calcular a diferença entre a data hora atuais e a última data e hora do log do usuário (em segundos ou minutos). No SC tem a função sc_dif_date, mas acho que não calcula em segundos, tô pesquisando no manual do PHP. Qualquer ajuda será bem-vinda. Obrigado!

pesquise no manual php funções relacionadas a hora e data, timestamp…

Caro Julio,
Estou com a mesma condição, porem gostaria de ter um log de utilização dos usuários que entraram no sistema, poderia me ajudar.

prezado celso…no SC já tem tudo isso nativo…veja as opções de segurança e log