Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia !!
Então é o seguinte eu tenho um projecto que tem um login e quando entra na pagina tem varias opções uma delas é o botão de terminar sessão, no meu banco de dados uma tas tabelas é Utilizadores Activos, sempre que um utilizador faz login é guardado nesta tabela o seu nome de utilizador e o seu ip, esta tabela serve apenas para controlo...
Quando o utilizador clica no botão terminar sessão eu elimino o registo que ele fez nessa mesma tabela (Utilizadores Activos) e aqui está o problema ai se o utilizador não decidir clicar no botão terminar sessão é que a maioria faz o registo dele não será apagado da tabela e quando este mesmo utilizador voltar a entrar o registo dele ficará duplicado na tabela o que não pode acontecer...
Ou seja o que eu quero fazer e e que estou tentando fazer é quando o utilizador fecha o separador submeter fazer um request em jquery para um ficheiro php que iria tirar o eliminar o registo...
Porém não consegui que nenhum código funcionasse após ler alguns documentos percebi que a unica coisa que podia ser feita ao fechar o browser ou separador era se fechar o separador mostrar um alert mas apenas isso.
Preciso que me dêem uma luz do que poça fazer pois eu preciso mesmo de ter esta tabela por motivos de segurança e controlo ....
Abraço
Vítor Mendes
michel a. medeiros obrigado pela resposta
Mas isso já esta fazendo o registo nunca fica sobreposto ....
E dessa forma ia continuar com o mesmo problema quando eu fosse ver essa tabela ia ter registos falsos...
O que queria mesmo é quando fechar o browser ou separador termina a sessão já tive aqui a penssar eu vou utilizar cron job será a melhor forma...
Então na verdade você quer saber quando o usuário sai do sistema, mesmo quando ele não clica em encerrar a sessão.
Isto também uma vez tentei fazer e também não consegui fazer de um jeito legal.
O que eu fiz foi colocar um cronômetro no navegador, e se ele ficar mais de trinta minutos sem clicar em alguma coisa na tela o sistema chama o logout automaticamente.
Usei esta biblioteca para contar o tempo http://albert-gonzalez.github.io/easytimer.js/
Antes de o usuário logar verifique se ele já está na tabela de controle logado, se estiver elimine o registro antigo e adicione o novo.