I've developed a shopping cart with PHP and MySql which works fine. Once an item is added to the cart it is withdrawn from the database instead of leaving the withdrawing till the checkout stage. This avoids shoppers all choosing an item that may be the last in stock. The only problem is if the shopper that has the item in their cart decides not to buy and leaves the site without removing the item from the cart or the session times out, the item hasn't been purchased but also hasn't been put back in the database. What can i do to get round this?
don't just store items in a session, but also in the database. then use a cron job to routinely check the "cart" table against whether or not the individual is still logged in, and make the appropriate changes.