PHP - Problema array multidimension en SESSION

 
Vista:
sin imagen de perfil
Val: 12
Ha disminuido su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

Problema array multidimension en SESSION

Publicado por Facundo (4 intervenciones) el 27/02/2020 12:07:02
Hola todos,

estoy por primera vez tratando de trabajar con sesiones y estoy muy encallado en un punto. Por favor busco almas expertas caritativas que me puedan ayudar.

Al final de un archivo que genera varios arrays multidimension que quiero utilizar en otros archivos abro sesion y guardo uno de esos arrays:

1
2
3
4
session_start();
ob_start();
 
$_SESSION['rutas1']=$prova;

cuando en ese mismo archivo pinto el resulado, con print_r y con un doble foreach sobre $_SESSION['rutas1'] se ve esto:

print_r----------------

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Array (
            [0] => Array (
                                 [idruta] => 153
                                 [torigsalida] => 02:25
                                 [ttrajecte] => 00:00
                                 [parada] => T )
            [1] => Array (
                                 [idruta] => 86
                                 [torigsalida] => 01:02
                                 [ttrajecte] => 05:00
                                 [parada] => P )
            [2] => Array (
                                 [idruta] => 97
                                 [torigsalida] => 01:02
                                 [ttrajecte] => 05:00
                                 [parada] => P )
           )

foreach ---------------

153 / 02:25 / 00:00 / T /
86 / 01:02 / 05:00 / P /
97 / 01:02 / 05:00 / P /

en el otro archivo php donde quiero usar ese mismo array, hago algo parecido. Abro sesion y intento pintar la misma variable.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
session_start();
ob_start();
 
echo "<br><br>rutas1 con print_r <br>";
 
print_r($_SESSION['rutas1']);
 
echo "<br><br>rutas1 con foreach <br>";
 
foreach ($_SESSION['rutas1'] as $v1) {                                        //recorre la matriz rutas
 
    foreach ($v1 as $v2) {
 
        echo "$v2\n" . " / ";
    }
    echo " <br>";
}

pero solo pinta el primer registro... se ve lo siguiente:

rutas1 con print_r

1
2
3
4
5
6
7
8
9
Array (
        [0] => Array (
                             [idruta] => 153
                             [torigsalida] => 02:25
                             [ttrajecte] => 00:00
                             [parada] => T )
        [1] =>
        [2] =>
        )

rutas1 con foreach

153 / 02:25 / 00:00 / T /

Que es lo que estoy haciendo mal??

Gracias por adelantado.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.037
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Problema array multidimension en SESSION

Publicado por xve (6930 intervenciones) el 27/02/2020 12:26:18
No muestras todo el código... pero si haces esto:

en el archivo1.php pones solo:
1
2
3
4
<?php
session_start();
 
$_SESSION["miVar"]="casa";

en el archivo2.php pones solo:
1
2
3
4
<?php
session_start();
 
echo $_SESSION["miVar"];

Y llamas primero al archivo1.php y luego al archivo2.php te funcionara!!!


Hay que tener en cuenta, que encima del session_start() no haya nada de código html ni php que envié nada al navegador.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 12
Ha disminuido su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

Problema array multidimension en SESSION

Publicado por Facundo (4 intervenciones) el 27/02/2020 13:03:53
Muuchas gracias por el comentario XVE!

sabes que me funciona bien si uso variables que no sean array, es decir, si pongo solo "casa" en la variable session, si se abre bien el los demas archivos, pero cuando intento abrir un array, solo me lee el primer registro.

y no puedo ahora pegar todo el codigo porque los arxivos son algo grandes. Pero sí, ya no hay nada de código antes de session_start() pero continuo con el problema.

No se seguro si mi error es al crear a variable session, o es al intentar pintarla en el otro archivo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.037
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Problema array multidimension en SESSION

Publicado por xve (6930 intervenciones) el 27/02/2020 13:27:02
He hecho la prueba con un array y me ha funcionado igual de bien... prueba estos dos archivos solo con lo que yo te pongo:

archivo1.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
session_start();
 
