Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/06/2005, 06:04
Molxa
 
Fecha de Ingreso: enero-2005
Mensajes: 63
Antigüedad: 19 años, 3 meses
Puntos: 1
encuesta y cookies...problema sin solución?

Hola amigos,
tengo un problema con mi sistema de encuestas. Quiero evitar que la misma persona vote en la misma encuesta más de una vez y lo hago de la siguiente manera con cookies:

setcookie ("encuesta", "1", time () + 7776000);

if ($encuesta == 1)
{
echo "<meta HTTP-EQUIV='refresh' content='1;url=encuesta_error.php?exito=NO'>";
exit;
}

Funciona perfectamente si sólo tengo una encuesta activa, pero en el momento en el que tengo varias sólo se puede votar una vez en una de las encuestas. Para solucionarlo intenté cambiar el nombre de la cookie dependiendo de la encuesta que se vote y para ello usaba un campo id que se manda por el formulario al votar de esta forma:

$encuesta="encuesta".$id_encuesta;
setcookie ($encuesta, "1", time () + 3600);
if ($encuesta == 1)
{
echo "<meta HTTP-EQUIV='refresh' content='1;url=encuesta_error.php?exito=NO'>";
exit;
}
Bueno pues no funciona. He comprobado que valor tiene $encuesta y resulta que se queda con el valor que le doy al principio, o sea encuesta+id, y no "1" que es lo que yo quiero.
Lo último que he probado es esto, adjundicar el valor de la cookie del id de la encuesta:

setcookie ("encuesta", "".$id_encuesta."", time () + 7776000);
if ($encuesta == $id_encuesta; )
{
echo "<meta HTTP-EQUIV='refresh' content='1;url=encuesta_error.php?exito=NO'>";
exit;
}
pero tampoco va bien, no me deja votar más de una vez una encuesta, y si cambio a otra encuesta tampoco, pero cuando vuelvo a la que voté antes me deja hacerlo. Me imagino que es porque al tener la cookie el mismo nombre lo que hace es borrar la anterior y crear una nueva pero con distinto valor.
Ya no sé que hacer...la solución la necesito con cookies, sé que hay otras formas de hacerlo y en últimas circunstancias buscaré por ahí, pero es qie ya es cuestión de amor propio...no se que hago mal.
Muchas gracias a todos.