Contenido de la variable global $_SESSION

Antes de la pregunta, plantearé lo que tengo echo (reduciéndolo pero con el mismo caso):

Página php, con un <div> principal y otro <div> que llamaremos "listado".

La página, el div principal, se rellena con información, y el div "listado", se rellena con el reforno de un fichero php, mediante jquery o sea: $('#listado'.load('listado.php',{codigo:72});

En listado.php, además de retornar el listado, lo que hace es rellenar un array con ese mismo contenido.

Desde principal.php, trato de contar los elementos de dicho array (en javascript), pero me retorna cero, cuando sé que hay, ya que una vez generado dicho array en listado.php, me aseguro de que tiene contenido mediante un count.

Como no lo podia leer, lo que hago en listado.php una vez generado el array, es asignarselo a una variable de sesion (asegurándome de igual manera de que se almacena), pero desde principal, desde la función javascript me sigue pasando lo mismo, a pesar de poner session_start();

He encontrado una "solución" que funciona (con javascript) pero me gustaría poder hacerlo con php, no sé que es lo que falla.

1 respuesta

Respuesta
2

Al final lo he hecho de una "tercera" manera:

Explico:

Al no funcionarme lo de $_SESSION, y habiendo comprobado que definiendo una variable javascript en la capa principal, podía manipularla desde listado.php, lo he hecho de esta manera.

En listado.php continuo llenando el array, y a continuación asigno a la variable javascript definida en principal el "valor" de dicho array, de esta manera:

  echo "<script language='javascript' type='text/javascript'>";
  echo "puente='" . serialize($t_listado) . "';";
  echo "</script>";

Posteriormente y ya en principal, si he de enviarlo a otro php, con ponerlo como parámetro ningún problema, posteriormente en el php de destino hago un unserialize, y a trabajar con normalidad.

Saludos.

P.D: Si alguien me puede decir algo respecto a por qué no me ha funcionado el tema $_SESSION, si en teoría, las variables se destruyen cuando se cierra el navegador y/o pasa cierto tiempo ...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas