This is the most recent version of the script I’m using… Copy and Paste the code straight into a page and save it as yourfilename.php, and that’s about it…. You just need to change the name and e-mail address from mine to yours…
<?php session_start(); // Start Sessions for calculation
// Functions and Variables, etc. Ignore unless you want to change the email's priority level, (Line 20).
// checkStr() and noNewLines() look for abuse of the form.
// purify() removes html characters, which will also remove <script> tags white space and add new lines.
// topNtail() can be expanded to add html headers and footers too.
// $headers variable sets bits and bobs fro the html email.
function checkStr($str) {
$strings = array("content-type:","mime-version:","multipart/mixed","Content-Transfer-Encoding:","bcc:","cc:","to:");
foreach($strings as $string) { if(eregi($string, strtolower($str))) { return true; } }
}
function noNewLines($str) { if (eregi("(\r|\n)", $str)) { return true; } }
function purify($text) { return nl2br(htmlspecialchars(trim($text), ENT_QUOTES, 'UTF-8')); }
function topNtail($message) { return '<html><body>'.$message.'</body></html>'; }
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset="iso-8859-1"' . "\r\n";
$headers .= 'X-Priority: 3' . "\r\n"; // change to 1 for top priority, 3 is normal, 5 is low.
$headers .= 'X-Mailer: PHP/' . phpversion();
/* ##################################################################################################### */
/* ###################### ############################ */
/* ###################### Variables & Settings for the PHP Contact Form ############################ */
/* ###################### ############################ */
/* ##################################################################################################### */
// Path to the "thanks for the message" page. Customers get redirected here once the e=mail has been sent.
$thankyoupage = 'index.php'; // thankyou.html
// Set to 'true' if you want the person who filled the form in to receive a confirmation message.
$sendnotification = true;
// Set the page for the form to be submitted to. Leave blank unless you need to split it, i,e, Ajax.
$contact_form_action = ""; //
/* ##################################################################################################### */
/* #################### ########################## */
/* #################### Settings for the e-mail to you from your customer ########################## */
/* #################### ########################## */
/* ##################################################################################################### */
// Your details
$youremail = '[email protected]';
$yourname = 'Your Name';
// First line of e-mail to self.
$contact_name = purify($_POST['contact_name']); // This line is needed to set the next 2 variables
$contact_comment = "Here is the message $contact_name sent from the form on your contact page"."\n"."\n";
// Appears in the subject field of the e-mail send to yourself.
$subjectline = "$contact_name has sent you a message from your website.";
/* ##################################################################################################### */
/* ########################## ################################# */
/* ########################## Settings for e-mail to your customer ################################# */
/* ########################## ################################# */
/* ##################################################################################################### */
// This is the confirmation message that will be sent to your customer.
$notification_message = "<p>Thank you for your e-mail. I will be in-touch shortly</p>" ."\n"."\n".
"<p>If you need to contact me quickly, please use one of the following</p>" ."\n"."\n".
"<p>T: 01234 567890<br />" ."\n".
"M: 01234 567890<br />" ."\n".
"E: <a href=\"mailto:$youremail\">$youremail</a></p>" ."\n"."\n".
"<p>Kindest Regards<br />" ."\n".
"$yourname</p>";
// This is appears in the subject line of the confirmation message that will be sent to your customer.
$notification_subject = "Thank you for contacting $yourname";
/* ##################################################################################################### */
/* ####################################### ########################################### */
/* ####################################### Main Workings ########################################### */
/* ####################################### ########################################### */
/* ##################################################################################################### */
if ((isset($_POST["fromContactForm"])) && ($_POST["fromContactForm"] == "bingo")) {
// Create a form error array for every field you completed in order for the form to be allowed to be submitted.
// For example, make sure you have the main name and e-mail address listed below.
$err = 0;
$contacter_form_error = array();
if (empty($_POST['answer'])) { $contacter_form_error[] = 'the validation equation'; $err++; }
if (empty($_POST['contact_name'])) { $contacter_form_error[] = 'your name'; $err++; }
if (empty($_POST['contact_email'])) { $contacter_form_error[] = 'your email address'; $err++; }
if (empty($_POST['how_did_you_hear'])) { $contacter_form_error[] = 'how you heard about us'; $err++; }
if($err == 0) {
// Check for abuse
if(noNewLines($_POST['contact_email']) == true || noNewLines($_POST['contact_name']) == true || checkStr($_POST['message1']) == true) { $errmsg == TRUE; }
else {
// If all fields and validation equation were filled in... check equation...
$answer = trim($_POST['answer']);
if($answer != $_SESSION['answer']) { $answerError = TRUE; }
else {
$contact_name = purify($_POST['contact_name']);
$contact_email = purify($_POST['contact_email']);
$contact_comment .= '<p><strong>Name:</strong> '.$contact_name."</p> \n";
$contact_comment .= '<p><strong>Email:</strong> '.$contact_email."</p> \n";
if(!empty($_POST['message1'])){ $contact_comment .= '<p><strong>Message:</strong><br />'.purify($_POST['message1'])."</p> \n"; }
if(!empty($_POST['contact_phone'])){ $contact_comment .= '<p><strong>Tel:</strong> '.purify($_POST['contact_phone'])."</p> \n"; }
if(!empty($_POST['contact_phone2'])){ $contact_comment .= '<p><strong>Mob:</strong> '.purify($_POST['contact_phone2'])."</p> \n"; }
if(!empty($_POST['how_did_you_hear'])){ $contact_comment .= '<p><strong>How did you hear about us:</strong><br />'.purify($_POST['how_did_you_hear'])."</p> \n"; }
// Send e-mail to yourself from the customer who filled the form in.
mail($youremail, $subjectline, topNtail($contact_comment), "From: $contact_email\r\n".$headers);
// Send an e-mail to your customer.
if($sendnotification == true){ mail($contact_email, $notification_subject, topNtail($notification_message), "From: $youremail\r\n".$headers); }
// Once complete. Redirect to the thank you page.
header("Location:$thankyoupage");
exit();
} // end else answer
} // end else abuse
} // end if $err
} // Close of 'if ((isset($_POST["fromContactForm"]))' brackets...
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Contact Page</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
<!--
.highlight-text { color: #900; }
-->
</style>
</head>
<body>
<h2>Contact Me</h2>
<p>The easiest way to contact me is via the form below.</p>
<p>If you need to get a hold of me immediately, please complete the form below and my contact numbers will be e-mailed to you within a few minutes.</p>
<?php // Print form field errors if present
if (count($contacter_form_error)>0){
echo "<p>Please insert ";
foreach($contacter_form_error as $form_err){
if ($err > 2) { echo "<span class=\"highlight-text\">$form_err</span>, "; $err--; }
elseif ($err > 1) { echo "<span class=\"highlight-text\">$form_err</span> and "; $err--; }
else { echo "<span class=\"highlight-text\">$form_err</span>."; }
}
echo "</span></p>";
}
// Check to see if answer error is true.
if($answerError == TRUE) { echo "<p><span class=\"highlight-text\">Your answer was wrong! Please try again.</span>.</span></p>"; }
?>
<form action="<? print $contact_form_action; ?>" method="post">
<table cellpadding="2" cellspacing="0" id="contact">
<tr>
<td><label for="contact_name">Your Full Name</label>:<span>*</span></td>
<td><input type="text" id="contact_name" name="contact_name" size="40" value="<? print $_POST['contact_name']; ?>" /></td>
</tr>
<tr>
<td><label for="contact_email">Your Email Address</label>:<span>*</span></td>
<td><input type="text" id="contact_email" name="contact_email" size="40" value="<? print $_POST['contact_email']; ?>" /></td>
</tr>
<tr>
<td><label for="contact_phone">Telephone No.</label>:</td>
<td><input type="text" id="contact_phone" name="contact_phone" size="25" value="<? print $_POST['contact_phone']; ?>" /> (Day Time, Work or Home) </td>
</tr>
<tr>
<td><label for="contact_phone2">Mobile No.</label>:</td>
<td><input type="text" id="contact_phone2" name="contact_phone2" size="25" value="<? print $_POST['contact_phone2']; ?>" /> (Secondary Contact Number) </td>
</tr>
<tr>
<td><label for="message1">Message</label>:</td>
<td><textarea name="message1" cols="55" rows="7" id="message1"><? print $_POST['message1']; ?></textarea></td>
</tr>
<tr>
<td><label for="how_did_you_hear">How did you hear about us?</label><span>*</span></td>
<td><input type="text" id="how_did_you_hear" name="how_did_you_hear" size="40" value="<? print $_POST['how_did_you_hear']; ?>" /></td>
</tr>
<tr><td colspan="2"> </td></tr>
<tr>
<td colspan="2">
For Security Reasons : In order to avoid my contact form from being abused <br />
by computer generated programs, please solve the following equation.
</td>
</tr>
<tr>
<td><label for="answer">Validation equation</label>:<span>*</span></td>
<td>
<?php
// generate 2 random numbers for the validation equation... and write to Session..
$randomNumber1 = rand(1,10);
$randomNumber2 = rand(1,10);
$_SESSION['answer'] = $randomNumber1 + $randomNumber2;
echo $randomNumber1 . ' + ' . $randomNumber2 . ' = ';
?>
<input name="answer" type="text" id="answer" size="2" />
</td>
</tr>
<tr><td colspan="2"> </td></tr>
<tr>
<td> </td>
<td>
<input type="hidden" name="fromContactForm" value="bingo" />
<input type="submit" value="Send Mesage" />
</td>
</tr>
<tr>
<td colspan="2"><p><span>* Please make sure these fields have been filled in.</span> </p></td>
</tr>
</table>
</form>
</body>
</html>
Main Category