Since 1994
Application Systems Design and Development Services
Ready-made Fully Customizable Solutions

Solutions: Ecommerce : Shopping Cart: Install & Use


Description - Installation & Use - FAQs

Shopping Cart - Installation and Use

FILENAME: SC-ReadMe.html

DEPENDENCIES: - Ecommerce configuration and common logic modules (see: ec.html) - JHZ-CS configuration and common logic modules (see: jhzcs.html)
IID (Item Information Dataset)
dbmparms.txt (SQL RDBMS IID mapping component) (SQL RDBMS IID mapping component) (email domain exclude list component)
unacc_edomains.txt (email domain exclude list component)


Logic Modules - common configuration and logic module
add.cgi - add item to cart
cart.cgi - display cart CGI - display cart logic module
chg.cgi - change cart item quantity (and remove item qty=0)
ckouta.cgi - check out process step 1
ckoutb.cgi - check out process step 2 - check out process step 2 (logic module)
ckoutc.cgi - check out process step 3
del.cgi - delete cart
order.cgi - offline ordering (FAX, CHECK, PHONE & P.O. orders)
cadmin.cgi - back-end cart administration

Static Pages

closed.html - shopping closed page
ns.html - browser not supported page

Page Templates

nocart.htm - empty cart
cart.htm - shopping cart page
ckout.htm - online check out page 1 (enter check out area)
entry.htm - online check out page 2 (customer info entry)
confirm.htm - online check out page 3 (confirm order)
success.htm - online check out page 4 (completed)
fax.htm - FAX order form
check.htm - check order form
po.htm - P.O. (purchase order) order form

E-mail Templates

aemail.txt - back-end administrative sales notification
cemail.txt - front-end customer sales confirmation


Support for Item Search and Banner Rotator System requires those components to be installed and configured according to their specifications. Inclusion of Special Template markup supporting those components must also be included within templates to be supported by this product.


.jhz-cs/.perl/solutions/dbmtabs/dbmparms.txt TEXT 1501 750
.jhz-cs/.perl/solutions/dbmtabs/ TEXT 2029 750
.jhz-cs/.perl/solutions/ec/ TEXT 1272 750
.jhz-cs/.perl/solutions/ec/sc/ TEXT 3132 750
.jhz-cs/.perl/solutions/ec/sc/ TEXT 2926 750
.jhz-cs/.perl/solutions/ec/sc/ TEXT 1106 750
.jhz-cs/.perl/solutions/ec/sc/ TEXT 3403 750
.jhz-cs/.perl/solutions/ec/sc/ TEXT 7407 750
.jhz-cs/.perl/solutions/ec/sc/ TEXT 1946 750
.jhz-cs/.perl/solutions/ec/sc/ TEXT 26476 750
.jhz-cs/.perl/solutions/ec/sc/ TEXT 1870 750
.jhz-cs/.perl/solutions/ec/sc/ TEXT 7224 750
.jhz-cs/.perl/solutions/ec/sc/ TEXT 26698 750
.jhz-cs/.perl/solutions/ec/ TEXT 38192 750
.jhz-cs/.perl/solutions/ec/unacc_edomains.txt TEXT 14534 750
.jhz-cs/.perl/solutions/ TEXT 11609 750
.jhz-cs/.perl/solutions/ TEXT 34046 750
.jhz-cs/data/solutions/carts/carts.idx TEXT 0 770
.jhz-cs/data/solutions/cust/cust.idx TEXT 0 770
.jhz-cs/data/solutions/orders/orders.idx TEXT 31 770
.jhz-cs/data/solutions/ssl/bas/fe/ba_secure.dat TEXT 0 700
.jhz-cs/logs/solutions/errorlog.txt TEXT 91 750
.jhz-cs/tmpls/solutions/ec/sc/aemail.txt TEXT 1379 750
.jhz-cs/tmpls/solutions/ec/sc/cart.htm TEXT 3621 750
.jhz-cs/tmpls/solutions/ec/sc/cemail.txt TEXT 1337 750
.jhz-cs/tmpls/solutions/ec/sc/check.htm TEXT 6633 750
.jhz-cs/tmpls/solutions/ec/sc/ckout.htm TEXT 1077 750
.jhz-cs/tmpls/solutions/ec/sc/confirm.htm TEXT 13162 750
.jhz-cs/tmpls/solutions/ec/sc/entry.htm TEXT 43861 750
.jhz-cs/tmpls/solutions/ec/sc/fax.htm TEXT 6960 750
.jhz-cs/tmpls/solutions/ec/sc/nocart.htm TEXT 782 750
.jhz-cs/tmpls/solutions/ec/sc/ns.html TEXT 493 750
.jhz-cs/tmpls/solutions/ec/sc/po.htm TEXT 10330 750
.jhz-cs/tmpls/solutions/ec/sc/success.htm TEXT 1080 750
public_html/Templates/solutions/dbmtabs/dbmtabs.incl TEXT 1966 700
public_html/Templates/solutions/ec/sc/sc.incl TEXT 25889 700
public_html/Templates/solutions/license.incl TEXT 7904 700
public_html/cgi-bin/solutions/ec/sc/add.cgi TEXT 1001 750
public_html/cgi-bin/solutions/ec/sc/cadmin.cgi TEXT 1033 750
public_html/cgi-bin/solutions/ec/sc/cart.cgi TEXT 802 750
public_html/cgi-bin/solutions/ec/sc/chg.cgi TEXT 1027 750
public_html/cgi-bin/solutions/ec/sc/ckouta.cgi TEXT 1777 750
public_html/cgi-bin/solutions/ec/sc/ckoutb.cgi TEXT 1594 750
public_html/cgi-bin/solutions/ec/sc/ckoutc.cgi TEXT 1643 750
public_html/cgi-bin/solutions/ec/sc/del.cgi TEXT 1084 750
public_html/cgi-bin/solutions/ec/sc/order.cgi TEXT 1190 750
public_html/css/solutions/ec/sc.css TEXT 1065 750
public_html/images/solutions/JHZCS.gif BINARY 745 750
public_html/solutions/ec/sc/closed.html TEXT 587 750
*AUTH - Authorization/permissions octal equilvalents where:
7=RWX, 6=RW, 5=RX, 4=R (R=Read W=Write X=Executable)
1 char indicates Octal number
2 char Owner
3 char Group
4 char All Others


