Como faço no sc para saber quais usuários estão conectados ao meu site?
1 - crie uma tabela de usuarios_logados,
2 - no seu login registre o usuario ao fazer o login.
quando sair da aplicação, deleta o usuario logado.
O problema é se o usuario fechar a aplicação pelo browser.
Vc pode fazer um tratamento, registrando tambem a hora de registro e estipular uma quantidade de minutos…
pessanha
E como faço para quando sair da aplicação deletar o usuario logado?
George Carvalho
Ok, suponhamos que o item no seu menu, para sair do sistema seja o “item_10”.
no evento onExecute coloque uma condição para que vc possa deletar o usuario_logado ao pressionar o item_10. Ex.
if({sc_menu_item} == ‘item_10’) {
sc_exec_sql(“DELETE FROM usuario_logado WHERE (usuarioid = ‘[glo_usuario]’)”);
}
Bem, caso no seu form de menu, não funcione o camando “sc_exec_sql()”,
no exemplo acima dentro do if() coloque o seguinte,
if({sc_menu_item} == ‘item_10’) {
sc_redir(controle.php);
}
crie um form tipo controle e no evento onLoad coloque a seguinte linha:
sc_exec_sql(“DELETE FROM usuario_logado WHERE (usuarioid = ‘[glo_usuario]’)”);
sc_exit();
Eu não testei, mas acho que vai dar certo… se não funcionar me deixe saber…
Entendi, amanhã vou testar e reporto o resultado.
Grato
Infelizmente não funciona.
Em uso assim: Criei uma aplicação controle chamada desloga que quando carregada deleta o usuário logado e uso sc_redir(login.php, “”, “_self”) para carregar a aplicação de login, porque se simplesmente deletar o usuário a aplicação menu continua sendo exibida.
Na aplicação Menu/Sair/Link = desloga Target = Sair
No evento onLoad do Menu:
// MENSAGEM ALERTANDO COMO SAIR DA APLICACAO
sc_lookup(usu,“select count(*) from seg_logs
where (usuario_id = ‘[var_usuario]’ and usuario_seq = ‘[var_usuario_seq]’)”);
if({usu[0][0]} < 5){
echo “”;
}elseif({usu[0][0]} == 5){
echo “”;
echo “”;
}
Tem uma solução que mesmo o usuário fechando a aplicação ele é deslogado, mais tive problemas com o bloqueador de pop-pup e deixei de utilizá-la.
vou fazer alguns testes, deixo vc sabendo !
caso vc, consiga de alguma forma, poste aqui e assim fica registrado …