Hola a todos, soy nuevo en este foro y quería consultarles un tema que me está dando dolor de cabeza.
Estoy haciendo un pequeño carro de compra con sessiones, sin logearse ni pass, solo utilizo las sesiopnes para pasar los valores de los artículos de un lugar a otro, bueno todo me estaba funcionando bien cuando utilizaba las sesiones así:
$_SESSION['id'] = "aqui va un numero que va aumentando de 1 en 1";
$_SESSION['nombre'][$_SESSION['id']] = 'juan';
$_SESSION['cantidad'][$_SESSION['id']] = '200';
$_SESSION['regalo'][$_SESSION['id']] = '1';
Cuando leía la variable me daba como resultado juan, y si en ese momento actualizaba la página me seguia dando juan, 200, 1, hasta ahi todo bien, pero me di cuenta que lo estaba haciendo al revés puesto que en la variable nombre iba a tener todos los nombres y lo logico es que tenga en una variable todos los datos de una sola persona, entonces lo así:
$_SESSION['id'] = "aqui va un numero que va aumentando de 1 en 1";
$_SESSION[$_SESSION['id']]['nombre'] = 'juan';
$_SESSION[$_SESSION['id']]['cantidad'] = '200';
$_SESSION[$_SESSION['id']]['regalo'] = '1';
Ahora si tengo todo agrupado en un solo array, pero aqui viene el problema, que cuando quiero crear mi tabla con los resultados me dice:
Notice: Undefined offset: 0
He revisado todo el código de arriba a abajo y no encuentro nada mal, pero lo que si me ha sacado de mi lógica es que, cuando agrego los valores al array y en ese momento lo leo con variables dentro me funciona, pero si coloco un número dentro no, aqui agrego valores:
$_SESSION[$_SESSION['id_art']] = array(
'embolsado' => $embol,
'item' => $_SESSION['id_art']+1,
'cantidad' => $_POST['cantidad'],
'nombre' => $_POST['articulo'],
'precio' => $_POST['precio']
);
ahora los leo:
echo $_SESSION['id_art'];
echo $_SESSION[$_SESSION['id_art']]['embolsado'];
echo $_SESSION[$_SESSION['id_art']]['item'];
echo $_SESSION[$_SESSION['id_art']]['cantidad'];
echo $_SESSION[$_SESSION['id_art']]['nombre'];
echo $_SESSION[$_SESSION['id_art']]['precio'];
y todo me funciona, pero si hago esto:
echo $_SESSION[0]['embolsado'];
echo $_SESSION[0]['item'];
echo $_SESSION[0]['cantidad'];
echo $_SESSION[0]['nombre'];
echo $_SESSION[0]['precio'];
me da el mismo error: Notice: Undefined offset: 0
y cuando voy al archivo mi_carrito , que es donde creo mi tabla, me dice lo mismo:
for($i=0; $i < $_SESSION['id_art']; $i++){
echo "<tr>";
echo "<td>";
echo $_SESSION[$i]['item'];
echo "</td>";
echo "<td>";
echo $_SESSION[$i]['nombre'];
echo "</td>";
echo "<td>";
if($_SESSION[$i]['embolsado'] == 1)
$resp = "SI";
else
$resp = "NO";
echo $resp;
echo "</td>";
echo "<td>";
echo $_SESSION[$i]['cantidad'];
echo "</td>";
echo "<td>";
echo $_SESSION[$i]['precio'];
echo "</td>";
echo "<td>";
echo '<a href="eliminar.php?id=' .$i. '">Eliminar</a>';
echo "</td>";
echo "</tr>";
}
en todas las líneas donde estan las variables de session me da el mismo error, ¿porque??????, me estoy volviendo loco jejejeje, a ver si alguien me puede ayudar por favor, saludos