It is recommended that you read the entire installation process steps prior to performing installation. Each solution has specific instructions.

Installation Sequence

  1. Download solution to desktop
  2. Expand installation package (use any standard archive application; such as WinZip®, StuffIt Expander® or TAR command)
  3. Set configuration settings
  4. Upload components to server
  5. Set file permissions
  6. Test installation
  7. Customize Templates as desired
  8. Test customizations

Authorize non-Logic Components

  • Authorize graphic files for Read and Execute access; see "NOTE FOR NON-LOGIC COMPONENTS" below.
  • Authorize static HTML ".html" files for Read access; see "NOTE FOR NON-LOGIC COMPONENTS" below.
  • Authorize HTML Templates ".htm" files for Read access; see "NOTE FOR LOGIC COMPONENTS" below.

NOTE FOR NON-LOGIC COMPONENTS: Specify minimum required access permissions to achieve a more secure configuration; permission requirements for non-logic modules are dependent on server configuration where authorizations are required for either "group" only or for "owner", "group" and "other".

Modify Logic Components

Modify all logic components "*.cgi" and "*.pl" logic modules as follows:

  • First line of code (#!) correctly points to the PERL executable binary on the server (use command "which perl" or consult your server administrator)
  • All PERL "requires" statements contained in "*.cgi" and "*.pl" logic modules must use "absolute" directory paths (beginning with a forward slash "/")

Authorize Logic Components

Authorize logic components and dependent components (HTML and Email templates, and others) as follows:

  • Authorize "*.pl" logic modules for read access; see NOTE FOR LOGIC COMPONENTS below.
  • Authorize "*.cgi" logic modules for read and execute access; see NOTE FOR LOGIC COMPONENTS below.
  • Authorize all HTML and Email Templates documents for read access at the logic level; see NOTE FOR LOGIC COMPONENTS below.

NOTE FOR LOGIC COMPONENTS: Use minimum required permissions to achieve a more secure configuration; permission requirements for logic modules are dependent on the server configuration whether authorization is required for "owner" only (i.e., Apache with SUExec active), or "owner" and "group."

Set Configuration in; see embedded instructions for:

  • Use Database (for SQL RDBMS IID)
  • "Check Out" Error Messages (modify as desired)

For SSL check out, first install all components outside the SSL server space and verify installation. Following successful verification of installation:

  1. Install copies of "", "", "ckoutb.cgi" and "ckoutc.cgi" to the SSL server space's CGI directory, then authorize them as executable
  2. Verify the copied version of "" configuration variables point to the directory file paths in the SSL area
  3. Install a copies of template directories to the SSL server space
  4. If the SSL server space is resident on the same server, data may remain in the non-SSL server space. If the SSL server space is resident on a different server, data will not be accessible and a copy of the IID must also be installed and maintained in on the SSL server.

NOTE: Most FTP applications support automatic creation of directories and subdirectories when uploading a directory. Use this method to speed up the installation process. USE CAUTION - assure that common (shared) modules are fully configured prior to using this method to avoid overwriting a previously configured module with non-configured settings.


Customize templates for content and appearance as desired:

cart.htm - online shopping cart
ckout.htm - online checkout step 1 (enter check out area)
entry.htm - online checkout step 2 (customer info entry)
confirm.htm - online checkout step 3 (confirm info)
success.htm - online checkout step 4 (completed)
cemail.txt - customer email
aemail.txt - administrative email
check.htm - payment by check orders
fax.htm - order by fax orders
po.htm - payment by P.O. (Purchase Order) orders

Any variable contained in the IID may be referenced using the variables (column header names) wrapped in less than greater than pairs:


Variable names cannot contain spaces.

Special Mark-up Directives within Shopping Cart Templates indicate repeating cart items.

	<!-- REPEAT START -->

	<!-- REPEAT END -->

Two special keywords are available for use when using a variable reference within web page anchor names, anchor references and CGI URL parameters. This allows use of referenced variables that equate to an item values containing spaces. The use of these special keywords causes spaces to be translated or escaped using the required character sequences.

The special keywords are:





<a href="#<<category%20ANCHOR>>"> 

<a name="<<category%20ANCHOR>>">

Uploading to Web Server

All dependent and required components must be successfully installed and configured. All components, with the exception of images, must be FTP uploaded as TEXT. Images must be FTP uploaded as BINARY.


Test installation and configuration by invoking the various Shopping Cart functions from a web browser.

  • view empty cart
  • add item (BUY)
  • delete cart
  • change quantity > 0
  • delete item (quantity = 0)
  • check out (online credit card)
    1. enter check out area
    2. customer info entry w/errors
      use: MC 3434 3434 3434 3434 (for testing)
    3. customer confirmation
    4. completion
    5. view customer and admin e-mails
  • FAX order
  • Check order
  • P.O. order


Following successful installation and test, customize static pages (*.html), page templates (*.htm) and e-mail templates (*.txt) as desired.

JHZ-CS page generator solutions that display product item lists and detail pages dynamically generate "BUY" (add item to order) links with the appropriate parameters defined to the IID (Item Information Dataset). Static pages may be enhanced to include "BUY" (add item to order) links.

Add "Shopping Cart" (view shopping cart) and "Check Out" links to static pages and templates as desired.


Shopping Carts - a customer specific shopping cart file is created in the "carts" directory when the first item is added to an order. A cookie is set identifying the customer with a unique ID and is maintained in the carts index.

Online Credit Card Orders - a customer specific order file is created in the "orders" directory when the order is completed. The customer is sent an email containing the order information. An administrative notification email is sent announcing the order. FTP download the order file for fulfillment processing.

Other Order Types - customers complete the online forms, then print and either mail, telephone or fax their order according to instructions you have specified (contained within the check out type specific page templates).

Customer History - a customer specific history file is created in the "cust" directory when an order is completed. A cookie is set identifying the customer. This information is used to prime the customer information page with their last entered values the next time they check out.

JHZ-CS Solutions are offered exclusively under the terms and conditions of the JHZ-CS Software License Agreement.