Read this entire document for the description, usage, features, and installation instructions for use of these programs. The source code is available here, but be warned that development is in progress. Please indicate unoffical and official versions (i.e., versions not released by me and versions released by me) by prefixing a `U' or an 'O' before the version number. I'd appreciate it if you could notify me of any modifications you may make so I can incorporate them into the official version. You, the user, are responsible for everything the program does.
These two programs (referred to as shopper and order) will let users (customers) shop in an interactive manner on your www site. The program uses the notion of cookies to accomplish this goal, so it needs to be used with a browser (Netscape Navigator, Internet Explorer) and server combination that understand cookies. You yourself don't really need to understand much about cookies to use this program.
You can test this demo by clicking on one of the two pages above which are almost identical except for the items listed on the page. The purpose of this is to show how this program works across pages with different options. Here's a brief description of things you can do:
All this is done in relation to my band's products. Please DO NOT submit your order (you can test it) unless you're interested in ordering.
The general purpose shopping cart and ordering programs support
the following commands and features. For the purposes of this
example, the CGI scripts are assumed to be named shopper
,
order
, and form_cookie
. Literal characters
(i.e., characters you should type in as is) are indicated in a
fixed-width font
. Variable characters are in
italics. See the source code of the demo pages for real
uses of program.
shopper?list
shopper?
item_name+
quantity+
relative_url
shopper?clear
+
relative_url
shopper?catalog
shopper
in GET mode
shopper?list
shopper
in POST mode
The order program interfaces with the results of shopper program. You can also use it directly if you wish, as shown here.
The form_cookie program is a way to add multiple items to the order cookie at the same time. This has two advantages: for long lists, the POST function is used, and you can order multiple items at once. See the second demo page for an example of its use.
The item list file that specifies the items and their prices (and an optional description) has the following format:
product_name low_quantity high_quantity price_per_item shipping_price_per_item | description_of_item
For example,
tatp_tshirt 1 1 10.00 3.00 | Traversing a Twisted Path T-shirt tatp_tshirt 2 10000 10.00 3.00 | Traversing a Twisted Path T-shirts
The first line has the item tatp_tshirt
, the quantity
range for this description is 1 through 1, with a price $10.00 per
item, with a shipping charge of $3.00 per item (this can be disabled
by using a 0.00). The description of the item (in plain English) is
indicated by a '|' followed by a text string. If this isn't present,
the item name will be used as the description. Comments can be
inserted using lines whose first character is a '#'. Here is the item list file I've used in this
demo.
There are no bugs. Here is a list of caveats and features you should be aware (beware?) of.
shopper?catalog
to list the entire items file
in check out mode.
To install the program, you need a C compiler. Edit the defines in cgi_defines.h and sc_defines.h (explained in detail there) and the Makefile appropriately, and type in `make' at the prompt; it should install without a fuss (at least on an Unix system). The programs generally are referred to as shopper and order, but in this demo, they're called thshopper and thorder, to distinguish them from other shopping and ordering programs. This is configurable in the Makefile.