Hi,
I would greatly appreciate some help? I am brand new to PHP and have been searching and editing code ALL day :shrug:yet I still cannot find the reason for this error in my Sendmail.php file:
Warning: Cannot modify header information - headers already sent by (output started at /home/appleis/public_html/sendmail.php:3) in /home/appleis/public_html/sendmail.php on line 48
My only thought is it may be related to the function "show_error" which has a html section and may affect the browser cache. I don't know how to fix that?
The above error is occurring when all test data entered is in the correct style and fields validate. If I deliberately leave out a valid field, my check controls and show_error work properly yet as soon as they are fixed the next submit casues the heading error statement.
I am using a html form & I know all my fields in html are correct.
Any help is much appreciated, Dennis
My Sendmail.php code is as follows, the bad code line is in red:
<head>
<style type="text/css">
.style1 {
background-color: C7AEC7;
}
</style>
</head>
<?php
/* Set e-mail recipient */
$myemail = "myname@mydomain.com.au";
/* Instead of captcha use this access code, set in my html form for the euser to enter.*/
if (strtolower($_POST['accesscode']) != 'apple') {die('Wrong access code, Use Back Browser button and re-enter code');}
/* Check all form inputs using check_input function */
$firstname = check_input($_REQUEST['first_name'], "Please Enter First Name with NO spaces or numbers. Please press the BACK button in your browser and try again.") ;
$lastname = check_input($_REQUEST['last_name'], "Please Enter Last Name with NO spaces or numbers. Please press the BACK button in your browser and try again.") ;
$street = $_REQUEST['street_no'] ;
$suburb = check_input($_REQUEST['suburb']) ;
$state = check_input($_REQUEST['state']) ;
$pcode = $_REQUEST['pcode'] ;
$country = check_input($_REQUEST['ctry']) ;
$phone = check_input($_REQUEST['phone_no'], "Please Enter a contact Phone number. Please press the BACK button in your browser and try again.") ;
$email = check_input($_REQUEST['email'],"Please Re- Enter your Email Address, ensuring you check the format. Please press the BACK button in your browser and try again.") ;
$cottage = $_REQUEST['cottage'] ;
$arr_day = check_input($_REQUEST['arr_day'], "Please Enter a valid Arrival day. Please press the BACK button in your browser and try again.") ;
$arr_date = check_input($_REQUEST['arr_date'], "Please Enter a valid Arrival date. Please press the BACK button in your browser and try again.") ;
$arr_month = check_input($_REQUEST['arr_month'], "Please Enter a valid Arrival month. Please press the BACK button in your browser and try again.") ;
$arr_year = check_input($_REQUEST['arr_year'], "Please Enter a valid Arrival year. Please press the BACK button in your browser and try again.") ;
$dep_day = check_input($_REQUEST['dep_day'], "Please Enter a valid Departure day. Please press the BACK button in your browser and try again.") ;
$dep_date = check_input($_REQUEST['dep_date'], "Please Enter a valid Departure date. Please press the BACK button in your browser and try again.") ;
$dep_month = check_input($_REQUEST['dep_month'], "Please Enter a valid Departure month. Please press the BACK button in your browser and try again.") ;
$dep_year = check_input($_REQUEST['dep_year'], "Please Enter a valid Departure year. Please press the BACK button in your browser and try again.") ;
$adults = check_input($_REQUEST['adult_guests_num'], "Please Enter a number of Adult Guests. Please press the BACK button in your browser and try again.") ;
$children = $_REQUEST['child_guests_num'] ;
$message = check_input($_REQUEST['additional_info']) ;
/* Check if e-mail is valid structure, if not show error message */
if (!preg_match("/([w-]+@[w-]+.[w-]+)/", $email))
{
show_error("E-mail address not valid");
}
/* Send the message using mail() function */
mail( $myemail, "Enquiry for Accommodation", "From: $email", "$firstname $lastname, n$street, $suburb, n$state. $pcode nCountry: $country nPh: $phone nPreferred Cottage: $cottagen nArrival Date: $arr_day $arr_date/$arr_month/$arr_yearn nDepart Date: $dep_day $dep_date/$dep_month/$dep_year
nAdults: $adultsn nChildren: $childrenn nMessage: $messagen" );
/* Redirect visitor to the thank you page */
header("Location: http://www.mydomain.com.au/enquiry_thankyou.html");
/* Prepare autoresponder subject */
$respond_subject = "Thank you for contacting us.";
/* Prepare autoresponder message */
$respond_message = "Hello $firstname,
Thank you for the accommodation enquiry.
Your requested stay: $arr_date/$arr_month/$arr_year to $dep_date/$dep_month/$dep_year
Enquiry Name: $lastname
Number of Guests: Adults - $adults, Children (under 12yrs) - $children
I will respond to you within 24 hours.
Regards, Julie,
Our business & domain
";
/* Send the message using mail() function */
mail($email, $respond_subject, $respond_message);
/* Functions we used */
function check_input($data, $problem='')
{
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
if ($problem && strlen($data) == 0)
{
show_error($problem);
}
return $data;
}function show_error($myError)
{
?>
<html>
<body>
<b><span class="style1"> Cottages - Enquiry FORM
</span>
Please correct the following error:
</b>
<?php echo $myError; ?>
</body>
</html>
<?php
exit();
}
/* this form is working and provides all functions */
?>
Converting from one format to another
"I have got a date in DD/MM/YYYY but I need it in MM-DD-YYYY. Help!"
connect() succeeds but accept() does not?
Please help me with this problem. I'm working on a time-sensitive project where I'm using TCP sockets. I've got this problem where most of the time a connection cannot be made.
Can't get the unicode character
I'm trying to get some text from various parts of a file. I have converted the file to hex (bin2hex) and I've got this:64 72 e6 62 65 72 (without spaces)I'm converting that back by:Code:
Using Curl_multi for processing multiple URLs
Hi,I am at a loss as to how to implement this. I would like to be able to automatically assign a number of urls taken from a file to x amount of curl_multi handles determined by the user on the form,
how to put the 0-100 numbers into 1.txt and 100-200 into 2.txt ?
how to put the 0-100 numbers into 1.txt and 100-200 into 2.txt and so on 200-300 into file 3.txt ?in PHP of course.i don't know if i'm really that dumb or is it the 36 hours of no sleep that i can't
Mysql query, two times?
Hello to all,I'm new to php coding and i like it alot. I need help with some noob stuff.1. Having problem with mysql query after submiting HTML form. It's allways execuding two times, that way i have
Sql and php order list script problems
Hi im having a few problems with trying to get the coding right on a orders list ive done (or trying to do) for a custom shopping cart im making... For some reason it comes up with all the orders in
asking for direction
I have 2 tables in my data, which are "post" and "event"I won't make a summary page for showing the condition of these two tables.so what I am thinking is SELECT the fields inside
Need help adding a timestamp to my filename/variable
Hello, I'm kind of stupid when it comes to php and I need a tiny bit of help. I've got a form/php setup that allows a user to upload an image to my server. The upload is working well, and the code
Post PHP form to non-existing page
The company that I work for host their PHP code on IIS on a Windows server, no Apache, so no mod_rewrite. I recently wrote a custom framewok that is loosely based on Codeigniter. To get SEF URL's 'n