Ir para conteúdo
Fórum CódigoFonte.net
PJStaudt

Usuário Logado

Recommended Posts

Boa tarde!

Srs,

Tenho uma pagina onde vários usuários se logam, preciso fazer com que um usuário que esteja logado verifique quais dos outros usuários estão logados também.

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

uai cria um campo tipo LOGADO na tabela de usuarios... Dai quando o cara logar vc jogar tipo ON lá quando ele deslogar vc da um UPDATE jogando OFF... e pra listar e so mandar um SELECT WHERE logado='ON'

Compartilhar este post


Link para o post
Compartilhar em outros sites

uai cria um campo tipo LOGADO na tabela de usuarios... Dai quando o cara logar vc jogar tipo ON lá quando ele deslogar vc da um UPDATE jogando OFF... e pra listar e so mandar um SELECT WHERE logado='ON'

que obvio..... :o :o :o :blink: :blink:

valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

MySQL

Cria uma tabela, nesse caso: usuariosonline.

Nela contém.

id - primary key, auto increment

time - varchar(12)

ip - varchar(12) - unique

PHP

<?php
function usuariosonline()
{

    $ip = $_SERVER['REMOTE_ADDR'];

    if(mysql_num_rows(mysql_query("SELECT * FROM usuariosonline WHERE ip ='$ip'")))
    {
        mysql_query("UPDATE usuariosonline SET time='".time()."' WHERE ip='$ip'");
    } else {
        mysql_query("INSERT usuariosonline (ip,time) VALUES ('$ip','".time()."')");
    }
    $tempmins = ($tempmins) ? $tempmins : 10;
    mysql_query("DELETE FROM usuariosonline WHERE time<".(time()-($tempmins*60)));
}
?>

Essa função você coloca no cabeçalho do site.

Ela vai funcionar da seguinte forma:

Quando qualquer usuário dar update ou abrir a página, enfim... essa função vai pegar o IP

e varrer dentro do mysql quem está inativo por 10min. É bem simples ela e muito bacana.

Caso o IP já esteja no banco de dados ele vai atualizar pelo tempo atual (time();).

[]s :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

nelson jr,

Eu fiz o seguinte:

function verificausronline($id_usuario, $oracle){
    $query = "UPDATE usuarios SET usronline = 'on', tempo='".time()."' WHERE id_usuario = {$_SESSION['login']['id_usuario']}";
    $tempmins = ($tempmins) ? $tempmins : 10;
    $query = "UPDATE usuarios SET tempo = '".(time()-($tempmins*60))."' WHERE id_usuario = {$_SESSION['login']['id_usuario']}";
    $oracle->faz($query);
    
return $a['usronline'];


}

não deu certo, pois ele não me altera o tempo. Estou fazendo algo errado?

Alguem tem uma idéia????

Obs.: Não uso Mysql e sim PL/SQL

Editado por PJStaudt

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

×
×
  • Criar Novo...