Foros del Web » Programando para Internet » PHP »

Arreglos y sesiones en php

Estas en el tema de Arreglos y sesiones en php en el foro de PHP en Foros del Web. Hola a todos, tengo el siguiente problema, tengo un formulario en el que pido los datos del cliente para hacer un envio, todo eso en ...
  #1 (permalink)  
Antiguo 20/02/2011, 15:25
 
Fecha de Ingreso: febrero-2011
Mensajes: 2
Antigüedad: 13 años, 2 meses
Puntos: 0
Pregunta Arreglos y sesiones en php

Hola a todos, tengo el siguiente problema, tengo un formulario en el que pido los datos del cliente para hacer un envio, todo eso en la página siguiente lo paso a una variable de sesion, dentro de un arreglo, y pues quiero conservar esa info para que en caso de que quiera seguir agregando más cosas, pues no se pierdan sus datos, pero no me esta saliendo e intentanto varias cosas pero no em sale:

después del formulario, declaro así mi arreglo y mi sesion:

if(isset($_SESSION['datos_cliente']) || isset($_POST['nombre'])) {
if(isset($_SESSION['datos_cliente'])) {
$datos_envio = $_SESSION['datos_cliente'];
if(isset($_POST['nombre'])) {
$nombre = $_POST['nombre'];
$cel = $_POST['cel'];
$tel = $_POST['tel'];
$email = $_POST['email'];
$direccion = $_POST['direccion'];
$num_ext = $_POST['num_ext'];
$num_int = $_POST['num_int'];
$entrecalle1 = $_POST['entrecalle1'];
$entrecalle2 = $_POST['entrecalle2'];
$colonia = $_POST['colonia'];
$poblacion = $_POST['poblacion'];
$estado = $_POST['estado'];
$cp = $_POST['cp'];
$id_formapago = $_POST['id_formapago'];
$datos_envio[] = array("nombre"=>$nombre,"cel"=>$cel,"tel"=>$tel,"e mail"=>$email,"direccion"=>$direccion,"entrecalle1 "=>$entrecalle1,"entrecalle2"=>$entrecalle2,"colon ia"=>$colonia,"poblacion"=>$poblacion,"estado"=>$e stado,"cp"=>$cp,"id_formapago"=>$id_formago);
}
} else {
$nombre = $_POST['nombre'];
$cel = $_POST['cel'];
$tel = $_POST['tel'];
$email = $_POST['email'];
$direccion = $_POST['direccion'];
$num_ext = $_POST['num_ext'];
$num_int = $_POST['num_int'];
$entrecalle1 = $_POST['entrecalle1'];
$entrecalle2 = $_POST['entrecalle2'];
$colonia = $_POST['colonia'];
$poblacion = $_POST['poblacion'];
$estado = $_POST['estado'];
$cp = $_POST['cp'];
$id_formapago = $_POST['id_formapago'];
$datos_envio[] = array("nombre"=>$nombre,"cel"=>$cel,"tel"=>$tel,"e mail"=>$email,"direccion"=>$direccion,"num_ext"=>$ num_ext,"num_int"=>$num_int,"entrecalle1"=>$entrec alle1,"entrecalle1"=>$entrecalle1,"entrecalle2"=>$ entrecalle2,"colonia"=>$colonia,"poblacion"=>$pobl acion,"estado"=>$estado,"cp"=>$cp,"id_formapago"=> $id_formapago);
} }

En lo anterior la idea es que si no existe la cree y si existe pase los datos, al momento de imprmir mis variables, si las veo una ves que escribo algo, pero si me vp a otra página y hago el echo para ver si se están pasando no me muestra nada, por ejemplo en pag2.php hago lo siguiente:

session_start();

if(isset($_SESSION['datos_cliente'])) {
$datos_envio = $_SESSION['datos_cliente'];
}

echo $datos_envio[0]['nombre'];
echo $datos_envio[0]['email'];

para comprobar que se pase algo pero, pues no me imprime nada, entonces no sé como hacerle para que esa sesión mantenga la información en el arreglo hasta que se envie el pedido

Por favor necesito de su sabiduría jaja porque no sé que pueda ser.
Gracias de antemano!!
  #2 (permalink)  
Antiguo 20/02/2011, 19:32
Avatar de jheckson  
Fecha de Ingreso: febrero-2011
Ubicación: $VE->Aragua['Maracay']
Mensajes: 109
Antigüedad: 13 años, 2 meses
Puntos: 8
Respuesta: Arreglos y sesiones en php

Código PHP:
Ver original
  1. $datos_envio = $_SESSION['datos_cliente'];

no se manejar mucho los arreglos aca en PHP pero creo q falta que le indiques en que pocision del arreglo quieres guardar la vairable session....

antes de usar una variable $_SESSION debes iniciar la session... preferiblemente al inicio de todo codigo PHP de esta manera:

Código PHP:
Ver original
  1. <?php
  2. session_name("misession");
  3.  
  4. //el resto de tu codigo PHP
  5. ?>

y como talvez ya sepas las variables session son variables globales... asi que solo tienes que iniciar la session en cada archivo donde vallas a utilizarlas...

una recomendacion antes de usar un header coloca esto session_write_close();

Código PHP:
Ver original
  1.  
  2. header('location:miarchivo.php';
  3.  
  4. //para que asegures que guardes los valores en las variables $_SESSION....
  5. )

Última edición por jheckson; 20/02/2011 a las 19:33 Razón: Escribi mal... xD

Etiquetas: arreglos, sesiones
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:06.