Form Configuration
The action of your form needs to point towards this script (obviously), and the method
must be POST
FORM action="http://www.yourdomainname.com/phpmailer.php"
method="POST">
Necessary
Form Fields
There is only one form field that you must have in your form, for PHPFormMail to work
correctly. This is the recipient field.
| Field: |
recipient |
| Description: |
This form field allows you to specify to whom you wish for your form results to be
mailed. Most likely you will want to configure this option as a hidden form field with a
value equal to that of your e-mail address. |
| Syntax: |
<input type="hidden" name="recipient"
value="something@domain.com">
|
Optional
Form Fields
| Field: |
subject |
| Description: |
The subject field will allow you to specify the subject that you wish to appear in the
e-mail that is sent to you after this form has been filled out. If you do not have this
option turned on, then the script will default to a message subject: WWW Form Submission |
| Syntax: |
If you wish to choose what the subject is:
<input type="hidden" name="subject"
value="Your Subject"> To allow the user to choose a subject:
<input type="text" name="subject"> |
| Field: |
email |
| Description: |
This form field will allow the user to specify their return e-mail address. If you
want to be able to return e-mail to your user, I strongly suggest that you include this
form field and allow them to fill it in. This will be put into the From: field of the
message you receive. If you want to require an email address with valid syntax, add this
field name to the 'required' field. To send e-mail to more than one address, use
commas to seperate the addresses. |
| Syntax: |
Single Recipient:
<input type="text" name="email"
value="nobody@example.com"> Multiple Recipients:
<input type="text" name="email"
value="nobody@example.com,nobody@example1.com"> |
| Field: |
recipient_cc* |
| Description: |
This form field will allow you to carbon copy (CC) the the e-mail to the e-mail
address listed. Use this only if you have the email field specified.
This will cause two copies of the e-mail to be sent. The first to the address listed in
the email field and the second to the address listed in the recipient_cc. To send
e-mail to more than one address, use commas to seperate the addresses. |
| Syntax: |
Single Recipient:
<input type="text" name="recipient_cc"
value="nobody@example.com"> Multiple Recipients:
<input type="text" name="recipient_cc"
value="nobody@example.com,nobody@example1.com"> |
| Field: |
recipient_bcc* |
| Description: |
This form field will allow you to blind carbon copy (BCC) the the e-mail to the e-mail
address listed. To use this fields, you don't have to specify the email
field. This will cause the e-mail to be sent but the recipients listed in the
recipient_bcc without the recipients to see who it was sent to. To send e-mail to
more than one address, use commas to seperate the addresses. |
| Syntax: |
Single Recipient:
<input type="text" name="recipient_bcc"
value="nobody@example.com"> Multiple Recipients:
<input type="text" name="recipient_bcc"
value="nobody@example.com,nobody@example1.com"> |
| Field: |
realname |
| Description: |
The realname form field will allow the user to input their real name. This field is
useful for identification purposes and will also be put into the From: line of your
message header. Note: If realname does not exist as a field but firstname or
lastname does, PHPFormMail will combine firstname and lastname to create the realname. |
| Syntax: |
<input type="text" name="realname"> |
| Field: |
redirect |
| Description: |
If you wish to redirect the user to a different URL, rather than having them see the
default response to the fill-out form, you can use this hidden variable to send them to a
pre-made HTML page. |
| Syntax: |
<input type="hidden" name="redirect"
value="http://your.host.com/to/file.html"> |
| Field: |
redirect_values |
| Description: |
This send the form results on to the redirect page (for further processing by your own
script). You must specify redirect and/or missing_fields_redirect for this feature to work. NOTE:
You must use the GET method for this feature to work. |
| Syntax: |
<input type="hidden" name="redirect_values"
value="true"> |
| Field: |
required |
| Description: |
You can now require for certain fields in your form to be filled in before the user
can successfully submit the form. Simply place all field names that you want to be
mandatory into this field. If the required fields are not filled in, the user will be
notified of what they need to fill in, and a link back to the form they just submitted
will be provided. To use a customized error page, see 'missing_fields_redirect' |
| Syntax: |
If you want to require that they fill in the email and phone fields in your form, so
that you can reach them once you have received the mail, use a syntax like: <input type="hidden" name="required"
value="email,phone"> |
| Field: |
sort |
| Description: |
There are three ways to sort the output of the form.
- Alphabetic*: An alphabetic listing based on the field names.
- Reverse Alphabetic*: A reverse alphabetic listing based on
the field names.
- Order: Allows you to specify the order that you would like the fields to be in. Note: If
you have five form variables, and you only wish to move two of them to the begining of the
e-mail and allow the others to stay in their natural order, you just need to specify the
two variables. The remaining variables will be included in the e-mail.
|
| Syntax: |
If you want to require that they fill in the email and phone fields in your form, so
that you can reach them once you have received the mail, use a syntax like: For
Alphabetic listings*:
<input type="hidden" name="sort"
value="alphabetic">
For Reverse Alphabetic listings*:
<input type="hidden" name="sort"
value="alphabetic">
For Order listings (This would list the fields in the order of: name, comment, email):
<input type="hidden" name="sort"
value="order:name,comment,email"> |
| Field: |
hidden* |
| Description: |
Allows you to hide the results of a field from the HTML output. The results will be
replaced with (hidden) in the HTML output but will still appear in the e-mail you
receive. Fields are comma separated. |
| Syntax: |
If you want to hide the results of the fields my_password and home_address, you would
use syntax like: <input type="hidden"
name="hidden" value="my_password,home_address"> |
| Field: |
alias* |
| Description: |
Allows you to add a more user friendly name for the field. This user friendly name is
only displayed in the HTML output and as no effect on the e-mail you receive. Format is
fieldname=friendlyname and is comma separated. |
| Syntax: |
To add the alias of "E-mail Address" to the field of "email" and
the alias of "First Name" to the field of firstname use: <input type="hidden" name="alias"
value="email=E-mail Address,firstname=First Name"> |
| Field: |
env_report |
| Description: |
Allows you to have Environment variables included in the e-mail message you receive
after a user has filled out your form. Useful if you wish to know what browser they were
using, what domain they were coming from or any other attributes associated with
environment variables. Each enviroment variable is sepperated by a comma. The following is
a short list of valid environment variables that might be useful:
| REMOTE_HOST |
- |
Sends the hostname making the request. |
| REMOTE_ADDR |
- |
Sends the IP address of the remote host making the request. |
| REMOTE_USER |
- |
If server supports authentication and script is protected, this is the username they
have authenticated as. *This is not usually set.* |
| HTTP_USER_AGENT |
- |
The browser the client is using to send the request. |
For more environmental variables, please see
http://hoohoo.ncsa.uiuc.edu/cgi/env.html
Remember to allow the enviromental variables in $valid_env. |
| Syntax: |
If you wanted to see the host making the request and the browser the user is using in
your our e-mail , you would put the following into your form: <input
type="hidden" name="env_report"
value="REMOTE_HOST,HTTP_USER_AGENT"> |
| Field: |
priority* |
| Description: |
priority allows you to modify the priority of the e-mail you will receive. 3 is
normail priority for an e-mail (default) and 1 is the highest priority. |
| Syntax: |
If you wish to have the highest priority:
<input type="hidden" name="priority"
value="1"> If you wish to have the lowest priority (normal):
<input type="hidden" name="priority"
value="3"> |
| Field: |
print_blank_fields |
| Description: |
print_blank_fields allows you to request that all form fields are printed in the
return HTML and e-mail, regardless of whether or not they were filled in. PHPFormMail
defaults to turning this off, so that unused form fields aren't e-mailed. |
| Syntax: |
If you want to print all blank fields:
<input type="hidden" name="print_blank_fields"
value="true"> |
| Field: |
title |
| Description: |
This form field allows you to specify the title and header that will appear on the
resulting page if you do not specify a redirect URL. |
| Syntax: |
If you wanted a title of 'Feedback Form Results': <input
type="hidden" name="title" value="Feedback Form Results"> |
| Field: |
return_link_url |
| Description: |
This field allows you to specify a URL that will appear, as return_link_title, on the
following report page. This field will not be used if you have the redirect field set, but
it is useful if you allow the user to receive the report on the following page, but want
to offer them a way to get back to your main page. |
| Syntax: |
<input type="hidden" name="return_link_url"
value="http://your.host.com/main.html"> |
| Field: |
return_link_title |
| Description: |
This is the title that will be used to link the user back to the page you specify with
return_link_url. The two fields will be shown on the
resulting form page as: |
| Syntax: |
<input type="hidden" name="return_link_title"
value="Back to Main Page"> |
| Field: |
missing_fields_redirect |
| Description: |
This form field allows you to specify a URL that users will be redirected to if there
are fields listed in the required form field that are not filled in. This is so you can
customize an error page instead of displaying the default. |
| Syntax: |
<input type="hidden"
name="missing_fields_redirect"
value="http://your.host.com/error.html"> |
| Field: |
background |
| Description: |
This form field allow you to specify a background image that will appear if you do not
have the redirect field set. This image will appear as the background to the form results
page. |
| Syntax: |
<input type="hidden" name="background"
value="http://your.host.xxx/image.gif"> |
| Field: |
bgcolor |
| Description: |
This form field allow you to specify a bgcolor for the form results page in much the
way you specify a background image. |
| Syntax: |
For a background color of White: <input
type="hidden" name="bgcolor" value="#FFFFFF"> |
| Field: |
text_color |
| Description: |
This field works in the same way as bgcolor, except that it will change the color of
your text. |
| Syntax: |
For a text color of Black: <input type="hidden"
name="text_color" value="#000000"> |
| Field: |
link_color |
| Description: |
Changes the color of links on the resulting page. Works in the same way as text_color. |
| Syntax: |
For a link color of Red: <input type="hidden"
name="link_color" value="#FF0000"> |
| Field: |
vlink_color |
| Description: |
Changes the color of visited links on the resulting page. Works exactly the same as
link_color. |
| Syntax: |
For a visited link color of Blue: <input
type="hidden" name="vlink_color" value="#0000FF"> |
| Field: |
alink_color |
| Description: |
Changes the color of active links on the resulting page. Works exactly the same as
link_color. |
| Syntax: |
For a active link color of Blue: <input
type="hidden" name="alink_color" value="#0000FF"> |
| Field: |
gmt_offset* |
| Description: |
Allows you to specify your GMT offset (+/-) so the time reported in the e-mail will
match your time zone. (Default is your servers time zone) |
| Syntax: |
To change the time into American EST: <input
type="hidden" name="gmt_offset" value="-5"> |
| Field: |
mail_newline* |
| Description: |
Allows you to specify the type of linebreak in your e-mail output. Only change if your
e-mail is listed all on one line. 1 \n (default)
2 \r\n
3 \r |
| Syntax: |
To change your linebreak to \r\n: <input
type="hidden" name="mail_newline" value="2"> |
| Field: |
css* |
| Description: |
Allows for the results/error page to link to a Cascading Style Sheet (css). |
| Syntax: |
To link to main.css: <input type="hidden"
name="css" value="http://your.host.xxx/main.css"> |
| Field: |
_regex* |
| Description: |
Allows for regular expression comparisons on form results. For a field to be checked,
it must also be listed in required. To check a field,
append _regex to the hidden field name.
Note: This function uses eregi() so you must use postix regular expressions. |
| Syntax: |
To check that the date field is in propper date format: <input
type="hidden" name="date_regex"
value="$[0-9{4}-[0-9]{2}-[0-9]{2}$"> |
Any other form fields that appear in your script will be mailed back to you and
displayed on the resulting page if you do not have the redirect field set. There is no
limit as to how many other form fields you can use with this form, except the limits
imposed by browsers and your server.
Additional Notes
Multiple Results
When using checkboxes and multiple selection lists, you'll need to add [] to the end of
the name. When the [] is added, PHPFormMail can then properly process the field and print
it out in a comma separated format.
Reserved Words
Here is the list of reserved words. Naming a field name any of the following could
cause unexpected results:
recipient, subject, required, redirect, print_blank_fields, env_report, sort,
missing_fields_redirect, title, bgcolor, text_color, link_color, alink_color, vlink_color,
background, subject, title, link, css, return_link_title, return_link_url, recipient_cc,
recipient_bcc, priority, redirect_values, hidden, alias
Donations
As you know, most of the software I release is free, and will always be free. Keep in
mind that this donation page isn't for me to profit, it's to allow me to continue
developing free software and to keep boaddrink.com for you, the user. Please remember that
this software is free for you to download and use but that doesn't mean it's not worth
anything. You can donate any amount of money you wish... from $1 to $1,000,000. While a
million dollars would be nice don't be pressured, any amount helps, even one dollar.
If you wish to donate, please visit http://www.boaddrink.com/donate.php
Thanks,
Andrew Riley
Copyright 2002 Andrew Riley