Create a Simple, Effective PHP Form for Your Web Site
|
|
|
| 1.0/5.0 (1 votes total) |
|
|
|
Herman Drost
|
Herman Drost |
Herman Drost is a Certified Web Site Designer (CIW), owner and author
of iSiteBuild.com Affordable Web Site Design, Hosting, and Promotion
Packages (http://www.isitebuild.com)
Subscribe
to his "Marketing Tips" newsletter for more original articles.mailto:[email protected].
Read more of his in-depth articles at: www.isitebuild.com/articles
|
Herman Drost
has written 2 articles for WebKnowHow. |
View all articles by Herman Drost... |
If
you have been struggling to set up forms on your web site using
cgi, then definitely read this article. Installing a simple PHP
form is much easier and faster than installing a cgi form and doesn't
need any programming experience.
How
does a PHP form work?
PHP
is short for "PHP: Hypertext Preprocessor". It is a server-side,
cross-platform, HTML embedded scripting language.
A
server side scripting language allows you to create dynamic web
pages. Web pages that have been enabled with PHP are treated just
the same as any other HTML page, and PHP even lets you create
and edit them the same way you would create and edit your HTML pages.
This
PHP form consists of 3 web pages, an html page, a PHP page (PHP
script) and a thank you page. You collect the visitors information
when he fills out the form on the html page. It is then processed
by the PHP script which resides on the server. The visitor automatically
receives a "thank you for subscribing" message. The form
results are returned from the server to your email box.
Server
requirements for your PHP form
Check
with your web host you have PHP4 installed on your server Most Unix
servers do - if so you are in luck and ready to go.
How
to create the simple PHP form
You
will create a very simple, effective form in which you will collect
the name, email address and comments of your visitors. The form
results will be sent to your email address.
1.
Create the PHP script - copy and paste this code (Jack's
FormMail.php script: http://www.dtheatre.com/scripts/formmail)
into notepad (not MS Word) and save it as formmail.php
2.
Edit the fields - the only recommended field to edit is
the "referers" field. This field defines the domains that
allow forms to reside on and use your FormMail.php script. If you
try to put the form on another server, that is not the specified
domain or ip, you will receive an error message when someone tries
to fill out your form.
ie:
$referers = ('ihost-websites.com','209.123.240.161');
3.
Upload the formmail.php script to the web directory which you are
planning to use.
4.
Configure your PHP form - create a web page (ie contact.htm) for
your PHP form.
5.
Point the action of your form to the formmail.php script you created
in Step 1.
ie:
<form name="form1" method="post"
action="http://ihost-websites.com/formmail.php">
6.
Add the necessary form fields - the "recipient field"
is the only form field that you must have in your form, for formmail.php
to work correctly.
This
form field allows you to specify where you want 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.
<input
type=hidden name="recipient"
value="[email protected]">
7.
Enter optional form fields
"subject
field" - this allows 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: "Form Submission".
ie:
<input type=hidden name="subject" value="Form
Mail Results">
"full
name field" - this allows visitors to fill in their name. This
will help you to personalize your return email by including their
first and/or last names.
i.e:
<input type=text name="fullname">
"email address field" - this allows you to specify your
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. The email address submitted will be
checked for validity.
i.e:
<input type=text name="email">
"comments
field" - this allows visitors to add any comments in your form.
You could name this field anything you like.
ie:
<textarea name="comments"></textarea>
"required
field" - these are the required fields you want your visitors
to fill in before they can successfully submit the form. If the
required fields are not filled in, the visitor will be notified
of what they need to fill in, and a link back to the form they just
submitted will be provided.
ie:
<input type=hidden name="required" value="fullname,email">
"redirect
field" - if you wish to redirect the visitor 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 (ie thankyou.htm) page.
ie:
<input type=hidden name="redirect"
value="http://www.ihost-websites.com/thankyou.htm">
"submit
field" - this allows the visitor to submit the form
ie:
<input type="submit" name="Submit" value="Submit">
8.
Create a thank you page (thankyou.htm) - this web page will automatically
thank visitors for subscribing. Add your own comments you wish them
to receive. Upload this web page to your
server.
Tip:
Use your own domain name, email and IP address in the
fields above.
Here
is an example of a typical web page using the PHP form.
(http://www.ihost-websites.com/contact.htm)
All
the fields are included as was discussed above:
<html>
<head>
<title>Form Mail</title>
</head>
<body
bgcolor="#FFFFFF" text="#000000"> <form
name="form1"
method="post" action="http://ihost-websites.com/formmail.php">
<input
type=hidden name="recipient" value="[email protected]">
<input
type=hidden name="subject" value="Form Mail Results">
<input
type=hidden name="required" value="fullname,email">
<input
type=hidden name="redirect"
value="http://www.ihost-websites.com/thankyou.htm">
Name<br><input
type=text name="fullname"><br>
Email<br>
<input type=text name="email"><br>
<br>
Comments<br> <textarea name="comments"></textarea>
<br>
<br>
<input type="submit" name="Submit" value="Submit">
</form>
</body>
</html>
9.
Copy and paste this html form into your web page - name it anything
you like (ie contact.htm), then upload it to your
server.
10.
Test out your form - when you fill out the form, you should
immediately receive the reply from your thankyou.htm page and the
form results in your email box.
Conclusion
- you now have a fully functional and flexible PHP form on your
web site to collect visitor information. You can add more fields
to the form if necessary. You may also add any number of HTML forms
to your web site and still use the same PHP script.
Resources
Jack's
PHP FormMail:
http://www.dtheatre.com/scripts/formmail.php
Help/Support
- PHP Form Forum:
http://www.boaddrink.com/forum/viewforum.php?f=2
PHP
Form Tutorial:
http://codewalkers.com/tutorials.php?show=12&page=1
|