Ayuda con $_SESSION

Iniciado por spysecurityca, 25 Junio 2014, 03:18 AM

0 Miembros y 1 Visitante están viendo este tema.

spysecurityca

Buenas les traigo mi duda.

Tengo una página A que tiene N cantidad de campos que envío a una página B que me crea una session_start(); con un array de todos los $_POST que recibió de A

Algo así tipo $_SESSION['elementos']=$_POST;

Ahora luego me voy a otra página que tambien tiene N cantidad de elementos que van a ser dirigidos hacia la página B y quiero que se agreguen al array $_SESSION['elementos'] que cree anteriormente.

El problema es que al querer agregar elementos a esa variable de session que es un array, unicamente me agrega lo ultimo y me borra lo primero, como hago para agregarle nuevos elementos a un Array que está en una variable session ?

engel lex

podrías intentar

$_SESSION['elementos'][]=$_POST;
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

JorgeEMX

Para tu "otra página":

Código (php) [Seleccionar]
$_SESSION['elementos']= array_merge($_SESSION['elementos'], $_POST);

Ojo que esto reemplaza cualquier valor repetido por su última aparición, según el contexto podría ser mejor usar la primera opción que te propusieron (con el inconveniente de tener que recorrer más indices).

spysecurityca

Saludos y muchas gracias a ambos.

He usado la solución dada por lex y efectivamente me conserva los elementos anteriores, pero me agrega los nuevos elementos haciendo otro array (osea creando una nueva dimension).

La pregunta es ¿Como agregarlos sin que me cree la otra dimension en el array existente?.

Saludos y muchas gracias, poco a poco me han ido aclarando el camino.

MinusFour

Lo que sucede es que no estas agregando los elementos del arreglo al arreglo, estás agregando un arreglo a un arreglo.

Si quieres tener todos los elementos del arreglo post en el arreglo de SESSION necesitas recorrer $_POST y agregarlo uno por uno.

Código (php) [Seleccionar]

foreach($_POST as $value) {
  $_SESSION["elementos"][] = $value;
}