You are on page 1of 9

Simple Form to Email PHP Contact Form

There have been some people ask us to provide a very basic form to email script without anything fancy. Below you can find a very 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. The form we provide below is bare-bone website form. This will allow you to edit the form to fit with your own website design. You could edit the form in dreamweaver, HTML-Kit, iweb or any other HTML editor of your choice.

Basic website form HTML


Below is the HTML form sample. As we 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) Copy and Paste <form name="contactform" method="post" action="send_form_email.php"> 1 <table width="450px"> 2 </tr> 3 <tr> <td valign="top"> 4 <label for="first_name">First Name *</label> 5 </td> 6 <td valign="top"> 7 <input type="text" name="first_name" maxlength="50" size="30"> 8 </td> 9 </tr>

10 11 12 13 14 15 16 17 18 19 20

<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>

21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53

<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) Copy and Paste 1 <?php if(isset($_POST['email'])) { 2

3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41

// 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 submi "; 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 />';

42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78

} 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 $email_message $email_message $email_message $email_message .= .= .= .= .= "First Name: ".clean_string($first_name)."\n"; "Last Name: ".clean_string($last_name)."\n"; "Email: ".clean_string($email_from)."\n"; "Telephone: ".clean_string($telephone)."\n"; "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.

Example Form
First Name * Last Name * Email Address * Telephone Number Comments *

Submit

Email Form

NOTE: The PHP form to email script provided here is very basic and does not offer any CAPTCHA to protect your email inbox from spam. If you would prefer a form with more power, including spam protection, then please check out the rest of our website. We also offer a Professional version. (which comes with access to our online Form Builder App).

This code is provided as free to use. We cannot guarantee that it will work with all Servers. Use at your own risk.

Overview if you want to test on you own computer you must set your computer as a mail server by using Argosoft mail server or relate software. read this tutorial

In this tutorial create 2 files 1. contact.php 2. send_contact.php Step 1. Create file contact.php. 2. Create file send_contact.php.

Create file contact.php View In Browser

############### Code <table width="400" border="0" align="center" cellpadding="3" cellspacing="1"> <tr> <td><strong>Contact Form </strong></td> </tr> </table> <table width="400" border="0" align="center" cellpadding="0" cellspacing="1"> <tr> <td><form name="form1" method="post" action="send_contact.php"> <table width="100%" border="0" cellspacing="1" cellpadding="3"> <tr> <td width="16%">Subject</td> <td width="2%">:</td> <td width="82%"><input name="subject" type="text" id="subject" size="50"></td> </tr> <tr> <td>Detail</td> <td>:</td> <td><textarea name="detail" cols="50" rows="4" id="detail"></textarea></td> </tr> <tr> <td>Name</td> <td>:</td>

<td><input name="name" type="text" id="name" size="50"></td> </tr> <tr> <td>Email</td> <td>:</td> <td><input name="customer_mail" type="text" id="customer_mail" size="50"></td> </tr> <tr> <td>&nbsp;</td> <td>&nbsp;</td> <td><input type="submit" name="Submit" value="Submit"> <input type="reset" name="Submit2" value="Reset"></td> </tr> </table> </form> </td> </tr> </table>

Create file send_contact.php Diagram

############### Code <?php // Contact subject $subject ="$subject"; // Details $message="$detail"; // Mail of sender $mail_from="$customer_mail"; // From $header="from: $name <$mail_from>"; // Enter your email address $to ='someone@somewhere.com'; $send_contact=mail($to,$subject,$message,$header); // Check, if message sent to your email // display message "We've recived your information"

if($send_contact){ echo "We've recived your contact information"; } else { echo "ERROR"; } ?>

You might also like