Ver Mensaje Individual
  #6 (permalink)  
Antiguo 29/07/2006, 10:15
f3nixl
 
Fecha de Ingreso: marzo-2006
Ubicación: Ramos Arizpe, Coah
Mensajes: 70
Antigüedad: 18 años, 1 mes
Puntos: 0
De acuerdo

Haber si te sirve esto que hize hace tiempo lo que hace es guardar el identificador IP de la maquina y la fecha del comentario esto lo puedes adaptar a los votos es la misma logica, de aqui se parte para identificar si ha hecho ya un comentario la persona, verificado la ip si existe pasa al segundo paso jalando el minuto en que fue hecho el comentario de ahi se calcula el tiempo entre el comentario anterior ingresado y el nuevo comentario, de hecho puedes modificar los minutos a tu gusto, abajo tiene una variable, Saludos!! Por cierto puedes traerte los minutos con un DATE_FORMAT(fecha, 'm') en el query.

Código PHP:
$tiempo_espera=10///MINUTOS DE ESPERA
$formateo=new formateo;  ///CLASE
//SIMPRE RECIBIREMOS ESTA VARIABLE PARA MOSTRAR DETALLES
$_GET['producto']=$formateo->limpiar_var($_GET['producto']);
$proceso=true;  ////IDENTIFICADOR SI EXISTE EL PRODUCTO
$ingresar_comentario=""//INICIALIZO
/////////TRAEMOS LOS DATOS
$liberar=Conectar();
if (
$consulta=mysql_query("SELECT producto FROM tab005 WHERE id={$_GET['producto']}'"$liberar)){
   
////SACAR EL NOMBRE DEL PRODUCTO
   
if ($row=mysql_fetch_assoc($consulta)){
     
$producto_pro=$row['producto'];
     
$proceso=false;
   }else{
     
$error.='El producto no existe.<br>';
     
$proceso=false;
   }
Cerrar($liberar);
}else{
     
$error.='El servidor se encuentra en mantenimiento, intente de nuevo mas tarde.';
}
//////////////////////////INGRESAR LOS DATOS DE LA CONSULTA///////////////////////////////
$liberar=Conectar();
if (
$_POST['enter']){
        
$ingresar_comentario=true;
        if (!
$_GET['producto']=$formateo->limpiar_bd($_GET['producto'])){
           
$ingresar_comentario=false;
           
$error='No se ha seleccionado el producto.<br>';
        }
        if (!
$_POST['nombre']=$formateo->limpiar_bd($_POST['nombre'])){
           
$ingresar_comentario=false;
           
$error.='Es necesario ingresar su nombre.<br>';
        }
        if (!
$_POST['comentario']=$formateo->limpiar_bd($_POST['comentario'])){
           
$ingresar_comentario=false;
           
$error.='Es necesario ingresar su comentario.<br>';
        }
///////////SI PASAN TODOS LOS DATOS VA AL PASO 2////////////////////////////
if ($ingresar_comentario){
/////////////VERIFICAR QUE NO HAYA HECHO UN COMENTARIO LOS ULTIMOS MINUTOS///////////
///////////OBTENER IP DEL VISITANTE//////////
if (getenv("HTTP_X_FORWARDED_FOR")) {
     
$ip   getenv("HTTP_X_FORWARDED_FOR");
   } else {
     
$ip   getenv("REMOTE_ADDR");
  }
/////////////////////////////////////////////
$minutos=date("i");
$minuto_bd="";
 if (
$consulta=mysql_query("SELECT tab012.fecha FROM tab012 WHERE tab012.ip='{$ip}' ORDER BY tab012.fecha DESC LIMIT 0, 1",$liberar)){
   if(
$row=mysql_fetch_assoc($consulta)){ ///COMPROBAR QUE EXISTA
       
$minuto_bd=explode(":"$row['fecha']);
       
$minuto_bd=$minuto_bd[1];
   }
 }
 
//////FILRO MINUTOS/////////
 
if ($minuto_bd AND ($minuto_bd+$tiempo_espera)>60){
     
$minuto_bd=($minuto_bd+$tiempo_espera)-60;
 }
 
////////////////////////////
 
if (!$minuto_bd || (date("i")-$minuto_bd)>=$tiempo_espera){
    
////INGRESO COMENTARIO
    
$fecha=date("Ymd H:i:s");
    if (!
$consulta=mysql_query("INSERT INTO tab012 (id_com, ip, nombre, comentario, valor, fecha) VALUES ('{$_GET[producto]}', '{$ip}', '{$_POST[nombre]}', '{$_POST['comentario']}', '{$_POST['valor']}', '{$fecha}')"$liberar)){
        
$error='En estos momentos no se puede agregar su comentario porfavor intente mas tarde.<br>';
        
$ingresar_comentario=false;
    }else{
        
$error='Felicidades se ha agregado su comentario<br>';
    }
    
Cerrar($liberar);
 }else{
    
$error='Tiene que esperar '.(($minuto_bd+$tiempo_espera)-date("i")).' minutos para poder agregar un nuevo mensaje.<br>';
    
$ingresar_comentario=false;
 }
////////////////////////////////////////////////////////////////////////////////////
}
}
///////////////////SI NO HAN INGRESADO COMENTARIO///////////////////////////////////
if (!$ingresar_comentario){
  if (
$consulta=mysql_query("SELECT id, producto FROM tab005 WHERE id='{$_GET[producto]}'"$liberar)){
          
$row=mysql_fetch_assoc($consulta);
          
$id_pro=$row['id'];
          
$producto_pro=$row['producto'];
          
Cerrar($liberar);
          if (!
$id_pro){    ///SEGUNDO INDETIFICADOR INTERNO
               
$proceso=false;
          }
          
/////////////FILTRO DE IMAGEN POR DEFUAL SI NO EXISTE
  
}else{
          
$proceso=false;
  }