Debug a full... Alguno de estos tiene que ser el problema
Código PHP:
echo '¿Está definida la variable?' . (isset($_SESSION["ocarrito"]) ? 'Sí' : 'No');
echo '¿Es un objeto?' . (is_object($_SESSION["ocarrito"]) ? 'Sí' : 'No');
if (phpversion() >= 5)
echo '¿Es un objeto "carrito"?' . ($_SESSION["ocarrito"] instanceof carrito ? 'Sí' : 'No');
else
echo '¿Es un objeto "carrito"?' . (is_a($_SESSION["ocarrito"],'carrito') ? 'Sí' : 'No');
if (phpversion() >= 5)
echo '¿Existe el método?' . (method_ exists("carrito",'email') ? 'Sí' : 'No');
else
echo '¿Existe el método?' . (method_ exists($_SESSION["ocarrito"],'email') ? 'Sí' : 'No');