Previous | Next Main Index:   Frames | No Frames
Document:   Frames | No Frames
 

Configure WebStore Order Form Setup Files

 
WebStore is packaged with pre-configured sets of order form setup files. One set of files is included for those who do not use real-time processing. One set of files is included for each real-time processor WebStore supports.
Not using real-time processing:

OrderForm.CreditCard.setup           Credit Card
OrderForm.Check.setup                Personal Check - US citizens
OrderForm.FaxMail.setup              Fax or Mail
OrderForm.CreditFaxMail.setup        Credit Card, Fax, and Mail
Demo.OrderForm.CreditFaxMail.setup   Demo: Credit Card, Fax, and Mail


Authorize.Net real-time processing:

OrderForm.AuthorizeNet.CreditCard.setup        Credit Card
OrderForm.AuthorizeNet.Check.setup             Personal Check - US citizens
Demo.OrderForm.AuthorizeNet.CreditCard.setup   Demo Authorize.Net: Credit Card


Surepay real-time processing:

OrderForm.Surepay.CreditCard.setup        Credit Card
OrderForm.Surepay.Check.setup             Personal Check - US citizens
Demo.OrderForm.Surepay.CreditCard.setup   Demo Surepay: Credit Card
Demo.OrderForm.Surepay.Check.setup        Demo Surepay: Personal Check

The WebStore distributions are configured for multiple order forms.
 
Select the setup files for the methods of payment you will be using and configure the form in each file. Include an array in %form_files in outlet.setup for each order form setup file you will be using.
 
 
%OrderForm
Page Header Array
Section Header Arrays
Comment Arrays
Submission Button Arrays
<INPUT TYPE> Arrays
checkbox  password  radio  select  text  textarea
Script Verified Password Fields
Script Generated SELECT Fields
province  state  country  ccYear
Specific Form Field Names - $OrderForm{xx}[0]
ccMonth, exact match, Credit Card Month field
 
chkRouteNum1, exact match, Check Routing Number field
chkRouteNum1 and chkRouteNum2, exact match
chkAccountNum1, exact match, Check Account Number field
chkAccountNum1 and chkAccountNum2, exact match
chkCheckNum, exact match, Check Number field
 
country, exact match, Country field
email, exact match
email, ending in, case insensitive
img, ending in, case insensitive
imgexist, ending in, case insensitive
name, ending in, case insensitive
password1, exact match
password1 and password2, exact match
url, ending in, case insensitive
urlexist, ending in, case insensitive
urlpage, ending in, case insensitive
year, ending in, case insensitive
 
@opt_shipping
@credit_card
$header_colors
 
Order Form Subroutines: Display Additional HTML
 
$pre_form | sub_pre_form_html
$form_trailer | sub_form_trailer_html
 
 
 
Top of Page
 
 
Order Form
 
 
WebStore's order form is generated from %OrderForm, a hash of arrays.
Example:  $OrderForm{1}[2]

 {1}  An array's KEY value. KEY values will be referenced by their
      numeric value in the explanations below (0, 1, 2, etc.).

 [2]  An array's element reference. Element numeric values will
      be spelled in the explanations below (zero, one, two, etc.)

      Specific arrays will be referenced as $OrderForm{1}.

      A specific element within a specific array will be referenced
      as $OrderForm{1}[2].
Numeric array KEYS allow the Webstore script to sort the fields in ascending order for printing to the client's web browser, in the e-mail to the administrator, and the confirmation of order e-mail sent to the client.
 
Arrays 1 through 10 are reserved and can not be used.
 
The field KEYS and field names (element zero) can not be changed for KEYS 11 - 20, 41 - 45, and 51 - 57.
 
If you do not accept credit cards, remove arrays 40H and 41 - 46 in %OrderForm.
 
Each form input field is printed within a table row preceded by a hidden HTML tag in the Document Source containing the field's name from each field's array element one: <!-- Name -->
 
Each form field table row also contains a named anchor consisting of the field array's KEY. For example, <A NAME="11"> </A> references the order form field in $OrderForm{11}.
 
If the length of a form field's descriptive text in element one is longer than 20 characters, the descriptive text is printed in a table row above it's form element. The table row's height is set to 30 and the text is aligned to the bottom <TD HEIGHT=30 VALIGN=bottom>.
 
Valid INPUT types are checkbox, password, radio, select, text, and textarea.
 
 
Index
 
