Olá! Monday, 18 de March de 2024.



Dicas CódigoFonte.net
Thursday, 09 de August de 2007

Contador de visitas php/Mysql

O que vamos fazer?
Um simples contador de visitas que utiliza MySQL.

Como funciona?
O sistema pega a data atual e o ip do visitante, após pegar esses dados ele verifica se os mesmo ja forma inseridos na tabela. (Verifica a data e o ip / Compara data atual + ip visitante com todos os registros da tabela)

- Criei uma classe chamada "visita", nela possui as funções:
visita();
Funciona como construtor, pega o ip do visitante e a data atual e armazena nas variaveis $ip e $data;
conectar();
Conexão com o banco
verificaVisitante();
Essa função faz as comparações, verifica se ja visitou. Caso não tenha visitado, insere novo registro.
imprime();
Seleciona todos os registros da tabela e imprime na tela

A tabela:
CREATE TABLE `visitas` ( `id` INT(50) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, `ip` VARCHAR(11) NOT NULL, `data` VARCHAR(10) DEFAULT '00/00/0000' NOT NULL ) TYPE = MYISAM;

O código:
ip=$ip; //Pega a data atual $this->data=date("d/m/Y"); } /* * conexao com banco **/ function conectar() { $link= mysql_connect($this->hostdb,$this->userdb,$this->passdb)or die(mysql_error()); mysql_select_db($this->namedb,$link)or die(mysql_error()); } /* * verifica se o usuario ja visitou **/ function verificaVisitante() { //Chama a funcao de conexao com db $this->conectar(); /* Seleciona por ip e data */ $sql = mysql_query("SELECT ip,data FROM ".$this->tabVisitas." WHERE ip='".$this->ip."' AND data='".$this->data."'")or die(mysql_error()); /* Verifica se a selecao feita existe, caso nao exista insere novo */ if(!mysql_num_rows($sql)>0) $insereVisita = mysql_query("INSERT INTO ".$this->tabVisitas." (id,ip,data) VALUES ('','".$this->ip."','".$this->data."')"); //else print("Ja visitou"); } /* * imprime numero de visitas **/ function imprime() { //Chama conexao; $this->conectar(); //Seleciona todos $sql = mysql_query("SELECT * FROM ".$this->tabVisitas); //Conta quantos foram selecionados $total= mysql_num_rows($sql); //Imprime numero de visitas (registros na tabela) print("Visitas: ".$total); } } //'Chama' a classe visita e ja pega o ip do visitante $visita = new visita($_SERVER['REMOTE_ADDR']); //Chama a funcao verificaVisitante(); //Ela verifica se por ip e data se o usuario ja visitou $visita->verificaVisitante(); //Imprime o total de visitas (total de registros na tabela) $visita->imprime(); ?>

Está bem comentado, acho que não preciso dizer mais nada...
Caso tenha alguma duvida é só comentar ;)
ou entrar em contato
[email protected]

Bom uso! :)
http://blog.eduardostuart.com | http://www.eduardostuart.com

Comentários do artigo [Novo comentário]

Fabio Fernandes - 06 de September de 2008 - 08:31
Eu ja tenho um contador no site,
Gostaria de saber como posso adicionar as visitas que existe no site para o meu contador não partir do zero
Para adicionar um comentário você deve efetuar o login


Gostou do CódigoFonte.net? Quer indicar a um amigo?
Preencha os campos a seguir.
Seu Nome:
Seu E-mail:
E-mail de seu Amigo:


CodigoFonte.net » Meu Mural » Competiva - Criação de Sites » Todos os Direitos Reservados © 2002/2010