Building a shopping cart is an excellent way to learn about PHP programming. One of the best.
And I'm sorry to be the one to tell you this but it's a good project because it will help you learn to avoid security mistakes like the one you're making right now.
When you build that form and send it across the Internet to be displayed on the user's screen, you are putting it in their hands. They can do anything they want with it. You hope that they are going to simply VIEW it in something like Internet Explorer, Firefox, Opera, or Safari but you don't know that they will. (True, the average person will.) But a thief isn't going to use a web browser. They're going to use a text editor like Notepad, Dreamweaver, or some other such tool. And they can change anything they want in your form. And then open it in a web browser and post it back to you and your server won't know the difference.
So they could change that 10 to -10 if they wanted. Now you'd owe him money.
And let's forget about the security hole for a second...
How could you possibly know which color football he wants? If the only thing that comes through is "10", you'll have no way of knowing whether he wants the green or the red football.
So here's the right way to do it. This solves both problems by the way.
echo "<option value=\"".$row['product_option_code']."\">".$row['product_option_name']."</option>";
So every product option gets a code. Blue is "7". Green is "11". Whatever you want. Instead of passing the price, you pass the color code.
Now if the thief wants to get clever and change the number from a "5" to a "3", the only thing he's accomplished is to change the color of his football!
And since your server will know that he wants football color #7, your script can look that up in the database to find out what color #7 is and display that color on the invoice.
And lastly, since your server will know that he wants football color #7, your script can look that up in the database to find out how much this color adds to the cost of the football.
You can never never never trust data that comes from the client side. For example, if you set a cookie with their userid, the cookie exists on the user's side. When the user visits your page again and the cookie gets passed in, you can't trust it.
Imagine a real life example: You walk into a bank and open an account. They banker says to you, "Your PHP-Bank Secret Account Number is 1111111". So you come in the next day and say, "I'd like to withdraw $100". So the banker asks you your PHP-Bank Secret Account Number and you say, "2222222". So the banker hands you $100 and deducts that amount from account 22222222. The banker thinks he's secure because nobody has ever heard of a "PHP-Bank Secret Account Number" before and he assumes that nobody will figure out that they can lie when they are asked for their number. That's not real security.