%OrderForm = (

 '0'   => ['center', $global_page_title.' - Order Form',
#'0'   => ['center', 'RDC Software - Order Form',        # Same as above
           'center',
           qq!
            <TABLE BORDER=0 CELLSPACING=3>
            <TR><TH ALIGN=left>${nc_fnt_tag}We can not ship to PO Boxes.</FONT></TH></TR>
            <TR><TD>${nc_fnt_tag}Orders are processed within one business day of receipt.</FONT></TD></TR>
            <TR><TD>${nc_fnt_tag}Fields marked <B>Required</B> must be completed before
            <A HREF="#90H">submitting</A> your order.</FONT></TD></TR>
            </TABLE>
           !,
           '85%',  # Table width:  Page header
           '80%'   # Table width:  Section headers
           '425'], # Table width:  Order form fields (decimal only)


 '10H' => ['center',  'Billing Address'],
 '11'  => ['name',     'Name',            'text',     'SIZE="35" MAXLENGTH="100"', 'R'],
 '12'  => ['company',  'Company',         'text',     'SIZE="35" MAXLENGTH="100"'],
 '13'  => ['addr1',    'Address 1',       'text',     'SIZE="35" MAXLENGTH="100"', 'R'],
 '14'  => ['addr2',    'Address 2',       'text',     'SIZE="35" MAXLENGTH="100"'],
#'15'  => ['addr3',    'Address 3',       'text',     'SIZE="35" MAXLENGTH="100"'],
 '16'  => ['city',     'City',            'text',     'SIZE="35" MAXLENGTH="100"', 'R'],
 '17'  => ['province', 'Province',        'select',   '', 'US citizens only'],
 '18'  => ['state',    'State',           'select',   '', 'US citizens only'],
 '19'  => ['country',  'Country',         'select',   'SELECTED~319', 'R'],
 '20'  => ['zip',      'Zip/Postal Code', 'text',     'SIZE="25" MAXLENGTH="30"',  'R'],
 '21'  => ['phone',    'Phone Number',    'text',     'SIZE="25" MAXLENGTH="30"',  'R'],
 '22'  => ['fax',      'Fax Number',      'text',     'SIZE="25" MAXLENGTH="30"'],
 '23'  => ['email',    'E-mail Address',  'text',     'SIZE="35" MAXLENGTH="100"', 'R',
           '<FONT SIZE=1>Receipt is mailed to this address</FONT>'],
 '22'  => ['joinlist', 'Mailing List',    'checkbox', 'Add me to your mailing list'],
 '22C' => [],


 '40H' => ['center',   'Credit Card Details',
           'center',
           qq!
           <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=10>
           <TR>
           <TD><IMG SRC="$graphics_url/card.AmericanExpress.60x38.gif" alt="American Express" WIDTH=60 HEIGHT=38 BORDER=0></TD>
           <TD><IMG SRC="$graphics_url/card.Discover.60x38.gif"        alt="Discover"         WIDTH=60 HEIGHT=38 BORDER=0></TD>
           <TD><IMG SRC="$graphics_url/card.MasterCard.60x38.gif"      alt="Mastercard"       WIDTH=60 HEIGHT=38 BORDER=0></TD>
           <TD><IMG SRC="$graphics_url/card.Visa.60x38.gif"            alt="Visa"             WIDTH=60 HEIGHT=38 BORDER=0></TD>
           </TR>
           </TABLE>
         !],
 '41'  => ['ccType',   'Type of Card',     'select',
           'American Express:Discover:Mastercard:Visa', 'R'],
 '42'  => ['ccName',   'Name on Card',     'text', 'SIZE="35" MAXLENGTH="100"', 'R'],
 '43'  => ['ccNumber', 'Card Number',      'text', 'SIZE="25" MAXLENGTH="30"',  'R'],
 '44'  => ['ccMonth',  'Expiration Month', 'select',
           'January:February:March:April:May:June:July:August:September:October:November:December', 'R'],
 '45'  => ['ccYear',   'Expiration Year',  'select', '', 'R'],
#'46'  => ['ccPhone',  'Cardholder Phone', 'text',   'SIZE="25" MAXLENGTH="30"', 'R'],


 '50H' => ['center',  'Shipping Address',
           'left',
           '<B>We can not ship to PO Boxes</B>
            <P>Please enter your shipping address if different
               than the address you entered in the <A HREF="#10H">Billing Address</A> section.
            <P>If you enter information in any field between <B>Name</B> and
            <B>Phone</B>, all fields must be completed.
            <P><B>Shipping Instructions</B> field is always optional.'],
 '51'  => ['shpName',     'Name',            'text',   'SIZE="35" MAXLENGTH="100"'],
 '52'  => ['shpAddr1',    'Address 1',       'text',   'SIZE="35" MAXLENGTH="100"'],
 '53'  => ['shpAddr2',    'Address 2',       'text',   'SIZE="35" MAXLENGTH="100"', 'Optional'],
#'54'  => ['shpAddr3',    'Address 3',       'text',   'SIZE="35" MAXLENGTH="100"', 'Optional'],
 '55'  => ['shpCity',     'City',            'text',   'SIZE="35" MAXLENGTH="100"'],
 '56'  => ['shpProvince', 'Province',        'select',   '', 'US citizens only'],
 '57'  => ['shpState',    'State',           'select', '', 'US citizens only'],
 '58'  => ['shpCountry',  'Country',         'select', ''],
 '59'  => ['shpZip',      'Zip/Postal Code', 'text',   'SIZE="25" MAXLENGTH="30"'],
 '60'  => ['shpPhone',    'Phone',           'text',   'SIZE="25" MAXLENGTH="30"'],
 '61'  => ['shpIns', 'Shipping Instructions', 'textarea', 'ROWS="6" COLS="55" WRAP=PHYSICAL',
           'Optional'],


 '90H' => ['center', 'Submit Your Order'],
 '91S' => ['center',
           '<INPUT TYPE="submit" NAME="chkForm" VALUE="Submit Credit Card Order">
            <INPUT TYPE="reset" VALUE="Reset">'
          ],

 '92C' => ['center',
           qq!
           <P><FONT COLOR="#DC143C"><B>Credit Card Details</B></FONT>
              (<A HREF="#40H">above</A>) <FONT COLOR="#DC143C"><B>are required</B></FONT>.
           <P>Receipt is sent to the <A HREF="#20">e-mail address</A> you entered
              on the order form.
         !],


 '93H' => ['center', 'Fax or Mail Order'],
 '93S' => ['center',
           '<INPUT TYPE="submit" NAME="faxOrder" VALUE="Send Order to Web Browser for Printing">'
          ],

 '94C' => ['left',
           qq!
           <DL>
           <DT>If you prefer to pay by check, or you do not feel comfortable transmitting
               credit card information over the Internet, you may send your order to your
               web browser for printing.
           <DT>$SPACE
           <DT>After printing, please be certain to fill in credit card information before
               faxing or mailing your order. Phone numbers will be printed at the top of
               your order.
           <DT>$SPACE
           <DT>Orders paid by check must be mailed to the address printed at the top of
               your order.
           <DT>$SPACE
           <DT><B>No e-mail receipt is generated using this submission method</B>.
           </DL>
         !],

); # DO NOT REMOVE - terminates %OrderForm
 
Index
 
Order Form Page Header Array

Elements of $OrderForm{0}:

KEY     zero      one           two       three   four   five   six
'0' => ['center', 'Order Form', 'center', 'Text', '85%', '80%', '425'],
zero    Alignment attribute for text in element one. Valid alignment values are 'left', 'center', and 'right'. Text in element one will be centered if element zero is set to ''.
one    Text printed in a table row at the top of the order form page. HTML code may be used.
WebStore prints form submission error messages below this row. When submission error messages are printed, the contents of element three are not printed to the web browser.
two    Alignment attribute for text in element three. Valid alignment values are 'left', 'center', and 'right'. Text in element three will be centered if element two is set to ''.
three    Text printed in a table row below element one's table row. HTML code may be used.
four    Width attribute for the top of page table containing element one and element three table rows. Width may be a percentage of the browser's window or pixel count. If no value is placed in element four, WebStore sets this table's width to '85%'.
five    Width attribute for section header tables (arrays xxH).
Width may be a percentage of the browser's window or pixel count. If no value is placed in element five, WebStore uses the value present in element four. If no value is placed in element four, WebStore sets the table's width to '85%'.
six    Width attribute for tables containing form elements.
Width must be a 3 digit whole number. If no value is placed in element six or element six is mis-configured, WebStore sets the width to '425' for these tables.
 
If no text is placed in element three, configure as follows:
'0' => ['center', 'Order Form', '', '', '85%', '80%', '425'],
$OrderForm{0} is optional and may be removed from %OrderForm. When $OrderForm{0} is not defined, WebStore sets section header table widths to '85%' and form element table widths to '425'. Text to be printed at the top of the order form may be placed in sub pre_form_html.
 
 
$OrderForm{0} | Index
 
Section Header Arrays  KEYS ending with H (xxH)
{10H} {40H} {50H} {90H} {93H}

Elements of $OrderForm{xxH}:

KEY       zero      one      two     three
'10H' => ['center', 'Text', 'left', 'Text' ],
zero    Alignment attribute for text in element one. Valid alignment values are 'left', 'center', and 'right'. Text in element one will be centered if element zero is set to ''.
one    Text printed in a table row to visually separate sections of the order form. The text in element one is also used in e-mail messages to subdivide form field data into visual sections. HTML code can not be used.
two    Alignment attribute for text in element three. Valid alignment values are 'left', 'center', and 'right'. Text in element three will be centered if element two is set to ''.
three    Text printed in a table row below element one's table row. HTML code may be used.
 
 
When a Section Header array is detected, WebStore closes the current </TABLE> and opens a new <TABLE>.
 
 
No Header Text:   $OrderForm{10H}[1]
 
Elements zero and one are required. If you remove all text from element one, WebStore prints an error message similar to the message above.
 
Printing of order form submission button arrays, {90} - {99x}, are disabled when this error exists.
 
 
$OrderForm{10H} | Index
 
Comment Arrays  KEYS ending with C (xxC)
{22C} {92C} {94C}

Elements of $OrderForm{xxC}:

KEY       zero    one
'22C' => ['left', 'Text'],
zero    Alignment attribute for text in element one. Valid alignment values are 'left', 'center', and 'right'. Text in element one will be centered if element zero is set to ''.
one    Text printed in a table row with COLSPAN=3, the total number of columns in order form tables. HTML code may be used.
 
 
When text placed in a comment row exceeds 55 characters, WebStore sets the row's width attribute to the value of $OrderForm{0}[5] when $OrderForm{0}[5] is a decimal value. When $OrderForm{0}[5] is a percentage value or it is set to '', WebStore sets width to 425.
Using Comment Array as a Space Row:

'22C' => [],
With no elements defined in a Comment Row, WebStore prints a table row with a height of 10:
<TR><TD COLSPAN=3 HEIGHT=10> </TD></TR>
 
$OrderForm{22C} | Index
 
Submission Button Arrays  KEYS ending with S (9xS)

Elements of $OrderForm{91S}:

KEY       zero
'91S' => ['center',
          one
          '<INPUT TYPE="submit" NAME="chkForm" VALUE="Submit Credit Card Order">
           <INPUT TYPE="reset" VALUE="Reset">
          ',
          two       three
          'center', 'Text'],


Elements of $OrderForm{93S}:

KEY       zero
'93S' => ['center',
          one
          '<INPUT TYPE="submit" NAME="faxOrder" VALUE="Send Order to Web Browser for Printing">',
          two       three
          'left', 'Text'],
zero    Alignment attribute for the form buttons in element one. Valid alignment values are 'left', 'center', and 'right'. Form buttons in element one will be centered if element zero is set to ''.
one    Form submit buttons must be placed in this element.
A form submit button named chkForm or faxOrder must exist in element one of an %OrderForm array whose KEY is greater than or equal to 90S or WebStore will not print the contents of any array greater than or equal to 90.
When neither button is detected, WebStore prints an error message at the top of the page, informing you the form submit buttons did not exist in an array greater than or equal to 90S.
two    Alignment attribute for text in element three. Valid alignment values are 'left', 'center', and 'right'. Text in element three will be centered if element two is set to ''.
three    Text printed in a table row below element one's table row. HTML code may be used.
 
 
$OrderForm{91S} | Index
 
 
<INPUT TYPE> Arrays
 
<INPUT TYPE="checkbox">  password radio select text textarea

Elements of $OrderForm{22}:

KEY      zero    one             two        three   four   five
'22' => ['name', 'Field Label', 'checkbox', 'Text', '',    ''],
zero    <INPUT NAME="name">
one    Field label printed in e-mail messages. HTML code can not be used.
two    <INPUT TYPE="checkbox">
three    Descriptive text printed in e-mail messages. HTML code can not be used.
four    Required/Optional Field:  Not used
checkbox inputs are forced OPTIONAL regardless of the value of element four.
five    Text printed in a table row below the form element, in the same column as the form element. HTML code may be used.
 
 
$OrderForm{22} | Index
 
<INPUT TYPE="password">  checkbox radio select text textarea

Example:

KEY      zero    one            two         three                       four   five
'21' => ['name', 'Field Label', 'password', 'SIZE="25" MAXLENGTH="35"', 'R',   ''],
zero    <INPUT NAME="name">
one    Field label printed left of the form element and in e-mail messages. HTML code can not be used.
two    <INPUT TYPE="password">
three    Attributes for the <INPUT TYPE> (size, maxlength, etc.).
four    Required/Optional Field
Set Required Fields to 'R'. Form submission is not accepted until the client completes the field.
Set Optional Fields to ''. Form submission is accepted regardless of the field's content. Syntax checks will be performed on the text present in an optional field when WebStore detects a Specific Form Field Name.
Text may be included in element four of optional fields. When the length of text exceeds 20 characters, the text is placed in a table row beneath the field. HTML code may be used. Optional text is printed in <FONT SIZE=1>.
five    Text printed in a table row below the form element, in the same column as the form element. HTML code may be used.
 
 
Index
 
 
<INPUT TYPE="radio">  checkbox password select text textarea

KEY      zero     one            two      three                     four  five
'73' => ['name', 'Field Label', 'radio', 'Option1:Option2:Option3', 'R',  ''],
zero    <INPUT NAME="name">
one    Field label printed in e-mail messages. HTML code can not be used.
two    <INPUT TYPE="checkbox">
three    Descriptive text printed in e-mail messages. HTML code can not be used.
four    Required/Optional Field:  Not used
checkbox inputs are forced OPTIONAL regardless of the value of element four.
five    Text printed in a table row below the form element, in the same column as the form element. HTML code may be used.
 
If the field is OPTIONAL and you do not place text in element five, elements four and five may be omitted:
'73' => ['name', 'Field Label', 'select', 'Option1:Option2:Option3'],
 
To select an option's value as <OPTION CHECKED>, precede the option with CHECKED~
'73' => ['name', 'Field Label', 'select', 'Option1:CHECKED~Option2:Option3'],
 
 
Index
 
<SELECT NAME="name">  checkbox password radio text textarea

KEY      zero    one            two       three                      four   five
'73' => ['name', 'Field Label', 'select', 'Option1:Option2:Option3', 'R',   ''],
zero    <SELECT NAME="name">
one    Field label printed in e-mail messages. HTML code can not be used.
two    <INPUT TYPE="select">
three    Colon delimited list of options. The descriptive text printed in e-mail messages. HTML code can not be used.
four    Required/Optional Field
Set Required Fields to 'R'. Form submission is not accepted until the client completes the field.
Set Optional Fields to ''. Form submission is accepted regardless of the field's content. Syntax checks will be performed on the text present in an optional field when WebStore detects a Specific Form Field Name.
Text may be included in element four of optional fields. When the length of text exceeds 20 characters, the text is placed in a table row beneath the field. HTML code may be used. Optional text is printed in <FONT SIZE=1>.
five    Text printed in a table row below the form element, in the same column as the form element. HTML code may be used.
 
If the field is OPTIONAL and you do not place text in element five, elements four and five may be omitted:
'73' => ['name', 'Field Label', 'select', 'Option1:Option2:Option3'],
 
To select an option's value as <OPTION SELECTED>, precede the option with SELECTED~
'73' => ['name', 'Field Label', 'select', 'Option1:SELECTED~Option2:Option3'],
 
Index
 
<INPUT TYPE="text">  checkbox password radio select textarea

KEY      zero    one             two     three                       four   five
'21' => ['name', 'Field Label',  'text', 'SIZE="25" MAXLENGTH="35"', 'R',   ''],
zero    <INPUT NAME="name">
one    Field label printed left of the form element and in e-mail messages. HTML code can not be used.
two    <INPUT TYPE="text">
three    Attributes for the <INPUT TYPE> (size, maxlength, etc.).
four    Required/Optional Field
Set Required Fields to 'R'. Form submission is not accepted until the client completes the field.
Set Optional Fields to ''. Form submission is accepted regardless of the field's content. Syntax checks will be performed on the text present in an optional field when WebStore detects a Specific Form Field Name.
Text may be included in element four of optional fields. When the length of text exceeds 20 characters, the text is placed in a table row beneath the field. HTML code may be used. Optional text is printed in <FONT SIZE=1>.
five    Text printed in a table row below the form element, in the same column as the form element. HTML code may be used.
 
 
Index
 
<INPUT TYPE="textarea">  checkbox password radio select text

KEY      zero    one            two         three                 four        five
'58' => ['name', 'Field Label', 'textarea', 'ROWS="6" COLS="50"', 'Optional', ''],
zero    <INPUT NAME="name">
one    Field label printed in a table row above the form element and in e-mail messages. HTML code can not be used.
two    <INPUT TYPE="textarea">
three    Attributes for the <INPUT TYPE> (rows, cols, etc.).
four    Required/Optional Field
Set Required Fields to 'R'. Form submission is not accepted until the client completes the field.
Set Optional Fields to ''. Form submission is accepted regardless of the field's content.
Text may be included in element four of optional fields. When the length of text exceeds 20 characters, the text is placed in a table row beneath the field. HTML code may be used. Optional text is printed in <FONT SIZE=1>.
five    Text printed in a table row below the form element with COLSPAN=3. HTML code may be used.
textarea input types are printed in a table row with COLSPAN=3. Text in elements one and five are printed in table rows above and below the textarea form element row (respectively).
 
 
Index
 
 
Script Verified Password Fields
 
<INPUT TYPE="password" NAME="password1">
<INPUT TYPE="password" NAME="password2">

'23' => ['password1', 'Password',       'password', 'SIZE="25" MAXLENGTH="35"', 'R'],
'24' => ['password2', 'Password Again', 'password', 'SIZE="25" MAXLENGTH="35"', 'R'],
Password verification may be performed by using password1 and password2 as <INPUT NAMES>.
 
Password verification will be performed if the array KEYS for these two password fields are sequential, whole numbers (23 & 24,  31 & 32,  57 & 58,  etc.) with password1 preceding password2. Both password fields are forced to required when detected by WebStore.
 
Password fields not named password1 and password2 will not be verified.
 
Password verification requires the submitted value of password1 to be a minimum of 8 characters.
 
Password fields not named password1 will not be checked for minimum length of 8 characters.
 
 
%OrderForm | Index
 
 
Script Generated SELECT Fields
 
<SELECT NAME="province">  state country ccYear

KEY      zero        one         two       three   four
'18' => ['province', 'Province', 'select', '',     'Canada only'],
WebStore will generate a drop down select element consisting of Canadian provinces when element zero ends in province, case insensitive.
 
Canadian provinces are derived from %provinces in outlet.state_country.setup.
 
WebStore determines if the province field is required by checking the country selected from the country field (Canadian citizens).
 
A specific province may be SELECTED by placing SELECTED~XXXX in element three. WebStore will print the province associated with element XXXX from %provinces in outlet.state_country.setup. XXXX = 1000 - 1012.  SELECTED~1000 will print Alberta as the <OPTION SELETED>.
 
 
Index
 
<SELECT NAME="state">  province country ccYear

KEY      zero     one      two       three   four
'18' => ['state', 'State', 'select', '',     'US citizens only'],
WebStore will generate a drop down select element consisting of states when element zero ends in state, case insensitive.
 
States are derived from %states in outlet.state_country.setup.
 
WebStore determines if the state field is required by checking the country selected from the country field (US citizens).
 
A specific state may be SELECTED by placing SELECTED~XX in element three. WebStore will print the state associated with element XX from %states in outlet.state_country.setup. XX = 10 - 61.  SELECTED~53 will print Texas as the <OPTION SELETED>.
 
 
Index
 
<SELECT NAME="country">  province state ccYear

KEY      zero       one        two       three           four
'19' => ['country', 'Country', 'select', 'SELECTED~319', 'R'],
WebStore will generate a drop down select element consisting of countries when element zero ends in country, case insensitive.
 
Countries are derived from %countries in outlet.state_country.setup.
 
State/Country verification will be performed if the array KEYS for the state and country fields are sequential, whole numbers (18 & 19, 31 & 32, 57 & 58, etc.) with state preceding country.
 
WebStore determines if the state field is required by checking the country selected from the country field (US citizens).
 
WebStore forces country fields to required regardless of the value of element four.
 
A specific country may be SELECTED by placing SELECTED~XXX in element three. WebStore will print the country associated with element XXX from %countries in outlet.state_country.setup. XXX = 100 - 334.  SELECTED~319 will print United States as the <OPTION SELETED>.
 
 
Index
 
<SELECT NAME="ccYear">  province state country

KEY      zero       one                two       three   four
'45' => ['ccYear',  'Expiration Year', 'select', '',     'R'],
WebStore will generate a drop down select element consisting of years (four digit format) spanning ten years from the current year when element zero ends in year, case insensitive.
 
Element three is disabled in script generated year fields.
 
 
Index
 
 
Specific Form Field Names - $OrderForm{xx}[0]
 
The functions for the form field names below are restricted to password, select, and text input types.
 
Field names beginning with cc are reserved for credit card fields.
Field names beginning with chk are reserved for checking account fields.
 
WebStore will not store client credit card and checking account field data in client form files.
 
 
ccMonth, exact match, Credit Card Month field, select input type
If you accept credit cards, ccMonth must exist as a select input type for the Credit Card Month field.
 
The twelve months of the year listed in element three of this field must be listed in chronological order. The listed months may be alpha or numeric:
Alpha:    'January:February:March:April:May:June:July:August:...December'
Alpha:    'Jan:Feb:March:April:May:June:July:Aug:Sept:Oct:Nov:Dec'
Numeric:  '01:02:03:04:05:06:07:08:09:10:11:12'
If you do not list twelve colon delimited values for months, WebStore sets months to '01:02:03:04:05:06:07:08:09:10:11:12'.
 
chkRouteNum1, exact match, numeric only Check Routing Number field
When a field's name equals chkRouteNum1 WebStore checks the field for minimum length of nine characters, numerics only.
 
chkRouteNum1 and chkRouteNum2, exact match of both field names
Bank check routing number verification will be performed if the array KEYS for these fields are sequential, whole numbers (23 & 24, 31 & 32, 57 & 58, etc.) with chkRouteNum1 preceding chkRouteNum2.
 
chkAccountNum1, exact match, numeric only Check Account Number field
When a field's name equals chkAccountNum1 WebStore checks the field for numerics only.
 
chkAccountNum1 and chkAccountNum2, exact match of both field names
Bank account number verification will be performed if the array KEYS for these fields are sequential, whole numbers (23 & 24, 31 & 32, 57 & 58, etc.) with chkAccountNum1 preceding chkAccountNum2.
 
chkCheckNum, exact match, Check Number field
When a field's name equals chkCheckNum WebStore checks the field for numerics only.
 
country, exact match, Country field
When a field's name equals country WebStore forces the field to required.
 
email, exact match
When a field's name equals email, WebStore forces the field to required and checks the field's contents for minimum e-mail address syntax, Text@Text.Text. The domain name present in the e-mail address will be checked using nslookup according to the value of $dns_lookup in ws_global.setup.
 
email, ending in, case insensitive
When a field's name ends in email, case insensitive, WebStore checks the field's contents for minimum e-mail address syntax, Text@Text.Text. The domain name present in the e-mail address will be checked using nslookup according to the value of $dns_lookup in ws_global.setup.
 
img, ending in, case insensitive
When a field's name ends in img, case insensitive, the field's contents will be checked for a minimum of http://Text.Text/Image.xxx, where xxx = .gif, .jpg, .jpeg, or .png.
 
imgexist, ending in, case insensitive
When a field's name ends in imgexist, case insensitive, the field's contents will be checked for a minimum of http://Text.Text/Image.xxx, where xxx = .gif, .jpg, .jpeg, or .png. The image must exist before form submission will be accepted.
 
The libwww-perl library is used to check the existence of a submitted image url. If the libwww-perl library has not been installed on your server, the submitted image url will not be checked for existence.
 
name, ending in, case insensitive
When a field's name ends in name, case insensitive, the field's contents will be checked for a minimum of two alpha-numeric strings, separated by a space.
 
password1, exact match
When a field's name equals password1, WebStore forces the field to required and checks the field for minimum length of eight characters.
 
password1 and password2, exact match of both field names
Password verification will be performed if the array KEYS for these password fields are sequential, whole numbers (23 & 24, 31 & 32, 57 & 58, etc.) with password1 preceding password2.
 
url, ending in, case insensitive
When a field's name ends in url, case insensitive, the field's contents will be checked for a minimum of http://Text.Text.
 
urlexist, ending in, case insensitive
When a field's name ends in urlexist, case insensitive, the field's contents will be checked for a minimum of http://Text.Text. The url must exist before form submission will be accepted.
 
The libwww-perl library is used to check the existence of a submitted url. If the libwww-perl library has not been installed on your server, the submitted url will not be checked for existence.
 
urlpage, ending in, case insensitive
When a field's name ends in urlpage, case insensitive, the field's contents will be checked for a minimum of http://Text.Text/Page.xxx, where .xxx = .htm, .html, .phtml, or .shtml.
 
year, ending in, case insensitive, select input type
When a field's name ends in year, case insensitive, WebStore will generate a drop down select element consisting of years (four digit format), spanning ten years from the current year.
 
 
Index
 
@opt_shipping = ('51', '52', '55', '56', '57', '58', '59', '60');
@opt_shipping is a list of the KEYS in %OrderForm which correspond to the optionally required shipping fields. If any field listed in @opt_shipping is completed by the client, all fields listed in @opt_shipping must be completed.
 
 
Index
 
@credit_card = ('41', '42', '43', '44', '45', '46');
@credit_card is a list of the KEYS in %OrderForm which correspond to all required credit card fields. @credit_card is used for switching credit card fields from Required to Optional for fax orders.
 
 
Index
 
$header_colors = '0';
Section header rows (xxH) are printed using one of the following color combinations for the row's background color and font color.
 
0    $header_bkg_clr is the row's background color and $header_fnt_clr is the row's font color.
 
1    $dsc_hr_bkg_clr is the row's background color and $dsc_hr_fnt_clr is the row's font color.
 
2    $data_bkg_clr is the row's background color and $data_fnt_clr is the row's font color.
 
''    Setting $header_colors = '' disables header background color and header font color. Colors default to <BODY BGCOLOR or BACKGROUND> and <BODY TEXT> attributes.
 
$header_colors defaults to '' for values other than 0, 1, or 2.
 
$header_bkg_clr, $header_fnt_clr, $dsc_hr_bkg_clr, $dsc_hr_fnt_clr, $data_bkg_clr, and $data_fnt_clr are defined in outlet.setup.
 
 
Index
 
 
Order Form Subroutines: Display Additional HTML
 
 
$pre_form = '1';
If $pre_form = 1, preface the order form with the contents of sub pre_form_html. Design the HTML code, copy and paste it below the PRINTED FROM hidden comment line in sub pre_form_html.
 
Images must be placed in the /Graphics sub-directory and must be referenced using $graphics_url. WebStore sets the value of $graphics_url based on the use of SSL.
<IMG SRC="$graphics_url/image.gif" BORDER=0 WIDTH=325 HEIGHT=40>
Setting $pre_form = '' disables access to sub pre_form_html. Nothing is printed at the top of the order form.
 
sub pre_form_html is a Perl subroutine which allows you to program the printed output to the top of the store's order form.
sub pre_form_html { 

    print qq!

<\!-- PRINTED FROM:  sub pre_form_html in $form_file -->

!; # DO NOT REMOVE - terminates "print qq!" command above.

} # DO NOT REMOVE - End of sub pre_form_html
 
 
Index
 
$form_trailer = '1';
If $form_trailer = 1, preface the order form with the contents of sub form_trailer_html. Design the HTML code, copy and paste it below the PRINTED FROM hidden comment line in sub form_trailer_html.
 
Images must be placed in the /Graphics sub-directory and must be referenced using $graphics_url. WebStore sets the value of $graphics_url based on the use of SSL.
<IMG SRC="$graphics_url/image.gif" BORDER=0 WIDTH=325 HEIGHT=40>
Setting $form_trailer = '' disables access to sub form_trailer_html. Nothing is printed at the bottom of the order form.
 
sub form_trailer_html is a Perl subroutine which allows you to program the printed output to the bottom of the store's order form.
sub form_trailer_html { 

    print qq!

<\!-- PRINTED FROM:  sub form_trailer_html in $form_file -->

!; # DO NOT REMOVE - terminates "print qq!" command above.

} # DO NOT REMOVE - End of sub form_trailer_html
 
Index | Top of Page