Hello I am uploading a site and the contact form is working fine (recieving the messages) but the page after submission is giving me an error
here is my php code
I am just learning HTML/CSS i dont no any PHP. It would be nice to fix this error and please tell me how to post a "thanks your your message was recieved"
Thank you ahead of time any feedback is much appreciated have a great day!
<?php
if(!$_POST) exit;
$email = $_POST['email'];
//$error[] = preg_match('/\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b/i',
$_POST['email']) ? '' : 'INVALID EMAIL ADDRESS';
if(!eregi("^[a-z0-9]+([_\\.-][a-z0-9]+)*" ."@"."([a-z0-9]+([\.-][a-z0-9]+)*)+"."\ \.
[a-z]{2,}"."$",$email )){
$error.="Invalid email address entered";
$errors=1;
}
if($errors==1) echo $error;
else{
$values = array ('name','email','message');
$required = array('name','email','message');
$your_email = "xxxxxxxxxx@gmail.com";
$email_subject = "New Message: ".$_POST['subject'];
$email_content = "new message:
";
foreach($values as $key => $value){
if(in_array($value,$required)){
if ($key != 'subject' && $key != 'company') {
if( empty($_POST[$value]) ) { echo 'PLEASE FILL IN REQUIRED FIELDS'; exit;
}
}
$email_content .= $value.': '.$_POST[$value]."
";
}
}
if(@mail($your_email,$email_subject,$email_content)) {
echo 'Message sent!';
} else {
echo 'ERROR!';
}
}
?>
no offense, but you need to work on making proper indents so you can clearly see the problem.
Here is a cleaner version of your code.
$required = array('name','email','message');
$temp = '';
$err = array();
foreach ($required as $value) {
if ($_POST[$value] == '') $err[] = 'Field '.$value.' is required';
$temp .= $value.': '.$_POST[$value]."
";
}
if (count($err) > 0) {
echo implode('<br />',$err);
exit;
}
$your_email = "xxxxxxxxx@gmail.com";
$email_subject = "New Message: ".$_POST['subject'];
$email_content = "new message:
".$temp;
if (mail($your_email,$email_subject,$email_content)) echo 'Message sent';
else echo 'Message not sent';