Now you can easily add a fully customized feedback
form to any or all of your Web pages and have the results
e-mailed to you! Our feedback script takes all information
from any HTML form that you create, and then sends that
information to you in an e-mail
message.
Popular Uses for the Form
E-mailer
This tool can be used in a number of ways
to enhance your site and allow your visitors to more
effectively communicate with you. Below are listed only a few
of the ways people have used this
utility:
Simple Order Form
(non-secure)
Users can select products and enter
customer data that is then sent to you via e-mail. Do not ask
for sensitive information such as credit card
numbers!
Visitor Feedback Form
Get feedback from your visitors about
your Web site.
Bug Reports
Help users report errors or broken links
on your site.
Mailing List
Users can input their e-mail addresses to
join your mailing list. You can collect this data and send
messages to your mailing list.
Surveys or Voting
Ask your visitors specific questions
about their likes and dislikes and have their answers e-mailed
to you.
Much more...
Customize the feedback form to your Web
site's needs.
Features of the Form E-mailer
Utility
The Form E-mailer utility is a very
versatile program--it can be very simple or it can be very
complex, depending on what you want it to do for you. It is
one of the most powerful and customizeable form e-mail
programs available, yet you can use it with almost no
configuration other than telling your form where the program
is located. Other features include:
No complicated configuration is necessary -- default
settings can handle all HTML forms, if desired.
All features of the program are fully configurable
and can be overriden with your own settings.
You to create multiple page forms and pass data from
one page to the next.
A customizeable e-mail message can be sent to you,
your site visitors, or anyone else you want on completion of
the form.
Customized "successful submission" and "error during
submission" pages can be used.
Time stamp can be set to your time zone or any other
around the world.
Data from the form can include the date and time the
form was filled out, as well as other environmental
variables.
You can require information to be entered for certain
fields. When a field is left empty, a customized error
message can be created for your visitor.
Form data can be organized and rearranged to any
order you want in the e-mailed output or saved
file.
The To:, From:, and Subject: fields can be customized
in the e-mail messages.
Form data can also be written to a file in database
format and stored for later analysis offline, or for backup
purposes.
Basic Instructions for Using
the Form E-mailer Utility
First, you need to have an HTML form. If you don't
already have one, creating one requires some knowledge of HTML
or the use of a Web-page building program, such as Macromedia
Dreamweaver. If you do not know HTML, you can copy and paste
the code for this form into one of your Web pages by using the
HTML editor in 20m Free Web Space File
Manager.
Your starting <form> tag needs to be changed to
the following:
<form action="/cgi-bin/cgiemail"
method="post">
This simple change will cause the utility to e-mail all
of your HTML form's *named data to
"webmaster@yoursite.com" automatically. This is all that is
needed to make the most basic use of the Form E-mailer.
*When you create <input> tags, they must be named
in order for the data to be passed to the utility, so make
sure any controls that take user input have the "name="
property set. (For example, the input from the control
"<input type=text name=username>" will appear in the
e-mailed message as
"username=yourvisitorsinput".)
Advanced Instructions for Using
the Form E-mailer Utility
Every feature of this utility can be
customized to your liking through "hidden" <input> tags
that you can include in your HTML form between the
<form> and </form> tags. The following list
contains each of the property names and an example of their
usage.
NAME=cgiemail_html tells
the script which should be the next html page shown after
the form is submitted. If a relative URL is used, (i.e.
VALUE="/done.html", instead of
VALUE="www.someplace.com/done.html"), then $variable
replacements may be used on the next page to fill in what
your visitor typed on the previous page. This value should
appear only once in a form. Here are a few examples of this property's
usage:
NAME=cgiemail_invalid sets
the error message that your visitor will be shown if an
invalid e-mail addresses is entered (i.e., VALUE="You
entered an invalid Email address"). This property should
appear only once in each of your forms if you want to use
it. Here
are a few example:
<input type="hidden"
name="cgiemail_invalid" value="You entered an invalid email
address">
or ...
<input type="hidden"
name="cgiemail_invalid" value="How can we reach you with
that e-mail address?">
NAME=cgiemail_required
requires the visitor to enter information in any field(s)
you specify. A customized message can be used for each
missing field. (Note: Do not use the ";" character in the
messages. This is a reserved character and it will cause
your form not to work.) This property can be set for any
field you want and therefore can appear as many times as you
have control names in a form. Here are some
examples:
<input type="hidden"
name="cgiemail_required" value="email:You forgot to enter
your email address">
<input type="hidden"
name="cgiemail_required" value="name:You forgot to
enter your name">
<input type="hidden"
name="cgiemail_required" value="address:You didn't
enter your address">
(Note: In the second and
third examples above, these "hidden" <input> controls
imply that you have another <input> control for each
of these names in your form. To extend the example, you must
have two other controls between the <form> and
</form> tags in your HTML form which are similar to
"<input type=whatever name=name>" and
"<input type=whatever name=address>".
The second and third examples above simply tell the Form
E-mailer to check each of those controls to make sure they
have not been left blank. They do not actually create the
controls.)
NAME=cgiemail_message is
the message file, including the headers and body of the
e-mail. Replacements may be used, but they must be a
relative URL (i.e., VALUE="message.txt"). This input may be
used multiple times to send multiple e-mail messages. If
this file begins with ">/path/db.txt", then the contents
of the rest of this file will be appended to /path/db.txt.
Multiple tags can also be used. Here are some
examples:
NAME=cgiemail_order (This
field is ignored if "cgiemail_message" is used.) This field
sets the order for displaying fields (i.e.,
VALUE="name1:name2:name3"), as in the following
example:
NAME=cgiemail_subject (This
field is ignored if "cgiemail_message" is used.) This field
is the "Subject:" for the e-mail. (i.e., VALUE="WEB
FEEDBACK"). For example,
<input type="hidden"
name="cgiemail_subject" value="Web Site Feedback
Form">
NAME=cgiemail_username (This
field is ignored if "cgiemail_message" is used.) This field
is the "To:" for the e-mail. (i.e., VALUE="webmaster"). For
example,
NAME=email must
be a valid, formatted e-mail address. (This field is ignored
if "cgiemail_message" is used.) This field is the "From:"
for the e-mail. EXAMPLE HTML CODE: Enter your email:
Examples VALUES for cgiemail_timeformat field:
NAME=cgiemail_timeformat
overrides the default (EPOCH seconds) time format used to
assign the special variable. This field is only used to
customize the and has no other purpose. (You can include the
variable on any page returned by the CGI and the time will
be printed in its place). VALUE="%a %b %e %T %Z %Y" would
appear: Fri Dec 23 10:10:42 EST 1988, VALUE="%A, %B
%e, %Y %T" would appear: Friday, December 23, 1998 10:10:42,
VALUE="DATE: %m/%d/%y%nTIME: %H:%M:%S" would
appear: DATE: 12/23/98 TIME: 10:10:42 Output can be
customized by using the following codes: %% a
literal % %n a newline %t a horizontal
tab %H hour (00..23) %I hour (01..12)
%k hour ( 0..23) %l hour ( 1..12)
%M minute (00..59) %s %p locale's AM or
PM %r time, 12-hour (hh:mm:ss [AP]M)
%s seconds since 1970-01-01 00:00:00 UTC (a
nonstandard extension) %S second (00..61)
%T time, 24-hour (hh:mm:ss) %X
locale's time representation (%H:%M:%S) %Z time
zone (i.e., EDT), or nothing if no time zone is determinable
%a locale's abbreviated weekday name (Sun..Sat)
%A locale's full weekday name, variable length
(Sunday..Saturday) %b locale's abbreviated month
name (Jan..Dec) %B locale's full month name,
variable length (January..December) %c locale's
date and time (Sat Nov 04 12:02:33 EST 1989) %d
day of month (01..31) %D date (mm/dd/yy)
%h same as %b %j day of year
(001..366) %m month (01..12) %U week
number of year with Sunday as first day of week (00..53)
%w day of week (0..6) with 0 corresponding to
Sunday %W week number of year with Monday as
first day of week (00..53) %x locale's date
representation (mm/dd/yy) %y last two digits of
year (00..99) %Y year
(1970...) Example:
Here are some working example forms using
the Form E-mailer. You can take these examples and adapt them
for your own use if you want.
Very basic form--this form shows the
most basic configuration method, specifying only the location
of the utility. There is no customization, only defaults are
used.
Basic form--this form shows most of
the basic customization features, and includes a custom
"success page" and "error page" which use $variable
output.
Moderate form--this form builds upon
the basic form, but uses a customized e-mail message (which
also show the use of some special variables like and ),
overrides the delimeter values, and shows how the variable can
be customized.
Complex form--This form is a two-page
form. Clicking next on the first form will take you to another
form (where some of the input from form 1 is displayed from
the $variables), and the data from both forms is submitted
together. This form also sends multiple, customized e-mail
messages, AND saves the data to a database file.