Stop Email on Error

I have a php page that is supposed to send an email upon the completion of a form. If the form is not filled out with all required parts, the php page returns an error and is not supposed to send the email.

Currently, the php page returns the errors, but still sends the email

Code:

 <link rel="stylesheet" type="text/css" media="screen" href="css/reset.css">
<link rel="stylesheet" type="text/css" media="screen" href="css/grid_12.css">
<link rel="stylesheet" type="text/css" media="screen" href="css/style.css">

Download Request


<?php if(isset($_POST['email'])) {
// EDIT THE 2 LINES BELOW AS REQUIRED
$email_to = "[email protected]";
$email_subject = "Whitepapers Download Request";
 
 
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 />";
}

function send($sent) {
	echo $sent."";
	echo "Your request has been sent successfully! A representative will be in contact with you shortly.<br/><br/>";
}
 
// validation expected data exists
if(!isset($_POST['name']) ||
    !isset($_POST['email']) ||
    !isset($_POST['phone']) ||
    !isset($_POST['company'])) {
    died('We are sorry, but there appears to be a problem with the form you submitted.');      
}
 
$name = $_POST['name']; // required
$email_from = $_POST['email']; // required
$phone = $_POST['phone']; // not required
$message = $_POST['company']; // required

 
$error_message = "";
$success="";
$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.
’;
}
$string_exp = “/^[A-Za-z .’-]+$/”;
if(!preg_match($string_exp,$name)) {
$error_message .= ‘The Name you entered does not appear to be valid.
’;
}
if(strlen($message) < 2) {
$error_message .= ‘The Company you entered do not appear to be valid.
’;
}
if(strlen($error_message) > 0) {
died($error_message);
}
if(strlen($error_message) <= 0) {
send($success);
}
$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 .= "Name: ".clean_string($name)."\n";
$email_message .= "Email: ".clean_string($email_from)."\n";
$email_message .= "Phone: ".clean_string($phone)."\n";
$email_message .= "Company: ".clean_string($company)."\n";
$email_message .= "Product: ".clean_string($product)."\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); }
?>

Thanks for the help!

Duplicate Topic Locked Use http://www.phphelp.com/forum/index.php?topic=18422.0

Sponsor our Newsletter | Privacy Policy | Terms of Service