Tava tentando criar um contador de visitas aqui, mas estou me enrrolando todo, peguei trechos de código pronto, customizei, fiz e refiz mas nada.
O problema é o seguinte, toda vez que atualizo a página a visita é incrementada, mas queria que isso só acontecesse se o ip fosse diferente. Então
a lógica seria: capturar o ip do usuário, e verificar se o mesmo existe no banco de dados, se existir a visita não será incrementada, se não é incrementada....
O código segue logo abaixo, se alguém poder dar uma olhadinha agradeceria!
Pergunta
Rafael Rocha B.
E ai galera, tudo em paz?!
Tava tentando criar um contador de visitas aqui, mas estou me enrrolando todo, peguei trechos de código pronto, customizei, fiz e refiz mas nada.
O problema é o seguinte, toda vez que atualizo a página a visita é incrementada, mas queria que isso só acontecesse se o ip fosse diferente. Então
a lógica seria: capturar o ip do usuário, e verificar se o mesmo existe no banco de dados, se existir a visita não será incrementada, se não é incrementada....
O código segue logo abaixo, se alguém poder dar uma olhadinha agradeceria!
<?php
/*************************************
*@Author:
Eduardo Stuart - eduardo@eduardostuart.com
*@Web:
http://www.eduardostuart.com
*@Description: Simples contador de visitas
que utiliza db-mysql
*@E-mail:
eduardo@eduardostuart.com
*************************************/
//Class conexao com db.
class conexao
{
var $userdb = "rafaelda";
var $passdb = "aoc.ufc.rafa.87";
var $hostdb = "localhost";
var $namedb = "rafaelda_rafaelrocha";
function conecta()
{
$conecta = mysql_connect($this->hostdb,$this->userdb,$this->passdb)or
die(mysql_error());
mysql_select_db($this->namedb,$conecta)or
die(mysql_error());
}
}
//Class contador
class contador extends conexao
{
var $ip;
var $data;
var $tabela = "contador";
function criaConexao()
{
$conexao = new conexao;
$conexao->conecta();
}
function pegaData()
{
$this->data = date("d/m/Y");
}
function pegaIp()
{
$this->ip = $_SERVER['REMOTE_ADDR'];
}
function visitaHoje() //A dificuldade toda está aqui
{
$this->criaConexao();
$sql = mysql_query("SELECT ip,data FROM $this->tabela WHERE data='$this->data' AND ip='$this->ip'") or die(mysql_error());
if(mysql_num_rows($sql) > 0)
{
}
else
{
mysql_query("INSERT INTO $this->tabela (data,ip) VALUES ('$this->data','$this->ip')")or die(mysql_error());
}
}
function mostraVisitantes()
{
$this->criaConexao();
$sql = mysql_query("SELECT * FROM $this->tabela")or
die(mysql_error());
$total= mysql_num_rows($sql);
echo "<font style='color: white'><b>Total de visitas:.</b>$total</font>";
}
function mostraVisitantesHoje()
{
$this->criaConexao();
$sql = mysql_query("SELECT * FROM $this->tabela WHERE data='$this->data'")
or die(mysql_error());
$total =mysql_num_rows($sql);
echo "<font style='color: white'><b>Visitas hoje:.</b>$total</font>";
}
}
?>
Se alguél tiver alguma dica de como fazer tudo isso utilizando um arquivo txt, tb acharia interessante.
Desde já agradeço pela atenção1
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.