Hola:
Mira yo utilizo este cdigo para hacer lo que tu pides, primero almaceno la ip y la fecha en una tabla.
El codigo que te muestro a continuación hace esto: Voy pasando el dia,mes y año a las variables $dia,$mes,$fec respectivamente y como veras las concateno para que formen una sola fecha de tal forma que queda 2007-07-25 (ejemplo),después hago un select para comparar la fecha del dia de hoy a la fecha almacenada, despuésalamceno el numero de registros que me mande la consulta y si esta es mayor o igualque 1 borro la tabla y se vuelve a crear con la misma estructura:esto lo hago por si el usuario voto ayer y hoy vuelve a entrar pueda votar.
Después inserto la ip y la fecha, luego hago un select de la ip y con la funcion de mysql_num_rows me da el total de registros devuelto por la busqueda, en el if digo si el numero de registros es mayor q 1 entonces: 'Lo sentimos solo puedes votar UNA vez por Día'. y seria todo.
Antes de este codigo tengo el codigo para saber la ip y la conexion a la base de datos, todo esta en como acomodas tu codigo.
Código PHP:
$dia=date(d);
$mes=date(m).$dia;
$fec=date(Y).$mes;
$resfec=mysql_query("SELECT fecha FROM ip where fecha!=$fec");
$res=mysql_num_rows($resfec);
if($res>=1)
{
$resdrop=mysql_query("TRUNCATE TABLE ip");
}
$res=mysql_query("INSERT INTO ip(ip,fecha) VALUES('{$ipp}',{$fec})");
$resb=mysql_query("SELECT ip FROM ip WHERE ip='$ipp'");
while($dato=(mysql_fetch_array($resb)))
{
$numreg=mysql_num_rows($resb);
if($numreg>1)
{
?>
<script language=javascript><!--
alert('Lo sentimos solo puedes votar UNA vez por Día');
var pagina="http://localhost/Pagina/welcome.php"
function redireccionar()
{
location.href=pagina
}
setTimeout ("redireccionar()",0000);
//--></script>
<?php
}
}
Espero te sirva y Suerte