Patrocínio Natura

Contador de visitantes online em PHP e MySQL

18 de novembro de 2013

O Super Aposta do Clube voltou a ter uma página, que sempre foi extra-wordpress que é o sistema que gerenciamos o Clube da Informática. Estamos fazendo algumas campanhas e queríamos avaliar o número de visitas nessa página específica, como sou contra reinventar a roda, fui atrás na Internet de uma rotina pronta e achei uma super rotina no blog  do Thiago Belem. A rotina registra visitantes únicos por IP e ainda grava os recordes. Uma rotina enxuta, inteligente e muito útil! Parabéns Thiago.

Veja o artigo na íntegra e não deixe de visitar o Blog do Thiago!

Contador de visitantes online em PHP e MySQL

Hoje vou ensinar vocês a criarem um pequeno sistema de contador dos visitantes que estão online no seu site.

Tudo se resume a criar uma entrada única no banco para cada visitante e apagá-la depois de 20 minutos de inatividade (nenhum carregamento de página). Também criaremos uma função para você inserir onde quiser exibir o número de visitantes que apareceram no seu site nesses ultimos 20 minutos e outra função para informar os recordes de visitas. Vamos ao que interessa:

Primeiro, criamos as tabelas no MySQL para armazenamento dos dados, são duas tabelas: uma para os visitantes onlines e outra para registro dos recordes… Veja os códigos:

CREATE TABLE IF NOT EXISTS `visitas_online` (
	`id` int(11) NOT NULL AUTO_INCREMENT,
	`ip` varchar(15) NOT NULL,
	`identificador` varchar(40) NOT NULL,
	`hora` datetime NOT NULL,
	PRIMARY KEY (`id`),
	UNIQUE KEY `identificador` (`identificador`)
) ENGINE=MyISAM ;

CREATE TABLE IF NOT EXISTS `visitas_record` (
	`id` int(11) NOT NULL AUTO_INCREMENT,
	`data` datetime NOT NULL,
	`visitantes` int(11) NOT NULL,
	PRIMARY KEY (`id`)
) ENGINE=MyISAM ;

Depois criamos um arquivo chamado visitantes-online.php com o seguinte conteúdo:


Você só precisa inserir esse arquivo no começo do seu site, antes de enviar qualquer HTML para o visitante. Veja a baixo as funções que você irá usar para contabilizar os visitantes online e os recordes de visitas:

Nesse arquivo criamos quatro funções que vão fazer o seguinte:

geraIdentificador()

Esta função vai criar um identificador único, usada no sistema quando temos um visitante novo e ela gera uma seqüência de números e letras únicas para identificar o visitante que será salvo no banco de dados e via cookies.

Você não precisa chamá-la em lugar nenhum do seu site.

registraVisita()

Função que irá registrar o visitante no banco de dados, atualizando o registro dele, excluindo os visitantes antigos, atualizando os recordes de visitas e, por fim, definindo um cookie no computador do visitante com o identificador gerado anteriormente.

Você não precisa chamá-la em lugar nenhum do seu site pois ela já é chamada automaticamente quando você inclui o arquivo no site.

visitantesOnline()

Esta função vai te retornar um valor numérico inteiro contendo o número de visitantes online no seu site nos últimos 20 minutos.

Para usá-la, é só inserir um bloco de php onde você deseja que o número apareça, assim:

Visitantes online: !

visitantesRecorde($formato)

Com essa função você vai receber um array, contendo dois elementos: primeiro a data do recorde, depois o recorde de visitas. Você pode, se quiser, formatar a data retornada (seguindo os parâmetros da função date().

Para usá-la você precisará fazer da seguinte forma:

O máximo de visitantes online foi em , com visitantes.

e quiser formatar a data é só fazer, por exemplo, assim:

$dados = visitantesRecorde(‘d/m/Y H:i’);

Espero que tenham gostado! E não se esqueçam de olhar a parte de configurações do script para um bom uso dele.

Thiago Belem – Desenvolvedor a mais de 10 anos, trabalha como freelancer criando sites, sistemas e portais utilizando PHP, MySQL, CakePHP, WordPress e jQuery.

Compatilhe esse artigo!

Nenhum Comentário

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *