• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

neverdie

Utilizadores online

11 mensagens neste tópico

Boa tardes!

como posso saber que utilizadores estam online? o que estou a fazer

é quando eles fazem login coloco na base de dados um flag como ele esta online, e quando fazem logout mudo a flag...

Mas se eles fecharem a pagina sem fazer logout como sei quais a que ja nao estam online?

Cumprimentos.

Marco

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas,

Existe um evento javascript em que consegues saber quando um user fecha a tab do browser, como o gmail faz, mas mais que isso penso não ser possível.

Além disso, ter a tab aberta não significa mais que isso, pois eu posso fazer login e ir à minha vidinha :(

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Podes aliar o que o yoda disse a um tempo de inatividade, em que se este for excedido o user é considerado offline.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Metes os IP's na base de dados e a hh/mm/ss a que entraram e depois vais fazendo querys sempre que a pag for aberta verifica se já passaram mais de 10min( p. ex.) desde o ultimo acesso de um determinado IP, se sim removes da tua base de dados, caso contrário contas esse como online e por ai fora..

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Por exemplo, tens um campo na bd com o timestamp até ao qual o utilizador é considerado online, depois sempre que o utilizador visita uma página actualizas esse campo.

EDIT: O skin antecipou-se...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Metes os IP's na base de dados e a hh/mm/ss a que entraram e depois vais fazendo querys sempre que a pag for aberta verifica se já passaram mais de 10min( p. ex.) desde o ultimo acesso de um determinado IP, se sim removes da tua base de dados, caso contrário contas esse como online e por ai fora..

Se o server cria uma sessão para cada utilzador, não há forma de fazer um count ao numero de sessoes activas ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se o server cria uma sessão para cada utilzador, não há forma de fazer um count ao numero de sessoes activas ?

Aqui está um exemplo disso :

<?php
session_start();
function getUsersOnline() {
   $count = 0;
   $handle = opendir(session_save_path());
   if ($handle == false) return -1;
   while (($file = readdir($handle)) != false) {
       if (ereg("^sess", $file)) $count++;
   }
   closedir($handle);
   return $count;
}
?>

Não me parece que dê para ir muito além disto.

Nota : Isto conta sessões baseado no acesso de utilizadores a um determinado site, que são inseridos após o script correr o session_start() . Isto significa que para haver um maio controlo (ex. users logados) terá de se optar por escrita manual em ficheiros ou por uso de base de dados.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se o server cria uma sessão para cada utilzador, não há forma de fazer um count ao numero de sessoes activas ?

É uma boa ideia (nunca me tinha ocorrido), a minha questão é, quando é que esses ficheiros de secção são apagados?
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora