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

Contador De Usuários Online Baseado No Ip


ESerra

Pergunta

Script postado por Vampyro

Contador de usuários online baseado no IP

Contador simples de usuários online, guarda o IP do usuário e vai atualizando o timeout, até remover o usuário de vez do banco de dados dos ativos.

Primeiro a tabela do banco de dados:

#
# Nome da Tabela 'useronline'
#

CREATE TABLE useronline (
   timestamp int(15) DEFAULT '0' NOT NULL,
   ip varchar(40) NOT NULL,
   file varchar(100) NOT NULL,
   PRIMARY KEY (timestamp),
   KEY ip (ip),
   KEY file (file));
Agora o script em si:
<?php

//Efetua a conexão
mysql_connect("localhost","xxx","xxx");
mysql_select_db(xxx);

//Tempo em segundos que irá apagar os ips inativos
$timeoutseconds = 300;
$timestamp=time();
$timeout=$timestamp-$timeoutseconds;

//Pega o ip
$ip = $_SERVER['REMOTE_ADDR'];

//Pega a o url da página que o uuário entro
$self = $_SERVER['PHP_SELF'];

//Verifica se o ip do usuário já se encontra
$verif = mysql_query ("SELECT ip FROM useronline WHERE ip = '$ip'");
$evo = mysql_num_rows($verif);

//Se for encontrado, faz a atualização do url e do segundos que a pessoa entrou
if ($evo > "0"){
mysql_query("UPDATE useronline SET file='$self',timestamp='$timestamp' WHERE ip='$ip'") or die("Database UPDATE Error");

//Caso não sejá encontrado ele insere o ip a url e o tempo
} else {
mysql_query("INSERT INTO useronline VALUES ('$timestamp','$ip','$self')") or die("Database INSERT Error");
}

//Deleta os ips que já passaram dos 300 segundos
mysql_query("DELETE FROM useronline WHERE timestamp<$timeout") or die("Database DELETE Error");
$result=mysql_query("SELECT DISTINCT ip FROM useronline WHERE file='$self'") or die("Database SELECT Error");

//Exibe o resultado
$user  =mysql_num_rows($result);                                                                              
if ($user==1) {echo"$user Total on-line";} else {echo"$user Total on-line";}

?>

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Opa valeu deu certo aqui este codigo fiz um teste e ele pega de acordo com o IP quem esta online

Minha duvida é a seguinte:

Como eu faço para mostrar o IP do cara, no caso eu to pegando o numero de pessoas que estou no site no momento, e como eu faço para alem disso tambem mostrar o IP do cara?

Valeu

Editado por marcosfj1
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...