Why does CartIt use cookies? I hear that cookies are bad.
Cookies are used because no other method existed for tracking shoppers when the cart was first written (Go to 1996- before PHP 2.0!). Cookies are still a valid way to track visitors and are still prolific. Some paranoid (or mis-informed) people set their browsers to block all cookies.
The methods today for tracking shoppers are Session Variables, Internet Protocol Address (IP address) or other Environment Variables, Script-to-Script and Cookies.
IP Address (or other Environment Variables):
An IP address is the number for your computer that you are assigned when you connect to the Internet. These IP addresses are not truly unique and many people can have the same IP address. Thus, if a shopping cart uses IP addresses, the shoppers' accounts and shopping carts can get mixed up.
In other words, a visitor may shop the site and check out. When he clicks the Process Order button, he may find another shopper's items on the cart. While this is unlikely, it is a major design flaw.
Conclusion:
This method should NEVER used. It is obsolete. We know of no shopping cart that still uses this method.
Script-to-Script:
Script-to-Script shopping carts were very common before the onset of cookies. In fact, Script-to-Script carts were required before cookies. However, these types of carts are now all but obsolete because of the serious load they create on the server. Many providers will not host Script-to-Script shopping carts for this reason.
The load is caused because every page on a site must be coded to assign, receive and pass a UNIQUE ID and in the process each page must dynamically write itself. This slows down the site dramatically because of all the CGI processes. The implementation of this type of system is also very technical for the average merchant to implement.
The buggiest flaw with Script-to-Script systems is that if the shopper ever leaves the site, even for a moment, their shopping cart is lost. If the shopper is shopping the site and cannot find a link to the home page in an efficient manner, they usually just go to the home page by typing it again. This could also cause a lost shopping cart.
Conclusion:
Script-to-Script systems are very taxing on the server, slow down the site, are technical to implement and difficult to modify. Most importantly, they are annoying to the shopper due to lost carts and a slow shopping site.
COOKIES:
With CartIt, the shopper can shop the site, sign off the computer and come back within 12 hours and their cart should still exist. This is something shoppers expect, as this is what they receive from the top commerce sites. CartIt also assigns each shopper a unique Shopping ID.
CartIt has safety mechanisms built into the software to assure that the shopper can purchase at least one item, even if cookies are turned off.
Finally, Internet shoppers are pretty savvy. Most know they need to have cookies turned on for shopping. If you feel that they will not know this, you can customize CartIt to display a custom "Your Shopping Cart is Empty" page that explains this to them.
Conclusion:
Cookies are not perfect, but they are common accepted practice. Some technologies (such as PERL's CGI::SESSION) now exist and could possibly solve this issue, but it will still take years to fully replace broadly accepted cookie technology.