GreenTex Posted December 18, 2016 Share Posted December 18, 2016 (edited) Hello, I have created a contact form for a user to fill out. When they hit the submit button it is supposed to be sent to my email address. The form is submitting and takes me to the "thank you for submitting" page. However, I am not receiving the emails. How do I get this form to send this information to my email? This is the contact form: <form method="post" name="contactform" action="mail.php" > <table align="center"> <tr> <td colspan="2"><h2>Questions </h2></td> </tr> <tr> <td ><label for="name">Name</label></td> <td><input type="text" name="name" maxlength="30" size="30"></td> </tr> <tr> <td><label for="email">Email</label></td> <td><input type="text" name="email" maxlength="80" size="30"></td> </tr> <tr><td><label for="line">Subject</label></td> <td><input name="line" type="text" maxlength="50" size="30"></td></tr> <tr> <td colspan="2"><label for="message"></label><textarea rows="15" cols="40" name="message">Write your questions here.</textarea></td></tr> <tr><td colspan="2"><input type="submit" value="Send"/> </td></tr> </table></form> This is my php form: <?php if(isset($_POST['email'])) { // EDIT THE 2 LINES BELOW AS REQUIRED $email_to = "myemail@gmail.com"; $email_subject = "Dundrea Tactical Customer Comments and Questions"; 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['email']) || !isset($_POST['line']) || !isset($_POST['message'])) { 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 $line = $_POST['line']; // not required $message = $_POST['message']; // required $error_message = ""; $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 />'; } $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,$line)) { $error_message .= 'The subject 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 .= "Name: ".clean_string($name)."\n"; $email_message .= "Email: ".clean_string($email_from)."\n"; $email_message .= "Subject: ".clean_string($line)."\n"; $email_message .= "Message: ".clean_string($message)."\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); } ?> Thank you for your time and help Edited December 18, 2016 by GreenTex Quote Link to comment Share on other sites More sharing options...
requinix Posted December 18, 2016 Share Posted December 18, 2016 Thank you page? Where is that? I don't see any message in the PHP: if everything works then you should get a blank page. Quote Link to comment Share on other sites More sharing options...
GreenTex Posted December 18, 2016 Author Share Posted December 18, 2016 Solved it. Thanks. Quote Link to comment Share on other sites More sharing options...
ginerjm Posted December 18, 2016 Share Posted December 18, 2016 (edited) oops - Thought I saw something. Edited December 18, 2016 by ginerjm 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.