Si sólo te interesa que los datos del carro permanezcan durante la sesión... pues utiliza sesiones... si quieres que permanezcan en futuras sesiones... pues utiliza cookies... también puedes guardar el carro lleno en la BD... o en un .txt... en fin... define más o menos qué es lo que quiers hacer...
Si vas a utilizar sesiones... pues el funcionamioento básico es que el carro sea una variable de sesión... en este caso $carro será un array... en este array la llave (o clave) será el identificador del producto (id, nombre, etc.) y el valor será la cantidad seleccionada.
Cada vez que se agrega un elemento al carro se ejecutará una línea como la que sigue:
$carro[$id_producto]=$cantidad;
Claro que, como se pasará por la sesión sería más bien:
$_SESSION['carro'][$id_producto]=$cantidad;
Esto supone que en algún lugar tendrás guardadas las otras propiedades del producto (nombre, precio, etc.) puede ser la BD o un txt o un array o lo que quieras...
¿Entendiste algo?
Saludos