Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá galera, irei mostrar um pequeno tutorial para criar um contador de usuários on-line no site:
Primeiro passo será criar um banco de dados ou usar o que você já tem disponível
Crie um banco de dados com o nome de "contador"
Segundo passo será criar uma tabela no banco de dados:
CREATE TABLE online (id int(11) NOT NULL auto_increment,ip varchar(20) NOT NULL,tempo int(12) NOT NULL,
PRIMARY KEY (id)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
Após executados os passos acima vamos para a criação da conexão com o banco de dados:
agora vamos montar nossa pagina de conexão:
<?php
mysql_connect("localhost", "root", "") or die (msql_error());
mysql_select_db("contador") or die (mysql_error());
?>
Salve o arquivo com o nome de: conexão.php
Vamos agora para o arquivo principal do sistema:
<?php
//faça a inclusão da página de conexão criada logo acima
include "conexão.php";
//determina um tempo para a variável $tempo
$tempo = time();
// pega o IP do usuário
$ip = $_SERVER['REMOTE_ADDR'];
//faz uma consulta para verificar se o ip já existe no banco de dados
$verifica = mysql_query("SELECT * FROM online WHERE ip ='$ip'");
//retorna a quantidade de linhas da consulta ou seja, pode retornar 0 ou 1 linha
$linhas = mysql_num_rows($verifica);
//se não existir o ip no banco ele grava um com um tempo determinado
if($linhas == 0)
{
// gravando o IP e o tempo no DB
$acrescenta = mysql_query("INSERT INTO online (ip, tempo) VALUES ('$ip','$tempo')");
}
else
{
// se o IP já existe ele o pega e atualiza o tempo no DB no IP selecionado
//pega o IP retornado da consulta
$ip = mysql_result($verifica,0,'ip');
//faz um update para o registro do IP existente
$atualiza = mysql_query("UPDATE online SET tempo ='$tempo' WHERE ip='$ip'");
}
//deleta a linha que não foi atualizada no tempo de 40 segundos
mysql_query("DELETE FROM online WHERE tempo <'$tempo'".-"40");
//faz uma consulta para mostrar quantos estão on-line
$online = mysql_query("SELECT * FROM online");
//retorna o número de linhas que será a quantidade de usuários on-line nesse momento
$agora = mysql_num_rows($online);
if($agora==1)
{
//para ficar mais amigável se tiver somente 1 pessoa on-line
echo "Apenas eu estou on-line";
}
else
{
//exibe todos os usuários que estão on-line
echo "Temos ".$agora." usuarios on-line.";
}
?>
Salve-o arquivo com o nome de: online.php
Pronto agora é só fazer um include desse arquivo onde quer que apareça a mensagem.
Espero gostem do tutorial e que seja util para alguem.
Atenciosamente,
Edimilson Sousa Quelipe
Bem Bacana , to usando aqui hehehe
Vlw ..
Abraços ;)
Script realmente muito bom!
Da uma luz para quem não sabe fazer um.
Muito bom! Se permite uma sugestão, que tal um script para contagem de leituras no site, limitando a 1 clique por link?
Muito bom o script, mas e se o usuário passar mais de 40 segundos na página, sem atualizá-la, logo ele será tido como expirado e nãos será contado... Sou novo em PHP e posso estar equivocado, se estiver, peço que me corrijam, obrigado.
Muito bom scripts show parabéns...
Muito bom esse Script.!' http://forum.imasters.com.br/public/style_emoticons/default/joia.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif