Foros del Web » Programando para Internet » PHP »

Problema al guardar vector en sesiones( solo guarda la ultima posicion)

Estas en el tema de Problema al guardar vector en sesiones( solo guarda la ultima posicion) en el foro de PHP en Foros del Web. Buenas, despues de pasarme las ultimas 3 horas mirando, haciendo pruebas, poniendo "echo's" por todas partes y ver que esto sigue igual y no veo ...
  #1 (permalink)  
Antiguo 25/08/2009, 21:05
 
Fecha de Ingreso: agosto-2009
Mensajes: 5
Antigüedad: 14 años, 8 meses
Puntos: 0
Problema al guardar vector en sesiones( solo guarda la ultima posicion)

Buenas,
despues de pasarme las ultimas 3 horas mirando, haciendo pruebas, poniendo "echo's" por todas partes y ver que esto sigue igual y no veo ninguna explicacion aparente, espero que me podais ayudar.

Código PHP:
$n=$_GET['n'];
 foreach (
$_POST['cantidad'] as $indice=>$valor) {
         
$cantidad[$indice] = $valor;
    }
    foreach (
$_POST['id'] as $indice=>$valor) {
         
$id[$indice] = $valor;
    }

$i=0;
while(
$i<$n)
{


if(isset(
$_SESSION['sesion']))
{
$carro=$_SESSION['sesion'];
}



$carro[md5($id[$i])][cantidad]=$cantidad[$i];

$i++;
}
$_SESSION['sesion']=$carro;

header("Location:index.php"); 
Vale ese es el codigo, donde falla? aqui:

Código PHP:
$carro[md5($id[$i])][cantidad]=$cantidad[$i]; 
Con este codigo solo quiero pasarle una id y una cantidad y que me añada en la sesion en el id correspondiente la cantidad nueva.

El problema es el siguiente, cuando le mando un parametro con su id y cantidad, va perfecto, lo actualiza por el que yo le digo. El problema viene cuando tengo 2 parametros en un vector con un array de cantidad e id, que solo actualiza el ultimo parametro y no el primero. Lo mismo pasa si le añado un tercero, solo actualiza el ultimo no los dos primeros. Por cierto $n va perfecto en los echo's se ve como le digo cuantos parametros hay y salen perfectamente ahi no hay problema.

E puesto varios "echo's" delante y detras de esa linea que parece que con los primeros parametros no guarda la cantidad. Y efectivamente los echo's muestran las cantidades con los id's correspondientes antes y despues, por lo que en el vector $id[$i] y $cantidad[$i] esta perfecto y no hay errores. entonces que narices le pasa a esa linea que e expuesto antes que hace que solo me guarde el ultimo parametro de la cantidad y no los primeros, Porque los primeros los dejja tal cual estaban ni si kiera los borra.

Espero que alguien lo haya podido entender, y que vea alguna solucion porque ya estoy en uno de esos momentos que dices, apaga vamonos y mañana seguimos haber, lo malo que eso ya lo dije ayer. jeje

merci

Última edición por soubo; 25/08/2009 a las 21:11
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:24.