Foros del Web » Programando para Internet » PHP »

Cargar datos en un array en Cookie

Estas en el tema de Cargar datos en un array en Cookie en el foro de PHP en Foros del Web. Buenas, mi duda es la siguiente: Tengo un formulario el cual pasa sus datos a una función mailer en la cual leo los datos por ...
  #1 (permalink)  
Antiguo 30/06/2003, 14:22
 
Fecha de Ingreso: junio-2003
Ubicación: Ciudad de Panamá
Mensajes: 74
Antigüedad: 14 años, 6 meses
Puntos: 0
Cargar datos en un array en Cookie

Buenas, mi duda es la siguiente:

Tengo un formulario el cual pasa sus datos a una función mailer en la cual leo los datos por HTTP_POST_VARS, Sin embargo, quiero que después del email...cargue una página con una cotización preformateada, pero no logro conservar los datos por que que en la función mailer :-p (justo donde cargo los datos al mensaje) voy haciendo un setcookie donde como nombre del cookie, especifico un array. Y cuando cargo la cotización me dice que el valor pasado no es valido:

setcookie("cookie[$i]","$key: $val");

Can you help me!!!

Gracias.....
__________________
[ Hypnoz ]
Web Programmer

"El truco, es mantenerse respirando"
  #2 (permalink)  
Antiguo 30/06/2003, 14:46
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
Hola,

El "truco" esta en serializar y deserializar el array. Tienes como hacerlo en las FAQs, en concreto http://www.forosdelweb.com/showthrea...072#post262072 . Lo explica para link, pero puede servir perfectamente para cookies. Es la forma de meter un array en una variable de texto.

Saludos.

PD: Tambien puede ser que no haya entendido tu pregunta y te haya liado aun mas.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 30/06/2003, 15:28
 
Fecha de Ingreso: junio-2003
Ubicación: Ciudad de Panamá
Mensajes: 74
Antigüedad: 14 años, 6 meses
Puntos: 0
No estoy seguro

Mira...necesito pasarlo, me parece razonable el serializar el array, pero tengo un problema mayor...

ejemplo:

$array = array("HYPNOZ","DIOS","DEL","SUEÑO");
//lo mando a la funcion que serializa
$array = array_envia($array);

setcookie("array",$array);

Ahora........se supone que yo puedo acceder a los datos desde cualquier pagina por el cookie...

asi..

while (list($key, $value) = each(array_recibe($array))){

Pero no se si eso sirva....
__________________
[ Hypnoz ]
Web Programmer

"El truco, es mantenerse respirando"
  #4 (permalink)  
Antiguo 30/06/2003, 22:17
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Bueno .. si te fijas en esa FAQ .. hay una funcion para "enviar_array()" y otra para "recibir_array()" la cual hace el "unserialize()" que te haría falta hacer en la(s) página(s) donde leas ese array que viaja en tu cookie.

De todas formas .. el manual oficial de PHP (para variar) describe como trabajar con arrays en tus cookies:

http://www.php.net/setcookie
(fijate en: Example 3. setcookie() and arrays)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 01/07/2003, 08:14
 
Fecha de Ingreso: junio-2003
Ubicación: Ciudad de Panamá
Mensajes: 74
Antigüedad: 14 años, 6 meses
Puntos: 0
Bueno, si he visto el manual de Php.net sobre el manejo, lo que pasa es que lo que no he de entender es que a pesar de usar ambas funciones en mis páginas, cuando cargo el script, me indica un error en la variable que recibe pues "no es un array".

Ahora bien, no entiendo si el usar la variable independiente array y pasarla "ya" seralizada al cookie o usar al cookie en terminos de array y serializar al cookie (suena descabellado), disculpen pero en lo de los cookies soy un plomo.....

Gracias por sus comentarios y me son de gran ayuda
__________________
[ Hypnoz ]
Web Programmer

"El truco, es mantenerse respirando"
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 08:42.