klio909 Posted October 7, 2015 Share Posted October 7, 2015 (edited) Hi Can someone help me with my contact form please? I'm getting this error message: We are very sorry, but there were error(s) found with the form you submitted. These errors appear below.The Address you entered does not appear to be valid.The Email Address you entered does not appear to be valid.Please go back and fix these errors. Here is my php code: PHP <?php if(isset($_POST['email'])) { // CHANGE THE TWO LINES BELOW $email_to = "info@lmydomain.com"; $email_subject = "website html form submissions"; 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 if(!isset($_POST['name']) || !isset($_POST['telephone']) || !isset($_POST['email']) || !isset($_POST['address']) || !isset($_POST['postcode']) || !isset($_POST['message'])) { died('We are sorry, but there appears to be a problem with the form you submitted.'); } $name = $_POST['name']; // required $telephone = $_POST['telephone']; // required $email = $_POST['email']; // required $address = $_POST['address']; // required $postcode = $_POST['postcode']; // not required $message = $_POST['message']; // required $error_message = ""; $string_exp = "/^[A-Za-z .'-]+$/"; if(!preg_match($string_exp,$name)) { $error_message .= 'The Name you entered does not appear to be valid.<br />'; } if(!preg_match($string_exp,$address)) { $error_message .= 'The Address you entered does not appear to be valid.<br />'; } $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.<br />'; } if(strlen($message) < 2) { $error_message .= 'The Comments 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 .= "First Name: ".clean_string($name)."\n"; $email_message .= "Telephone: ".clean_string($telephone)."\n"; $email_message .= "Email Address: ".clean_string($email)."\n"; $email_message .= "Address: ".clean_string($address)."\n"; $email_message .= "Postcode: ".clean_string($postcode)."\n"; $email_message .= "Type_your_enquiry_here: ".clean_string($message)."\n"; // create email headers $headers = 'From: '.$email."\r\n". 'Reply-To: '.$email."\r\n" . 'X-Mailer: PHP/' . phpversion(); @mail($email_to, $email_subject, $email_message, $headers); ?> <!-- place your own success html below --> Thank you for contacting us. We will be in touch with you shortly. <?php } die(); ?> Edited October 7, 2015 by cyberRobot added [code][/code] tags Quote Link to comment Share on other sites More sharing options...
cyberRobot Posted October 7, 2015 Share Posted October 7, 2015 Hi Can someone help me with my contact form please? I'm getting this error message: We are very sorry, but there were error(s) found with the form you submitted. These errors appear below. The Address you entered does not appear to be valid. The Email Address you entered does not appear to be valid. Please go back and fix these errors. Has the form worked before? Do you always get those errors no matter what is entered into the address and email address fields? It would also help to know what you are entering into those form fields. Side note: PHP has a built-in process for validating email addresses. More information can be found here: http://php.net/manual/en/filter.examples.validation.php Quote Link to comment Share on other sites More sharing options...
klio909 Posted October 7, 2015 Author Share Posted October 7, 2015 The form didn't work before as I created it for my website. The error always appear no matter what I will insert there. I don't know where is the issue:-( Quote Link to comment Share on other sites More sharing options...
cyberRobot Posted October 7, 2015 Share Posted October 7, 2015 @klio909 - I added tags around the code in your original post. Unfortunately, your form code seems to have disappeared with the change. Would you mind posting the form code again? Sorry for the inconvenience! Quote Link to comment Share on other sites More sharing options...
Solution cyberRobot Posted October 7, 2015 Solution Share Posted October 7, 2015 (edited) One thing that I noticed is that the email entered through the form is being saved to $email. $email = $_POST['email']; But the if test uses $email_from. if(!preg_match($email_exp,$email_from)) { Edited October 7, 2015 by cyberRobot Quote Link to comment Share on other sites More sharing options...
klio909 Posted October 7, 2015 Author Share Posted October 7, 2015 (edited) <!--contact--> <div class="contact" id="contact"> <h3 class="tittle two">Contact us</h3> <div class="contact-top"> <div class="col-md-8 contact-top-right"> <form name="contactform" method="post" action="html_form_send.php"> <input type="text" name="name" class="text" value="Name" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'name';}"> <input type="text" name="telephone" class="text" value="Telephone" onfocus="this.value = '';" onblur=" if (this.value == '') { this.value = 'telephone'; }"> <input type="text" name="email" class="text" value="Email Address" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'email';}"> <input type="text" name="address" class="text" value="Address" onfocus="this.value = '';" onblur=" if (this.value == '') { this.value = 'address'; }"> <input type="text" name="postcode" class="text" value="Postcode" onfocus="this.value = '';" onblur=" if (this.value == '') { this.value = 'postcode'; }"> <textarea name="message" value="Type your enquiry here" onfocus="this.value = '';" onblur=" if (this.value == '') { this.value = 'Type your enquiry here'; }">Type your enquiry here</textarea> <div class="sub-button"> <input type="submit" value="SEND"><a href="http://www.mydomain.com/html_form_send.php"></a> </div> </form> Edited October 7, 2015 by klio909 Quote Link to comment Share on other sites More sharing options...
klio909 Posted October 7, 2015 Author Share Posted October 7, 2015 <?php if(isset($_POST['email'])) { // CHANGE THE TWO LINES BELOW $email_to = "info@.com"; $email_subject = "website html form submissions"; 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 if(!isset($_POST['name']) || !isset($_POST['telephone']) || !isset($_POST['email']) || !isset($_POST['address']) || !isset($_POST['postcode']) || !isset($_POST['message'])) { died('We are sorry, but there appears to be a problem with the form you submitted.'); } $name = $_POST['name']; // required $telephone = $_POST['telephone']; // required $email = $_POST['email']; // required $address = $_POST['address']; // required $postcode = $_POST['postcode']; // not required $message = $_POST['message']; // required $error_message = ""; $string_exp = "/^[A-Za-z .'-]+$/"; if(!preg_match($string_exp,$name)) { $error_message .= 'The Name you entered does not appear to be valid.<br />'; } if(!preg_match($string_exp,$address)) { $error_message .= 'The Address you entered does not appear to be valid.<br />'; } $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.<br />'; } if(strlen($message) < 2) { $error_message .= 'The Comments 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 .= "First Name: ".clean_string($name)."\n"; $email_message .= "Telephone: ".clean_string($telephone)."\n"; $email_message .= "Email Address: ".clean_string($email)."\n"; $email_message .= "Address: ".clean_string($address)."\n"; $email_message .= "Postcode: ".clean_string($postcode)."\n"; $email_message .= "Type_your_enquiry_here: ".clean_string($message)."\n"; // create email headers $headers = 'From: '.$email."\r\n". 'Reply-To: '.$email."\r\n" . 'X-Mailer: PHP/' . phpversion(); @mail($email_to, $email_subject, $email_message, $headers); ?> <!-- place your own success html below --> Thank you for contacting us. We will be in touch with you shortly. <?php } die(); ?> Quote Link to comment Share on other sites More sharing options...
cyberRobot Posted October 7, 2015 Share Posted October 7, 2015 (edited) Are you entering numbers into the "address" field? If so, that's not going to work with how the regular expression is set up. Is there a reason you're trying to validate the mailing address? I imagine it will be difficult to make sure every valid character is accounted for. Edited October 7, 2015 by cyberRobot Quote Link to comment Share on other sites More sharing options...
klio909 Posted October 7, 2015 Author Share Posted October 7, 2015 thank you @cyberRobot the issue was $email_from) i chaned it to $email and it works perfect! thanks a lot :-) Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.