$_SESSION["miVar"]=[
    [
        "idruta" => 153,
        "torigsalida" => "02:25",
        "ttrajecte" => "00:00",
        "parada" => "T"
    ],
    [
        "idruta" => 86,
        "torigsalida" => "01:02",
        "ttrajecte" => "05:00",
        "parada" => "P"
    ],
    [
        "idruta" => 97,
        "torigsalida" => "01:02",
        "ttrajecte" => "05:00",
        "parada" => "P"
    ]
];

archivo2.php
1
2
3
4
<?php
session_start();
 
print_r($_SESSION["miVar"]);

Veras que devuelve:
1
Array ( [0] => Array ( [idruta] => 153 [torigsalida] => 02:25 [ttrajecte] => 00:00 [parada] => T ) [1] => Array ( [idruta] => 86 [torigsalida] => 01:02 [ttrajecte] => 05:00 [parada] => P ) [2] => Array ( [idruta] => 97 [torigsalida] => 01:02 [ttrajecte] => 05:00 [parada] => P ) )
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio
Val: 2.823
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Problema array multidimension en SESSION

Publicado por Julio (798 intervenciones) el 27/02/2020 12:29:02
Hola.

Parece correcto, de hecho haciendo un test y recorriendo ese array, sale correcto. ¿Has mirado que cuando ejecutas el otro array está bien actualizada la variable $_SESSION?

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 12
Ha disminuido su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

Problema array multidimension en SESSION

Publicado por Facundo (4 intervenciones) el 27/02/2020 13:17:20
Gracias por comentar Julio.

pues diria que si, llevo ya al menos 6 horas intentando todo con este problemilla y he probado todo lo que se me ocurre. También actualizar todo el tiempo. Igual los archivos donde intento pintar el array se abren despues de el archivo que genera la variable SESSION.

Saludos,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 12
Ha disminuido su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

Problema array multidimension en SESSION

Publicado por Facundo (4 intervenciones) el 27/02/2020 12:44:54
(Perdón, reenvio con sonsulta mejor presentada)

Hola todos,

estoy por primera vez tratando de trabajar con sesiones y estoy muy encallado en un punto. Por favor busco almas expertas caritativas que me puedan ayudar.

Al final de un archivo que genera varios arrays multidimension que quiero utilizar en otros archivos abro sesion y guardo uno de esos arrays:

1
2
3
4
5
session_start();
ob_start();
$_SESSION['rutas1']=$prova;
 
print_r($_SESSION['rutas1']);

cuando en ese mismo archivo pinto el resulado, con print_r y con un doble foreach sobre $_SESSION['rutas1'] se ve esto:

print_r----------------

Array (
[0] => Array (
[idruta] => 153
[torigsalida] => 02:25
[ttrajecte] => 00:00
[parada] => T )
[1] => Array (
[idruta] => 86
[torigsalida] => 01:02
[ttrajecte] => 05:00
[parada] => P )
[2] => Array (
[idruta] => 97
[torigsalida] => 01:02
[ttrajecte] => 05:00
[parada] => P )
)

foreach ---------------

153 / 02:25 / 00:00 / T /
86 / 01:02 / 05:00 / P /
97 / 01:02 / 05:00 / P /

en el otro archivo php donde quiero usar ese mismo array, hago algo parecido. Abro sesion y intento pintar la misma variable.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
session_start();
ob_start();
 
echo "<br><br>rutas1 con print_r <br>";
 
print_r($_SESSION['rutas1']);
 
echo "<br><br>rutas1 con foreach <br>";
 
foreach ($_SESSION['rutas1'] as $v1) { //recorre la matriz rutas
 
foreach ($v1 as $v2) {
 
echo "$v2\n" . " / ";
}
echo " <br>";
}

pero solo pinta el primer registro... se ve lo siguiente:

rutas1 con print_r

Array (
[0] => Array (
[idruta] => 153
[torigsalida] => 02:25
[ttrajecte] => 00:00
[parada] => T )
[1] =>
[2] =>
)

rutas1 con foreach

153 / 02:25 / 00:00 / T /

Que es lo que estoy haciendo mal??

Gracias por adelantado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio
Val: 2.823
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Problema array multidimension en SESSION

Publicado por Julio (798 intervenciones) el 27/02/2020 12:48:04
Hola.

¿Has leído lo que te hemos puesto arriba?

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar