PHP - variables y sesiones

 
Vista:

variables y sesiones

Publicado por juanperez (1 intervención) el 03/03/2007 01:03:18
Lo de siempre: nuevo en PHP (15 días)
Estoy haciendo un sitio donde el cliente marca productos en varias paginas y al final aparece una con la lista de pedidos para ser enviada por mail.

Estoy trabajando con sesiones, y subo la información con POST.

codigo:

<?php
session_start();
session_register('carrinho');
$item=$_POST['item'];
$name=$_POST['name'];
$cantidad=$_POST['cantidad'];
$carrinho=$_SESSION['carrinho'];

if ($item){
if (!isset($carrinho)){
$carrinho[$item]=$cantidad;
}else{
foreach($carrinho as $k => $v){
if ($item==$k){
$carrinho[$k]+=$cantidad;
$encontrado=1;
}
}
if (!$encontrado) $carrinho[$item]=$cantidad;
}
}
$_SESSION['carrinho']=$carrinho;
?>

Pero....

al llegar a la pagina final como hago para que me imprima la lista?

He probado con

if (isset($carrinho)){
foreach($carrinho as $k => $v){
echo "# $k Prod.: Quant.: $v n";
}
}

pero solo logro que aparezcan dos valores, el codigo del producto y la cantidad elegida, pero no el nombre.

Agradesco me expliquen, aunque supongo sea algo sencillo, lo ignoro y ya estoy cansado de 'probar' sin resultados.
Gracias
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
sin imagen de perfil
Val: 1.071
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

RE:variables y sesiones

Publicado por Yamil Bracho (888 intervenciones) el 05/03/2007 12:51:37
No le asignas el valor del nombre en el codigo cuando guardas el objeto en la sesion

if ($item){
if (!isset($carrinho)){
$carrinho[$item]=$cantidad;
$carrinho[$name]=$name; //<---
}else{
foreach($carrinho as $k => $v){
if ($item==$k){
$carrinho[$k]+=$cantidad;
$encontrado=1;
}
}
if (!$encontrado) $carrinho[$item]=$cantidad;
}
}
$_SESSION['carrinho']=$carrinho;
?>
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