Code to send email not working.
- by RPK
When I am trying to execute following code to email the contact form details, it is not executing properly. Instead, when the contact form's Submit button is clicked, it just shows the below source code in the browser. What's wrong?
<?php
error_notice(E_ALL^E_NOTICE);
$firstname = $_POST['fname'];
$emailaddress = $_POST['eaddress'];
$mobile = $_POST['cellno'];
$phone = $_POST['landline'];
$country = $_POST['ucountry'];
$city = $_POST['ucity'];
$subjects = $_POST['usubjects'];
$message = $_POST['umessage'];
// EDIT THE 2 LINES BELOW AS REQUIRED
$email_to = "[email protected]";
$email_subject = $subjects;
function died($error) {
// your error code can go here
echo "We are very sorry, but there were error(s) found with the form your 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($firstname) ||
!isset($emailaddress) ||
!isset($subjects) ||
!isset($message)) {
died('We are sorry, but there appears to be a problem with the form your submitted.');
}
$error_message = "";
$email_exp = "^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$";
if(!eregi($email_exp,$emailaddress)) {
$error_message .= 'The Email Address you entered does not appear to be valid.<br />';
}
$string_exp = "^[a-z .'-]+$";
if(!eregi($string_exp,$firstname)) {
$error_message .= 'The First Name you entered does not appear to be valid.<br />';
}
if(strlen($message) < 2) {
$error_message .= 'The Comments you entered do not appear to be valid.<br />';
}
$string_exp = "^[0-9 .-]+$";
if(!eregi($string_exp,$phone)) {
$error_message .= 'The Telphone Number you entered does 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($firstname)."\n";
$email_message .= "Last Name: ".clean_string($mobile)."\n";
$email_message .= "Email: ".clean_string($emailaddress)."\n";
$email_message .= "Telephone: ".clean_string($phone)."\n";
$email_message .= "City: ".clean_string($city)."\n";
$email_message .= "Telephone: ".clean_string($country)."\n";
$email_message .= "Comments: ".clean_string($message)."\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);
?>