Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/03/2011, 15:10
Avatar de Pafate
Pafate
 
Fecha de Ingreso: mayo-2010
Mensajes: 232
Antigüedad: 14 años
Puntos: 1
Que estoy haciendo mal?

Hola.
Es una validacion por cookie.

Lo que quiero hacer es que si tiene una cookie valide a ver si es la cookie que busco.



Código:
Si no tengo cookie me setea una cookie.
if(!isset($_COOKIE['ya_votaste'])){
setcookie("ya_votaste[$aid]",$aid, time()+3600*24);
$result = mysql_query($query);
$num = mysql_numrows($result);
}else{ Si ya tengo cookie, me fijo a ver si es la misma cookie que tengo
(Para explicar un poco el tema, hay muchas votaciones en una pagina, pero solo se podria votar 1 vez en cada votacion, entonces tengo que setear cookies diferentes por cada votacion)
$num = 2;
if(isset($_COOKIE['ya_votaste'])){ <- Si tiene cookie
    foreach ($_COOKIE['ya_votaste'] as $yavot => $mid) {
(esta parte es confusa, segun tengo entendido lo pasaria como ya_votgaste[$yavot], [$mid]. osea los datos de $aid pasarian a esos dos lugares)
        $yavo = htmlspecialchars($yavot); <- No lo uso
        $mid = htmlspecialchars($mid); <- Esto deberia tener el $aid
        if($mid == $aid){ <- Me fijo si la cookie tiene el mismo $aid que la votacion actgual
Si tiene el mismo $aid, le paso valor 1 y termino el for
        $num = 1;
        break;
        }
    }
Como no se salir del if al terminar el foreach, creo que aca no existe el endif como java
Verifico si Num es 2(puse 2 al principio de este if para este paso), si no es 2 es porque tiene la cookie(el for la setea en 1)
if($num == 2){
Si es 2, le paso los datos para que pueda votar y le seteo la cookie con este $aid
$result = mysql_query($query);
$num = mysql_numrows($result);
setcookie("ya_votaste[$aid]",$aid, time()+3600*24);
}
}}
Bueno, no me funciona.
Tengo validacion por IP, pero la gente usa paginas como... anonymouse.org y pueden volver a votar.

Puse este codigo y fui a anonymouse.org a ver si podia votar 2 veces y pude.

Alguna idea, debe haber algo mal en el for ^^