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.