Olá pessoal! Hoje vamos ver como é fácil colocar em nosso site um contador de usuários online. Esse é mais um script que não foi criado por mim, e como o utilizo a alguns dias em vários sites de minha autoria, decidi compartilhar ele com os interessados aqui no Fazendo Rádio.
Na verdade esse script consiste em mostrar em seu site, quantos usuários estão acessando ele no exato momento, ou mais especificamente no nosso caso, para dar mais volume, quantos usuários acessaram nosso site nos últimos 60 segundos. É muito simples. Vamos lá!
As instruções e explicações sobre o script estão no próprio código abaixo através de comentários. Recomendo que utilize um editor de PHP, como por exemplo, o Dreamweaver para que nossos comandos e comentários lhe apareçam com cores diferentes, o que lhe facilitaria muito no entendimento do script.
Você precisa ter um servidor com suporte a PHP e MySQL.
Primeiramente crie o seguinte tabela em seu banco de dados:
CREATE TABLE `usuarios_online` (
`timestamp` int(20) NOT NULL default '0',
`ip` varchar(25) NOT NULL default '',
`local` varchar(70) default NULL,
`nick` varchar(30) NOT NULL default ''
) TYPE=MyISAM;
RESUMINDO: Em seu banco de dados, crie uma tabela chamada “usuarios_online”,
com as seguintes linhas “timestamp” [int(20)], “ip” [varchar(25)],
“local” [varchar(70)], e “nick” [varchar(30)].
Em seguinda, cole o código abaixo em sua página php, no local onde quer que ele apareça.
// CONFIGURAÇÃO DO SEU BANCO DE DADOS - ALTERE SOMENTE ESTES DADOS
$host = "localhost";
$user = "usuario_do_banco";
$pass = "senha_do_usuario";
$db = "nome_do_banco_de_dados";
// CONECTANDO AO BANCO DE DADOS MYSQL
$connection = @mysql_connect($host, $user, $pass) or die("ERRO AO SE CONECTAR COM O BANCO DE DADOS!"); @mysql_select_db($db, $connection) or die
("ERRO AO SE CONECTAR COM O BANCO DE DADOS");
// ******** IMPORTANTE ************
// NÃO ALTERE ESTES DADOS - É A CONFIGURAÇÃO DE NOSSO SCRIPT
// ******** IMPORTANTE ************
// PEGA O VALOR DA HORA EM SEGUNDOS
$ts = time();
// HORA ATUAL - E TAMBEM DEFINE-SE O TEMPO QUE USUÁRIO FICA SEM NAVEGAR PELO SITE -
60 SEGUNDOS
$to = time()-60;
// VERIFICA SE O USUÁRIO JÁ ESTÁ ON-LINE
$sql = @mysql_query("SELECT count(*) FROM usuarios_online WHERE ip='$REMOTE_ADDR'");
$sqlt = @mysql_result($sql,0,0);
// CASO O USUÁRIO ESTEJA ON-LINE - RENOVA SEUS DADOS
if ($sqlt) @mysql_query("UPDATE usuarios_online SET timestamp='$ts',local='$PHP_SELF',nick='$admin_nick' WHERE ip='$REMOTE_ADDR'");
// SE O USUÁRIO ESTÁ ACESSANDO O SITE PELA 1ª VEZ - INSERE SEUS DADOS NO BANCO
else @mysql_query("INSERT INTO usuarios_online (timestamp,ip,local,nick) VALUES('$ts','$REMOTE_ADDR','$PHP_SELF','$admin_nick')");
// DELETA SE O USUÁRIO SE ELE ESTÁ A MAIS DE 60 SEGUNDOS INATIVO
$sql = @mysql_query("DELETE FROM usuarios_online WHERE timestamp<$to");
// AGORA SIM FAZ A CONTAGEM DE QUANTOS USUÁRIOS ESTÁ ON-LINE
$sql = @mysql_query("SELECT ip FROM usuarios_online");
$UOL = @mysql_num_rows($sql);
// VERIFICA SE TEM MAIS DE 1 USUÁRIO
$UOLS = ($UOL <= 1) ? "" : "s";
/* ABAIXO ESTÁ A LINHA EM QUE FAZ APARECER O NUMERO DE USUÁRIOS ON-OLINE EM SEU SITE.
COLOQUE NO LUGAR AONDE QUEIRA QUE APAREÇA.
UTILIZANDO HTML VOCÊ PODE ALTERAR A FONTE, COR E TAMANHO DO TEXTO.
EXEMPLO:
<span style="font-family: verdana; font-size: xx-small;"> $UOL usuário${UOLS} online</span> */ echo "$UOL usuário${UOLS} online";
?>
Contador de Usuarios Online em PHP
Alexandre | segunda-feira, novembro 05, 2012 | Contador de Usuarios Online em PHP
Assinar:
Postar comentários (Atom)
0 comentários:
Postar um comentário