Usa sesiones para ir almacenando temporalmente tu pedido .. cuando lo tengas todo claro (el pedido completo) ahí te llevas tus datos de la sesión a tu Base de datos generando ahí el pedido real para su resto de gestión.
No sé si conoces "sesiones" de PHP .. pero para ir empezando y que hagas tus prácticas al respecto revisa las FAQ's del foro PHP y la documentación oficial de sesiones:
www.php.net/session
Por cierto, piensa que tu "carrito" cara a "sesiones" será un simple array (arreglo, matriz) ..
Y cara al tema de que tu usuario no vuelva a escribir sus datos .. ahí debes manejar una gestión de usuarios controlada tambien por sesiones ..
Un saludo,