Simple Form to Email PHP Contact Form
Below
you may find a basic website form using only HTML (for the form) and
PHP for the form processing.
Along-side
the HTML form you will find a basic PHP script which will capture the
form submissions and send the form contents to your email address.
This
will allow you to edit the form to fit with your own website design.
You may edit the form in Sublime, Notepad ++, Dreamweaver and
Notepad.
Basic website form HTML
Below
is the HTML form sample. As I mentioned above, you can edit the style
of this to match your websites design.
File
Name: contactform.htm (you can change the filename to anything you
like)
<form
name="contactform" method="post"
action="send_form_email.php">
<table
width="450px">
<tr>
<td
valign="top">
<label
for="first_name">First Name *</label>
</td>
<td
valign="top">
<input
type="text" name="first_name" maxlength="50"
size="30">
</td>
</tr>
<tr>
<td
valign="top"">
<label
for="last_name">Last Name *</label>
</td>
<td
valign="top">
<input
type="text" name="last_name" maxlength="50"
size="30">
</td>
</tr>
<tr>
<td
valign="top">
<label
for="email">Email Address *</label>
</td>
<td
valign="top">
<input
type="text" name="email" maxlength="80"
size="30">
</td>
</tr>
<tr>
<td
valign="top">
<label
for="telephone">Telephone Number</label>
</td>
<td
valign="top">
<input
type="text" name="telephone" maxlength="30"
size="30">
</td>
</tr>
<tr>
<td
valign="top">
<label
for="comments">Comments *</label>
</td>
<td
valign="top">
<textarea
name="comments" maxlength="1000" cols="25"
rows="6"></textarea>
</td>
</tr>
<tr>
<td
colspan="2" style="text-align:center">
<input
type="submit" value="Submit"> <a
href="http://www.freecontactform.com/email_form.php">Email
Form</a>
</td>
</tr>
</table>
</form>
The PHP Code which captures and Emails your website form
The
PHP code below is very basic - it will capture the form fields
specified in the HTML form above (first_name, last_name, email,
telephone and comments). The fields are then sent off to your email
address in plain text.
Note:
You need to edit 2 parts of the script below. You need to tell it
your email address (this will not be available for anyone to see, it
is only used by the server to send your email). You can also specify
an email subject line (or just leave the one which is there).
File
Name: send_form_email.php (you must use this filename exactly)
<?php
if(isset($_POST['email']))
{
//
EDIT THE 2 LINES BELOW AS REQUIRED
$email_to
= "you@yourdomain.com";
$email_subject
= "Your email subject line";
function
died($error) {
//
your error code can go here
echo
"We are very sorry, but there were error(s) found with the form
you submitted. ";
echo
"These errors appear below.<br /><br />";
echo
$error."<br /><br />";
echo
"Please go back and fix these errors.<br /><br />";
die();
}
//
validation expected data exists
if(!isset($_POST['first_name'])
||
!isset($_POST['last_name'])
||
!isset($_POST['email'])
||
!isset($_POST['telephone'])
||
!isset($_POST['comments']))
{
died('We
are sorry, but there appears to be a problem with the form you
submitted.');
}
$first_name
= $_POST['first_name']; // required
$last_name
= $_POST['last_name']; // required
$email_from
= $_POST['email']; // required
$telephone
= $_POST['telephone']; // not required
$comments
= $_POST['comments']; // required
$error_message
= "";
$email_exp
= '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
if(!preg_match($email_exp,$email_from))
{
$error_message
.= 'The Email Address you entered does not appear to be valid.<br
/>';
}
$string_exp
= "/^[A-Za-z .'-]+$/";
if(!preg_match($string_exp,$first_name))
{
$error_message
.= 'The First Name you entered does not appear to be valid.<br
/>';
}
if(!preg_match($string_exp,$last_name))
{
$error_message
.= 'The Last Name you entered does not appear to be valid.<br />';
}
if(strlen($comments)
< 2) {
$error_message
.= 'The Comments you entered do not appear to be valid.<br />';
}
if(strlen($error_message)
> 0) {
died($error_message);
}
$email_message
= "Form details below.\n\n";
function
clean_string($string) {
$bad
= array("content-type","bcc:","to:","cc:","href");
return
str_replace($bad,"",$string);
}
$email_message
.= "First Name: ".clean_string($first_name)."\n";
$email_message
.= "Last Name: ".clean_string($last_name)."\n";
$email_message
.= "Email: ".clean_string($email_from)."\n";
$email_message
.= "Telephone: ".clean_string($telephone)."\n";
$email_message
.= "Comments: ".clean_string($comments)."\n";
//
create email headers
$headers
= 'From: '.$email_from."\r\n".
'Reply-To:
'.$email_from."\r\n" .
'X-Mailer:
PHP/' . phpversion();
@mail($email_to,
$email_subject, $email_message, $headers);
?>
<!--
include your own success html here -->
Thank
you for contacting us. We will be in touch with you very soon.
<?php
}
?>
Save
the files above. Once you edit the form to fit with your design, you
are ready to put it live.
0 comments:
Post a Comment