Sendmail.php Error
Posted: Fri Jul 01, 2011 12:08 am
Hi:
I am new and i have searched the forum for the kind of issue that i have but could not find it, so i am posting it for assistance. But if the same have been posted, accept my apologies.
I have a contact form that uses sendmail.php. The form sends the message to me, but does not redirect user to a thank you page on the site. Instead, it spew out:
Warning: Cannot modify header information - headers already sent by (output started at /home/username/public_html/sendmail.php:1) in /home/username/public_html/sendmail.php on line 90.
Below is the sendmail.php code:
<?php
if(isset($_POST['email'])) {
// EDIT THE 2 LINES BELOW AS REQUIRED
$email_to = "owner@sitename.com";
$email_subject = "Hello";
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
echo "name=>".$_POST["name"] . "<br/>";
echo "phone=>".$_POST["phone"] . "<br/>";
echo "email=>".$_POST["email"] . "<br/>";
echo "best_time_to_contact=>".$_POST["best_time_to_contact"] . "<br/>";
echo "Treatment=>".$_POST["Treatment"] . "<br/>";
echo "comments=>".$_POST["comments"] . "<br/>";
if( $_POST["name"] == "" || $_POST['phone'] == "" || $_POST['email'] == "" ||
$_POST['best_time_to_contact'] == "" || $_POST['Treatment'] == "" || $_POST['comments'] == "" )
{
//died('We are sorry, but there appears to be a problem with the form you submitted.');
died('Data empty');
}
$name = $_POST['name']; // required
$phone = $_POST['phone']; // required
$email_from = $_POST['email']; // required
$best_time_to_contact = $_POST['best_time_to_contact']; // required
$treatments = $_POST['Treatment']; // not required
$comments = $_POST['comments']; // required
$error_message = "";
$email_exp = "^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$";
if(!eregi($email_exp,$email_from))
$error_message .= 'The Email Address you entered does not appear to be valid.<br />';
$string_exp = "^[a-z .'-]+$";
if(!eregi($string_exp,$name))
$error_message .= 'The Name you entered does not appear to be valid.<br />';
// if(strlen($website) < 2)
// $error_message .= 'The website 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 .= " Name: ".clean_string($name)."\n";
$email_message .= "Phone: ".clean_string($phone)."\n";
$email_message .= "Email: ".clean_string($email_from)."\n";
$email_message .= "Best time to contact: ".clean_string($best_time_to_contact)."\n";
$email_message .= "Treatments: ".clean_string($treatments)."\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);
header("location: http://www.sitename.com/thank-you.html");
?>
<?php
}
?>
Thanks
I am new and i have searched the forum for the kind of issue that i have but could not find it, so i am posting it for assistance. But if the same have been posted, accept my apologies.
I have a contact form that uses sendmail.php. The form sends the message to me, but does not redirect user to a thank you page on the site. Instead, it spew out:
Warning: Cannot modify header information - headers already sent by (output started at /home/username/public_html/sendmail.php:1) in /home/username/public_html/sendmail.php on line 90.
Below is the sendmail.php code:
<?php
if(isset($_POST['email'])) {
// EDIT THE 2 LINES BELOW AS REQUIRED
$email_to = "owner@sitename.com";
$email_subject = "Hello";
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
echo "name=>".$_POST["name"] . "<br/>";
echo "phone=>".$_POST["phone"] . "<br/>";
echo "email=>".$_POST["email"] . "<br/>";
echo "best_time_to_contact=>".$_POST["best_time_to_contact"] . "<br/>";
echo "Treatment=>".$_POST["Treatment"] . "<br/>";
echo "comments=>".$_POST["comments"] . "<br/>";
if( $_POST["name"] == "" || $_POST['phone'] == "" || $_POST['email'] == "" ||
$_POST['best_time_to_contact'] == "" || $_POST['Treatment'] == "" || $_POST['comments'] == "" )
{
//died('We are sorry, but there appears to be a problem with the form you submitted.');
died('Data empty');
}
$name = $_POST['name']; // required
$phone = $_POST['phone']; // required
$email_from = $_POST['email']; // required
$best_time_to_contact = $_POST['best_time_to_contact']; // required
$treatments = $_POST['Treatment']; // not required
$comments = $_POST['comments']; // required
$error_message = "";
$email_exp = "^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$";
if(!eregi($email_exp,$email_from))
$error_message .= 'The Email Address you entered does not appear to be valid.<br />';
$string_exp = "^[a-z .'-]+$";
if(!eregi($string_exp,$name))
$error_message .= 'The Name you entered does not appear to be valid.<br />';
// if(strlen($website) < 2)
// $error_message .= 'The website 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 .= " Name: ".clean_string($name)."\n";
$email_message .= "Phone: ".clean_string($phone)."\n";
$email_message .= "Email: ".clean_string($email_from)."\n";
$email_message .= "Best time to contact: ".clean_string($best_time_to_contact)."\n";
$email_message .= "Treatments: ".clean_string($treatments)."\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);
header("location: http://www.sitename.com/thank-you.html");
?>
<?php
}
?>
Thanks