Hola, y bienvenido a los foros.
Me parece que no tienes claro cuál es la estructura de tu arreglo. Cuando llenas el carro haces algo como:
Código PHP:
$carrinho[$k] += $cantidad;
Entonces no estás dando cabida al nombre del producto, sólo estás manejando una asociación
código => cantidad
Si quieres indizar el carrito con el código del producto, entonces cada elemento del arreglo debe ser a su vez un arreglo, por ejemplo:
Código PHP:
$carrito[84] = array('pera', 5);
Así, el carrito tendría (estamos ejemplificando) un elemento correspondiente al producto de código 84 que corresponde a una pera y te están pidiendo 5.
Puedes acceder a los elementos del carrito así:
Código PHP:
<?
foreach ($carrito as $codigo => $item)
{
/*
$codigo es código del producto
$item[0] es el nombre del producto
$item[1] es la cantidad
*/
}
?>
O bien puedes usar índices más significativos:
Código PHP:
$carrito[84] = array('nombre' => 'pera', 'cantidad' => 5);
y en el ciclo usarías $item['nombre'] e $item['cantidad'] en lugar de $item[0] e $item[1].
Otra cosa: olvídate de session_register, éso ya está en desuso. Simplemente usa session_start para iniciar la sesión y $_SESSION para leer y escribir tus variables de sesión.
// Saludos