Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

neverdie

Utilizadores online

Mensagens Recomendadas

neverdie    0
neverdie

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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
yoda    139
yoda

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 :(

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
skin    0
skin

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..

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
fnds    2
fnds

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...

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Gurzi    2
Gurzi

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 ?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
yoda    139
yoda

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.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
fnds    2
fnds

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?

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


×

Aviso Sobre Cookies

Ao usar este site você aceita a nossa Política de Privacidade