Foros del Web » Programando para Internet » PHP »

Problemas con cookie y arreglos

Estas en el tema de Problemas con cookie y arreglos en el foro de PHP en Foros del Web. Saludos a todos, He estado corriendo unas pruebas con cookies que han funcionado perfectamente hasta que llegué al manejo de las mismas con arreglos. El ...
  #1 (permalink)  
Antiguo 22/08/2006, 08:43
 
Fecha de Ingreso: agosto-2006
Mensajes: 5
Antigüedad: 11 años, 3 meses
Puntos: 0
Exclamación Problemas con cookie y arreglos

Saludos a todos,

He estado corriendo unas pruebas con cookies que han funcionado perfectamente hasta que llegué al manejo de las mismas con arreglos. El siguiente es un código que se encuentra en casi todos los sites y libros de php pero no me está funcionando.

setcookie( "cookie[three]", "cookiethree" );
setcookie( "cookie[two]", "cookietwo" );
setcookie( "cookie[one]", "cookieone" );
if ( isset( $cookie ) ) {
while( list( $name, $value ) = each( $cookie ) ) {
echo "$name == $value<br>\n";
}
}

El caso es que no se está estableciendo el valor del arreglo de cookies y cuando pregunto por ellas no hay nada.

Agradecería la ayuda que pudieran facilitar.
  #2 (permalink)  
Antiguo 22/08/2006, 08:51
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
No deberías acceder a las cookies como "globales" ($nombre_cookie) sino por su array superglobal asociado:

$_COOKIE['nombre_cookie']

En ese caso ..puedes usar un foreach() para recorrer tu array:

Código PHP:
<?php
// set the cookies
setcookie("cookie[three]""cookiethree");
setcookie("cookie[two]""cookietwo");
setcookie("cookie[one]""cookieone");

// after the page reloads, print them out
if (isset($_COOKIE['cookie'])) {
   foreach (
$_COOKIE['cookie'] as $name => $value) {
       echo 
"$name : $value <br />\n";
   }
}
?>
Extraido de www.php.net/setcookie

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 22/08/2006, 09:03
 
Fecha de Ingreso: agosto-2006
Mensajes: 5
Antigüedad: 11 años, 3 meses
Puntos: 0
Gracias funcionó perfectamente. Ahora lo que quería finalmente lograr era que una vez ingresado el valor al cookie, pudiera extraerlo empleando un código como el siguiente:

setcookie("cookie[three]", "cookiethree");

echo ($_COOKIE['cookie[three]']);

Este código tal como está no devuelve ningún valor del cookie

Saludos,
  #4 (permalink)  
Antiguo 22/08/2006, 10:24
 
Fecha de Ingreso: junio-2005
Mensajes: 981
Antigüedad: 12 años, 5 meses
Puntos: 2
Tienes un error bastante "grande". Te recomendaria que leas todo lo que puedas sobre array's asi te acostumbras a usarlos. La forma correcta es:
Código PHP:
echo $_COOKIE['cookie']['three']; 
Saludos.

PD: No se de donde aprendiste que echo se usa con parentecis, pero no es asi, tambien te recomiendo que empieces a ver codigo ajeno para que veas como trabajan.
  #5 (permalink)  
Antiguo 23/08/2006, 06:37
 
Fecha de Ingreso: agosto-2006
Mensajes: 5
Antigüedad: 11 años, 3 meses
Puntos: 0
Exclamación Agradecimiento a recomendación

Gracias por tu amable información. Funcionó perfectamente.

Tu recomendación la tomo y me mantendré en pie de lucha sobre todo contra aquellos libros "especialistas" que están llenos de errores.

Mis cordiales saludos,
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 04:34.