Foros del Web » Programando para Internet » PHP »

Problema cookies

Estas en el tema de Problema cookies en el foro de PHP en Foros del Web. Tengo un php sencillito: <? function miCookie(){ setcookie("miCookie", "el valor aleatorio ".rand(), time()+3600); } if ($_REQUEST["votar"]==1){ miCookie(); echo "entro"; echo $_COOKIE["miCookie"]."----------"; } ?> <!DOCTYPE html ...
  #1 (permalink)  
Antiguo 19/12/2011, 09:06
 
Fecha de Ingreso: marzo-2005
Mensajes: 276
Antigüedad: 19 años, 1 mes
Puntos: 0
Pregunta Problema cookies

Tengo un php sencillito:

<?
function miCookie(){
setcookie("miCookie", "el valor aleatorio ".rand(), time()+3600);
}
if ($_REQUEST["votar"]==1){
miCookie();
echo "entro";
echo $_COOKIE["miCookie"]."----------";
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
<? //echo ("AQUI: ". miCookie()); ?>
<br />
<? print_r($_COOKIE); ?>
<div id="encuestaHome">
PROBANDO COOKIES

<a href="index.php?votar=1">votar</a>
</div>

</body>
</html>


Cuando pulso votar llamo a la función miCookie que setea la cookie y, según creo yo, el print_r de más abajo debería pintarme el valor de miCookie después...

Pues bien, cuando pulso votar el print_r no me pinta el valor de la cookie tengo que recargar la página para que la pinte.

¿es este un comportamiento normal? ¿como hago para q al punsar en votar setee la cookie y la pueda utilizar más adelante (por ejemplo para no volver a mostrar el botón votar)?
  #2 (permalink)  
Antiguo 19/12/2011, 09:22
 
Fecha de Ingreso: julio-2010
Mensajes: 393
Antigüedad: 13 años, 8 meses
Puntos: 67
Respuesta: Problema cookies

Cita:
Iniciado por Jennifer_munn Ver Mensaje
¿es este un comportamiento normal? ¿como hago para q al punsar en votar setee la cookie y la pueda utilizar más adelante (por ejemplo para no volver a mostrar el botón votar)?
Si, es normal, puedes redireccionar a la misma url con header('location: url') para que esté disponible.

Saludos!
__________________
Páginas web de alta calidad y hechas a la medida.
  #3 (permalink)  
Antiguo 19/12/2011, 09:24
Avatar de ElSiniestro  
Fecha de Ingreso: diciembre-2011
Ubicación: Ibagué
Mensajes: 115
Antigüedad: 12 años, 4 meses
Puntos: 23
Respuesta: Problema cookies

Hola

En la función miCookie, asigna setcookie a una variable y le das return a la variable; luego abajo en echo, imprimes la variable

Iténtalo y nos cuentas
  #4 (permalink)  
Antiguo 20/12/2011, 01:51
 
Fecha de Ingreso: marzo-2005
Mensajes: 276
Antigüedad: 19 años, 1 mes
Puntos: 0
Respuesta: Problema cookies

El siniestro, si hago lo que me indicas en la variable q almacena el valor de setcookie tendré true o false, ya que setcookie devuelve true si se ejecuta bien y false si se ejecuta mal, yo necesito el valor de la cookie...
  #5 (permalink)  
Antiguo 20/12/2011, 08:45
Avatar de ElSiniestro  
Fecha de Ingreso: diciembre-2011
Ubicación: Ibagué
Mensajes: 115
Antigüedad: 12 años, 4 meses
Puntos: 23
Respuesta: Problema cookies

No escribí bien lo que quería decir:

Me refería en sí, al valor de la cookie que quieres mostrar por ejemplo: $_COOKIE['nombre']
  #6 (permalink)  
Antiguo 21/12/2011, 06:42
 
Fecha de Ingreso: marzo-2005
Mensajes: 276
Antigüedad: 19 años, 1 mes
Puntos: 0
Respuesta: Problema cookies

OK! Entiendo y funcionó!!!
Os dejo cómo quedo el código por si a alguien le sirve de ayuda:

<?
function miCookie(){
//setcookie("miCookie", "el valor aleatorio ".rand(), time()+3600);
$_COOKIE['miCookie'] = "el valor aleatorio ".rand();
}
if ($_REQUEST["votar"]==1){
miCookie();
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
<? print_r($_COOKIE); ?>
<div id="encuestaHome">
PROBANDO COOKIES

<a href="index.php?votar=1">votar</a>
</div>

</body>
</html>

Etiquetas: cookies
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 19:48.