Foros del Web » Programando para Internet » PHP »

Manejo de cookies para encuesta

Estas en el tema de Manejo de cookies para encuesta en el foro de PHP en Foros del Web. Señores Foristas: saludos cordiales. He utilizado el siguiente código para evitar que en un visitante pueda responder más de una vez una encuesta. En mi ...
  #1 (permalink)  
Antiguo 23/09/2010, 15:33
 
Fecha de Ingreso: agosto-2009
Mensajes: 39
Antigüedad: 14 años, 8 meses
Puntos: 0
Exclamación Manejo de cookies para encuesta

Señores Foristas: saludos cordiales.

He utilizado el siguiente código para evitar que en un visitante pueda responder más de una vez una encuesta. En mi localhost funciona perfectamente, pero, al subirla al servidor donde tengo el hosting, no funciona, es decir, permite que un usuario la responda cuantas veces lo desee.

Si funciona bien en mi localhost, por qué razón no funciona bien en el servidor de la página? Será acaso que el register_globas = off tiene algo que ver?


Código HTML:
<?php 

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

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

?> 
Les agradezco todo los consejos y sugerencias que puedan llegar.

J.Didier

Última edición por didierjose; 23/09/2010 a las 19:46
  #2 (permalink)  
Antiguo 24/09/2010, 02:10
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Manejo de cookies para encuesta

Cita:
Iniciado por didierjose Ver Mensaje
Si funciona bien en mi localhost, por qué razón no funciona bien en el servidor de la página? Será acaso que el register_globas = off tiene algo que ver?
claro que tiene que ver!!

se considera una opción obsoleta, por eso mismo deberías usar $_COOKIE['encuesta'] en lugar de tu variable $encuesta

otra cosa importante es que las variables no son accesibles inmediatamente, esto quiere decir que cuando empleas setcookie() en un script no se crean las variables justo en ese momento...

debes esperar a que lleguen primero las cookies al cliente, y para las cargas consecutivas el cliente enviará dichas cookies de vuelta al servidor...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 24/09/2010, 09:04
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Tema movido desde Configuración PHP a PHP
  #4 (permalink)  
Antiguo 24/09/2010, 11:03
 
Fecha de Ingreso: agosto-2009
Mensajes: 39
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Manejo de cookies para encuesta

Tenia razon.. ya reconoce el servidor los cookies... no soy tan avanzado en la materia. Pero ahora tengo una inquietud.


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


En que lugar debe ir estas sentencias? La pregunta se debe a que ya reconoce la cookie pero me saca de una del sitio... es decir, me lleva a encuesta_error.php.

Agradezco su respuesta... gracias por compartir su conocimiento.
  #5 (permalink)  
Antiguo 24/09/2010, 11:14
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Manejo de cookies para encuesta

¿donde debe ir?

R: donde sea necesario, sin embargo deberías usar header() para hacer la redirección, ya que emplear <meta/> no es muy limpio que digamos...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 24/09/2010, 19:02
 
Fecha de Ingreso: agosto-2009
Mensajes: 39
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Manejo de cookies para encuesta

Muy Estimado Pateketrueke:

Listo, lo pude ubicar y ya está funcionando perfectamente. Sin embargo decidí dejar <meta/> pues desconozco la forma de utilizar header() y no comprendo su expresión "no es muy limpio que digamos".

Ya le comente que soy neófito en PHP y que mi saber hacer solo se fundamenta en la prueba/error, largo y complicado, pero es una forma más de aprender.

Le agradezco su colaboración y espero que por favor me despeje lo de <meta/> y lo de header(). Gracias por compartir su conocimiento.

Cordial saludo.

DidierJose
  #7 (permalink)  
Antiguo 24/09/2010, 19:10
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: Manejo de cookies para encuesta

Para ello existe php.net, para entender cada funcion....
Código PHP:
header('Location: encuesta_error.php?exito=NO'); 
Ojo, debes usar header(); antes de CUALQUIER salida de texto...
Es decir, no puedes escribir nada antes de usar header();, establecer cookies, o iniciar una sesion

Etiquetas: cookies, encuesta, manejo
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 10:09.