[QUOTE=Helheim;2118733]
  Código PHP:
        //Introduce un producto en el carrito. Recibe los datos del producto
    function introduce_producto($id, $nombre, $precio, $unidades){
        //verificamos si no hay productos registrados..
       if(Carrito_vacio)
            {
            //registramos el producto
 
            }else
                //ahora verificamos si el producto enviado ya existe
                //si es asi para solo aumentar sus unidades
 
                    {
                    //le enviamos el ID y cuantas unidades va a checar si existe
 
                    if(existe_producto)){
                            //aumentamos solo las unidades del producto enviado
                            }
                            else {
                                    //registramos un nuevo item
 
                                    }
                    }
        } 
    
  QUOTE] 
Hola, no soy un experto en PHP pero si te puedo decir que el codigo és poco claro por la funcion existe producto. Esta funcion comprueva si existe y a la vez aumenta las unidades. Para debugar el codigo seria mas facil que hicieras una funcion que te comprovara solo si exisite y dentro del if aumentar las unidades. 
Esto ademas te llevarà a eliminar la comprovacion de si el carrito esta vacio o no pq en realidad no importa, ya que elproducto existe o no existe. 
Te quedara algo asi 
if(prducto_exisite()){
   // aumento las unidades
}else{
   // creo item nuevo
   // aumento num_prod 
Se que no es la solucion pero si lo haces asi seguro que ves el error rapido. 
Un saludo