Hola! necesito ayuda urgente!!!
Resulta que tengo un contador por IP en PHP que funciona perfecto, lo que quisiera es que me cuente la IP solo una vez por día, es decir que si hoy veo la página y mañana también existan dos registros el de hoy y el de mañana aquí les dejo el código:
<?
require('configuracion.php');
//se requiere el archivo para validar los datos de usuario de bdd para conectar
$ip = "";
if(isset($_SERVER)) {
if (!empty($_SERVER['HTTP_CLIENT_IP']))
{
$ip=$_SERVER['HTTP_CLIENT_IP'];
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
$ip=$_SERVER['REMOTE_ADDR'];
}
} else {
if ( getenv( 'HTTP_CLIENT_IP' ) ) {
$ip = getenv( 'HTTP_CLIENT_IP' );
} elseif ( getenv( 'HTTP_X_FORWARDED_FOR' ) ) {
$ip = getenv( 'HTTP_X_FORWARDED_FOR' );
} else {
$ip = getenv( 'REMOTE_ADDR' );
}
}
$fecha = date("j \d\e\l F \d\e Y");
$hora = date("G:i:s");
//se asignan la variables
$sql = "SELECT ip ";
$sql.= "FROM contador WHERE ip LIKE '$ip' ";
$es = mysql_query($sql, $con) or die("Error al leer base de datos: ".mysql_error);
//se buscan los registros que coincidan con la hora,dia,año e ip
if(mysql_num_rows($es)>0)
{//no se cuenta la visita
}
else
{
$sql = "INSERT INTO contador (ip) ";
$sql.= "VALUES ('$ip')";
$es = mysql_query($sql, $con) or die("Error al grabar un mensaje:ii ".mysql_error);
}
//creamos el condicionamiendo para logearlo o no.
$sql = "SELECT * ";
$sql.= "FROM contador WHERE id ";
$es = mysql_query($sql, $con) or die("Error al leer base de datos: ".mysql_error);
$visitas = mysql_num_rows($es);
$men=$men . "<p><font face='verdana' size='2' color=#f7f7f8>Visitas:$visitas</font></p>" . chr(10);
?>