Ir para conteúdo
Fórum Script Brasil
  • 0

Online / Offline


ighor10

Pergunta

Ola pessoal,

estou a desenvolver uma ferramenta, onde cada usuario pode ter amigos.

como e obvio, na sua lista de amigos, teria q ser possivel ver se este esta online ou offline,

inicialmente pensei em colocar um campo online numa bd, ao fazer login, esse campo assumiria o valor 1, e ao fazer logout, ou fechar o site, o campo voltava a 0, tudo com ajax, porque a pagina não podera fazer refresh.

o problema, e q se o utilizador matar o processo do browser, o campo não iria voltar a 0.

então pensei, em fazer um campo, onde ficaria um timeStamp. e com ajax, fazer sempre update nesse timestamp, porem, assim o browser teria q estar sempre a executar uma funçao, o q pesaria um pouco a pagina, visto q esta pagina já ira ser bastante pesada em termos de javascript.

então, a minha duvida e!,

tem alguma forma de verificar quem esta online, somente com javascript? sem o uso do php e sql,

e se não tem, qual seria melhor forma para o fazer?

obrigado..

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

com o javascript não seria possível pois

ele é um script de browser e não armazena informações de uma página para outra

o negócio é fazer com o php mesmo.

Tente fazer com o php e tentar com o session.

Não sei se vai funcionar, pois o session é finalizado de duas formas:

Fechando o browser ou destruindo a sission.

Ao destruir a session você pode fazer do jeito que você mesmo citou, atualizando o banco toda a vez que a pessoa fizer login e logout.

Mas qual comando fazer quando a pessoa fechar o browser?

dai complica...

coloque outro campo no banco que atualize a cada click do usuário, preenchendo ele com o time() do php.

assim faça com que com 5mim sem esse campo ser atualizado, mude o status da pessoa automaticamente para offline.

hehhe

é meio grande e engenhoso, pois não sei como os grandes web sites fazem.

Link para o comentário
Compartilhar em outros sites

  • 0

então,

eu to a pensar fazer assim mesmo,

pensei assim, ve se aprova a ideia :P

vou criar um campo ultima_atividade, e ao fazer login, eu crio um setinterval, de 10 em 10 segundos atualiza a bd com o time().

ao fazer login, na query dos amigos, para cada amigo, eu vou ver a ultima_atividade, e se esta, for menor que o time() atual - 10, então vai pro grupo dos offline, senao vai pro grupo online.

e essa funçao tambem vai ser chamada de 10 em 10 segundos.

so tenho medo e de ficar com javascript pesado :S

mas pronto, acho q assim resolve o problema,

se alguém precisar tambem. ta ai a ideia.

obrigado cardon

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...