Foros del Web » Programando para Internet » PHP »

Ayuda con Condicion IF

Estas en el tema de Ayuda con Condicion IF en el foro de PHP en Foros del Web. Buenas tardes... tengo un problemita.. lo que quiero hacer es que un usuario no pueda hacer click en un enlace mas de una vez por ...
  #1 (permalink)  
Antiguo 16/04/2007, 11:54
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 17 años, 5 meses
Puntos: 23
Ayuda con Condicion IF

Buenas tardes...
tengo un problemita.. lo que quiero hacer es que un usuario no pueda hacer click en un enlace mas de una vez por dia..
entonces lo que hago es crear una tabla con IP FECHA ENLACE

el problema viene aca..
cada ip que clickea, la guardo en la BD junto con el enlace que hizo click.. y al fecha..

entonces, este es el codigo que al clickear te da suma el click al usuario

Código PHP:
<?

include('config.php');


$sql "UPDATE user SET clicks=clicks+1 WHERE id_imagen=$id_usuario";
mysql_query($sql);
  
echo 
'<meta http-equiv="Refresh" content="10;URL=index.php">'

?>
y loq eu quiero hacer seria mas o menos esto:

if (SI EL IP Y EL ENLACE ESTAN EN LA BD)

else{
echo 'ya has clickeado';

}echo{

QUE EJECUTE EL UPDATE DE ARRIBA

}

no se si se entiende..
saludos y gracias de antemano!
MC
__________________
Recuerda usar el highlight para mostrar código
mauricioblint.com
  #2 (permalink)  
Antiguo 16/04/2007, 12:42
Avatar de Bakura  
Fecha de Ingreso: septiembre-2004
Mensajes: 14
Antigüedad: 19 años, 7 meses
Puntos: 0
Re: Ayuda con Condicion IF

hola, viendo mas o menos lo que quieres no creo que sea necesario meter el ip del usuario si ya tienes a tu usuario en la BD, y tampoco veo necesario comparar si el enlace esta en la BD puesto que si puedes votar 1 vez por dia puede que el usuario haya votado o no, entonces puede ser que haya o nohaya un enlace en la BD, asi que lo unico que necesitas comparar es la fecha en la que voto, despues de pensar un rato esto fue lo que se me vino a la mente, espero que te sirva:

Código PHP:
<?php
$con 
mysql_connect(tus_datos,de,conexion);
$db mysql_select_db(tu_db);
$sql "SELECT ip, fecha, enlace FROM tu_tabla where usuario = $variable_usuario";
$query mysql_query($sql);
$row mysql_fetch_object($query);
$hoy date("d"); // marca el puro dia de la fecha de hoy
$ip $_SERVER['REMOTE_ADDR'];
$enlace "enlace";

if(
$hoy != $row->fecha)
{
   include(
'config.php');
   
$sql "UPDATE user SET clicks=clicks+1 WHERE id_imagen=$id_usuario";
   
mysql_query($sql);
   echo 
'<meta http-equiv="Refresh" content="10;URL=index.php">';  
} else {
    echo 
"Ya diste clic, solo puedes dar un clic por dia<br />Este es el enlace que diste clic: "$row->enlace";
}
?>
  #3 (permalink)  
Antiguo 16/04/2007, 12:47
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 17 años, 5 meses
Puntos: 23
Re: Ayuda con Condicion IF

Gracias por tu respuesta..
pero el problema que que necesito guardar el IP.. porque si no para darle un clicka un user, van a tener que estar registrados y seria incomodo, entonces cualquiera de tus amigos te pueden dar un voto sin necesidad de esar registrados..
por eso es la IP.. y con respecto al ENLACE, ES NECESARIO TAMBIEN..
porque si yo te doy un voto a vos.. hasta despues de 24 hs no te voy a poder votar nuevamente.. pero si yo despues de votarte voto a otro, si me tiene que dejar..
no se si se entiende..
saludos!
MC
__________________
Recuerda usar el highlight para mostrar código
mauricioblint.com
  #4 (permalink)  
Antiguo 16/04/2007, 13:02
Avatar de Bakura  
Fecha de Ingreso: septiembre-2004
Mensajes: 14
Antigüedad: 19 años, 7 meses
Puntos: 0
Re: Ayuda con Condicion IF

ok, lo del ip ya lo capte, pero lo del enlace aun no, lo que me dices es entonces:

me das un voto hoy, y en todo el dia no me puedes votar de nuevo, pero si puedes votar por otra persona???
  #5 (permalink)  
Antiguo 16/04/2007, 13:18
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 17 años, 5 meses
Puntos: 23
Re: Ayuda con Condicion IF

claro. asi es..
y si vostas a otra.. sucede lomismo.. hasta despuesd e 24hs no lo podes votar nuevamente..
saludos!
__________________
Recuerda usar el highlight para mostrar código
mauricioblint.com
  #6 (permalink)  
Antiguo 16/04/2007, 13:46
Avatar de Bakura  
Fecha de Ingreso: septiembre-2004
Mensajes: 14
Antigüedad: 19 años, 7 meses
Puntos: 0
Re: Ayuda con Condicion IF

si mal no estoy entonces podria quedar asi, si me equivoco que alguien me corrija xD

Código PHP:
<?php
$ip 
$_SERVER['REMOTE_ADDR'];
$hoy date("d"); // marca el puro dia de la fecha de hoy
$con mysql_connect(tus_datos,de,conexion);
$db mysql_select_db(tu_db);
$sql "SELECT ip, fecha, enlace FROM tu_tabla where ip = $ip";
$query mysql_query($sql);

if(
$row mysql_fetch_object($query)) //checas si hay registro, si el registro existe entonces...
{
   if(
$hoy == $row->fecha//checas por la fecha
   
{
     if(
$enlace != $row->enlace//si el enlace que tienes en la base es diferente del que voto.....
     
{
        include(
'config.php');
        
$sql "UPDATE user SET clicks=clicks+1 WHERE id_imagen=$id_usuario";
        
mysql_query($sql);
        echo 
'<meta http-equiv="Refresh" content="10;URL=index.php">';  
     } else { 
//si no.....
         
echo "Ya diste clic, solo puedes dar un clic por dia<br />Este es el enlace que diste clic: "$row->enlace;
     }
   } else {
           
//ingresas el voto sin checar el enlace
   
}     
} else { 
//si el registro no existe en la base de datos entonces necesitas crear el registro
    //ingresas el registro
}
?>
muchos ifs no xD???
  #7 (permalink)  
Antiguo 16/04/2007, 14:09
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 17 años, 5 meses
Puntos: 23
Re: Ayuda con Condicion IF

Gracias..
me da el siguiente error..

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\Documents and Settings\Administrador\Escritorio\NuevaPage\CDF\cl ick.php on line 16

porque sera'?
saludos!
__________________
Recuerda usar el highlight para mostrar código
mauricioblint.com
  #8 (permalink)  
Antiguo 16/04/2007, 16:45
Avatar de Bakura  
Fecha de Ingreso: septiembre-2004
Mensajes: 14
Antigüedad: 19 años, 7 meses
Puntos: 0
Re: Ayuda con Condicion IF

lo que pasa es que se me hace que pusiste mal algun nombre de la tabla, pon la estructura de tu tabla y el codigo y te doy el codigo como debe ser ^^
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:01.