Esta mal la forma en la que quieres mostrar los items existentes en la sesión...
Hay un cambio en el código:
Código PHP:
Ver original<?php // Manual de PHP de WebEstilo.com
//Session register esta obsoleto a partir de PHP 5.3.x se desaconseja usarlo!!!
//session_register('itemsEnCesta');
//Sacamos $ItemsEnCesta del if para tener acceso a el aunque no se envie el formulario
$itemsEnCesta=$_SESSION['itemsEnCesta'];
if (isset($_POST['item'])){ $item=$_POST['item'];
$cantidad=$_POST['cantidad'];
$precio=$_POST['precio'];
if (empty($itemsEnCesta)){ //Aquí guardamos el item, pero en vez de indicar como valor la cantidad indicamos un array
//con los valores "cantidad" y "precio"
$itemsEnCesta[$item]=array( 'cantidad'=>$cantidad,
'precio'=>$precio
);
}else{
//obtenemos el item
$searchItem = $itemsEnCesta[$item];
//verificamos si existe o no el item en el carrito
if (empty($searchItem)) { //si no existe agregamos el item con la cantidad y su precio
$itemsEnCesta[$item] = array( 'cantidad'=>$cantidad,
'precio'=>$precio
);
}else {
//si existe el item solo aumentamos la cantidad
$itemsEnCesta[$item]['cantidad'] += $cantidad;
}
}
//guardamos los cambios en la sesión
$_SESSION['itemsEnCesta']=$itemsEnCesta;
}
Ahora mostramos los items
Código PHP:
Ver originalforeach($itemsEnCesta as $item => $info) {
echo 'Item: '.$item.' - precio: '. $info['precio'] .' - cantidad: '. $info['cantidad'];
}
Nota: Te sugiero que busques información sobre arrays y leas la documentación