Como saber se um usuario ainda esta no site?
Tempos atrás eu fiz esta pergunta aqui nao lembro em que seção e agora estou precisando dessa informação e não consegui localizar. É o seguinte estou desenvolvendo um chat para o meu portal e todo usuário é cadastro na entrada via mysql e como tem várias formas dele sair do chat, fechando a janela por exemplo, eu precisaria estar verificando cada refresh se os usuários cadastrados ainda estão online e excluir aqueles que não estão mais online.
Se alguém souber onde está a resposta ou saber, por favor, depois que terminar o chat, eu pretendo colocá-lo aqui a disposição da comunidade.
Se alguém souber onde está a resposta ou saber, por favor, depois que terminar o chat, eu pretendo colocá-lo aqui a disposição da comunidade.
comentários (0)
suspender
Lista de Respostas:
15/02/2003 12:06pm
(~22 anos atrás)
(~22 anos atrás)
O processo que uso para saber se o usuário está logado é armazenar no DB, o horário da última ação do usuário. A cada ação você iria dar um update na tabela de sessão, na coluna horário.
Mas você precisa criar um timeout no sistema (um limite de tempo), tipo 5 minutos, que iria CASO o usuário não realizar nenhuma ação então deve ser considerado fora do site. E assim eliminar o registro da sessão no banco de dados.
Essa é a idéia por trás daqueles Usuários OnLine nos programas de fóruns.
Mas você precisa criar um timeout no sistema (um limite de tempo), tipo 5 minutos, que iria CASO o usuário não realizar nenhuma ação então deve ser considerado fora do site. E assim eliminar o registro da sessão no banco de dados.
Essa é a idéia por trás daqueles Usuários OnLine nos programas de fóruns.
16/02/2003 12:57pm
(~22 anos atrás)
(~22 anos atrás)
A idéia do Calvin acho a melhor opção... E te aconselho a criar uma classe, para que da próxima vez que você precisar utilizar algo parecido já tenha tudo pronto....
17/02/2003 6:18am
(~22 anos atrás)
(~22 anos atrás)
Soh pra dar uma incrementada na resposta do Calvin.... qdo vc armazenar se o fulano esta on-line... salve tbm seu ip no banco... eh mais uma informação para lhe auxilar.
17/02/2003 1:52pm
(~22 anos atrás)
(~22 anos atrás)
Valeu pelas dicas, eu ja estou usando o login do usuario no banco de dados e timeout também, só que em ASP a tente tem uma chamada if response.isclientconnect que informa naquele instante se o usuario ainda esta conectado ou abandonou. Isso tb não é tão importante, so que exige um controle maior. Vem amigos, da uma visitada no portal www.labdesign.d2g.com. O chat ainda tem aquele refresh chato que estou estudando uma alternativa para eliminá-lo, talvez uma variavel global que fosse dentro do check_form em javascript, sei la o fato é que aquele refresh é um p. nos saco!.
19/02/2003 7:27am
(~22 anos atrás)
(~22 anos atrás)
Soh pra dar uma incrementada na incrementada do Italo.... qdo vc armazenar se o fulano esta on-line... salve tbm seu id de session no banco... eh mais uma informação para lhe auxilar.
:)
:)
19/02/2003 8:12pm
(~22 anos atrás)
(~22 anos atrás)
Eu fiz tudo isso, so tem um detalhe, o usuario pode ficar inativo com a tela do chat aberto e entao ele é desconectado, mas continua mandando mensagens. Então eu excluo do bd apos o time=x mas no modulo de receive.php, caso venha alguma mensagem dele, o mesmo é restaurado no bd na mesma posição, porque tanto o id quanto o nick sao salvos por cookies. Valeu pelas dicas galera. Façam uma visita la no meu portal que ja ta quase pronto: www.labdesign.d2g.com
um abraço!
um abraço!
17/08/2005 1:54pm
(~19 anos atrás)
(~19 anos atrás)
manda o script q vc mando pra mim to precisando de algo parecido.