you have the code for the add to cart button inside a recordset loop, this is causing the code to be executed multiple times and multiple items added to the cart.The code for the add to cart button should be in the head of the page, not within the body inside a recordset loop.