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

Usuários Logados


BEOC

Pergunta

13 respostass a esta questão

Posts Recomendados

  • 0

você deverá montar um esquema semelhante ao de usuários online..

Link para o comentário
Compartilhar em outros sites

  • 0
Link para o comentário
Compartilhar em outros sites

  • 0

sim..

eu sei, mas pense só:

você até pode colocar um esquema assim:

- quando o usuario fizer login, você grava no banco de dados, um status de logado.

Mas e quando ele fechar o navegador?

o banco continuará marcando logado, certo?

Por isso.

Primeiro, você identifica os usuarios online, e depois, identifica, dos usuarios online quais são membros.

Entendeu?

Link para o comentário
Compartilhar em outros sites

  • 0

sim..

eu sei, mas pense só:

você até pode colocar um esquema assim:

- quando o usuario fizer login, você grava no banco de dados, um status de logado.

Mas e quando ele fechar o navegador?

o banco continuará marcando logado, certo?

até esta parte eu entendi mais esta não:

Por isso.

Primeiro, você identifica os usuarios online, e depois, identifica, dos usuarios online quais são membros.

Entendeu?

com sessions?

Link para o comentário
Compartilhar em outros sites

  • 0

deixa ver..

primeiro, você teria que ver quantos usuarios estão online no seu site!

depois, você ve, desses online, quais são membros, e quais são visitantes!

você pode, ou criar cookies, ou fazer por sessions!

aí é por sua conta!

Mas por isso lhe dei aquele link..

Eu montei algo semelhante, mas em asp..

E usei a lógica que lhe falei..

você descobre quantos usuarios estão visitando seu site, e depois, você vê quais são membros.

Entendeu?

Link para o comentário
Compartilhar em outros sites

  • 0

cara..

a logica disso aqui é extremamente simples..

basta bolar o codigo depois..

acho que muitos já devem ter feito isso..

Deixa ver..

- você cria uma funcao, que toda vez que o cara entrar no site, cadastra ele. (coloca data, hora, ip, link_que_acessou)

- logo após isso, você faz um select no banco, e pega todos os usuarios que estao cadastrados nessa tabela (de usuarios_online).

- Faz um teste com a hora que o usuario foi inserido na tabela.

- Se for maior que 10 minutos, você apaga ele!

- então.. Nessa tabela ficarão apenas os usuarios online!

aí, você seleciona eles, e vê quais são membros!

basicamente é isso aí.. acho que não esqueci de nada..

abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Exatamente como 'Dark' falou, você tem que sempre ter em mente uma lógica para que as coisa possa acontecer, se você tiver sempre essa lógica você fará oque você quizer.

Veja:

$data_tempo = date("YmdHis",time() + 900); // Esse é o que sempre está atualizando o usuário com novo tempo.

$data_atual = date("YmdHis"); // Aqui é a data atual para ver se algum usuário já venceu o praso.

Esse código coloque em todas as partes do sistema de usuário para ele fazer verificações, de quem ainda está on-line ou não:

mysql_query("DELETE FROM online ".$data_atual." > tempo");

Ai você faz um sisteminha para identificar cada id:

$sql = mysql_query("SELECT * FROM online");

WHILE($i = mysql_fetch_row($sql))

{

$sql_usuario = mysql_query("SELECT * FROM usuarios WHERE id='".$i[1]."' LIMIT 1");

WHILE($c = mysql_fetch_array($sql_usuario))

{

echo $c['nome];

}

}

O que está em vermelho e a tabela online e em verde é a dos seus usuários.

Verifique que quando em vou selecionar os usuários eu utilizo '$i[1]', que onde está os id's na tabela online, ai basta saber os campos.

Link para o comentário
Compartilhar em outros sites

  • 0

hehehe

é isso aí..

eu não citei codigos, porque não sei muita coisa de php, e não tenho mysql instalado para testar..

mas tendo em mente a logica.. o codigo é um abraço..

t+

Link para o comentário
Compartilhar em outros sites

  • 0

Oi, Pessoal. Ó eu aqui traveiz...

Ultimamente to marcando presença... rolleyes.gif

Olha só... to usando o código abaixo pra mostrar quais os usuários que estão online. Uso session para logar os usuarios, o código abaixo corresponde aos usuarios cadastrados/logados.

Consegui resolver os outrso erros que estavam dando, mas agora não aparece resultado nenhum. Alguém pode me ajudar?

<?

//USUÁRIOS ONLINE:

$tempmins = 15; //minutos para inatividade de um usuário

$ip=$REMOTE_ADDR; //pega o IP do visitante

if(mysql_num_rows(mysql_query("SELECT * FROM useronline WHERE ip='".$ip."'"))>0) {  //verifica se o ip já esta no DB

//se está, é necessario dar um update no time

mysql_query('UPDATE useronline SET time="'.time().'" WHERE  ip="'.$ip.'"');

} else {

//ele não está no DB, então precisamos inseri-lo

mysql_query('INSERT INTO useronline (ip,time) VALUES ("'.$ip.'","'.time().'")');

}

mysql_query('DELETE FROM useronline WHERE time<'.(time()-($tempmins*60)));

//deleta os ips com mais de 15 minutos

$select = mysql_num_rows(mysql_query("SELECT * FROM useronline WHERE ip='".$ip."'"))

//mysql_query("SELECT * FROM useronline");

WHILE($i = mysql_fetch_row($select))

{

$sql_usuario = mysql_query("SELECT * FROM dados WHERE id='".$i[1]."' LIMIT 1");

WHILE($c = mysql_fetch_array($sql_usuario))

{

echo $c['login'].'está online';

}

}

?>

Criei os campos ip e time na tabela useronline.

Desde já agradeço demais.

Abraços.

dev wink.gif

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,3k
    • Posts
      652,2k
×
×
  • Criar Novo...