mira para esto primero necesitas que tener un registro de usuarios en tu pagina. existen varias formas, la primera es ke vos primero empezas a comprar y al final te logueas, y la segunda es logueandose desde el inicio.
Sea como sea, tu creas una base de datos con una tabla temporal donde guardas el id del articulo comprado, la cantidad, el id de la session que se esta manejando, y ya. por lo tanto cada vez que el usuario escoge algun producto y su respectiva cantidad esta se almacena en la DB, pero al mismo tiempo debes refrescar el carro virtual, en caso tal de ke hagas una modificacion directa sobre el carro, la consulta ahora seria un Update, pero si la cantida modificada cambia a cero la operacion seria un Delete