mmm ok, creo que te entiendo y te aseguro que te creo, ahorita me gustaría resolver lo del color porque el cliente ya está pidiendo avances.
Yo lo que veo es que el primer botón sólo toma lo que hay en el form. Este botón lo añadimos aquí:
Código PHP:
<?php
if(isset($_SESSION['carro']) && isset($productos['id'])){ ?>
<input name="" type="image" src="img/add_carro.png" width="50" height="50">
<?php }else{?>
<input name="" type="image" src="img/remove_carro.png" width="50" height="50">
<?php }?>
y el segundo botón (el que muestra todo menos el color) no hace caso a lo que hay en el form porque no se le ha dado ninguna indicación para que haga eso.