sec231 Posted November 4, 2014 Share Posted November 4, 2014 Im new to PHP so bare with me. I created a form for my website. A person can enter the information and when they hit "submit" all of the information is sent to my email. for example: name: mike state: ca comment: hi my problem is this: some of the entered information is sent, while other entered information is not. I also have a drop down menu that the user can chose from a variety of answers. how do i use php to get that information sent to my email? If this isnt a clear explanation please forgive me b/c Im not so sure how to explain it. Any help is appreciated! Quote Link to comment https://forums.phpfreaks.com/topic/292272-php-coding-issue/ Share on other sites More sharing options...
sec231 Posted November 4, 2014 Author Share Posted November 4, 2014 <?php if(isset($_POST['email'])) { $email_to = "danny@djmgmt.com"; $email_subject = "New Quote Request"; 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['first_name']) || !isset($_POST['last_name']) || !isset($_POST['email']) || !isset($_POST['telephone']) || !isset($_POST['comments'])) { died('We are sorry, but there appears to be a problem with the form you submitted.'); } $first_name = $_POST['first_name']; // required $last_name = $_POST['last_name']; // required $email_from = $_POST['email']; // required $telephone = $_POST['telephone']; // not required $comments = $_POST['comments']; // 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,$first_name)) { $error_message .= 'The First Name you entered does not appear to be valid.<br />'; } if(!preg_match($string_exp,$last_name)) { $error_message .= 'The Last Name you entered does not appear to be valid.<br />'; } if(strlen($comments) < 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($first_name)."\n"; $email_message .= "Last Name: ".clean_string($last_name)."\n"; $email_message .= "Address: ".clean_string($address)."\n"; $email_message .= "Address line 2: ".clean_string($address_2)."\n"; $email_message .= "City: ".clean_string($city)."\n"; $email_message .= "State: ".clean_string($state)."\n"; $email_message .= "Zip Code: ".clean_string($zipcode)."\n"; $email_message .= "Email: ".clean_string($email_from)."\n"; $email_message .= "Telephone: ".clean_string($telephone)."\n"; $email_message .= "How did you hear about D&J: ".clean_string($formhear)."\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); ?> <!-- Success statement --> <b>Thank you for contacting us. A member from our team will be in contact with you shortly.</b><br /><br /> <a href="http://www.djmgmt.com"><strong>Return Home</strong></a> <?php } ?> Quote Link to comment https://forums.phpfreaks.com/topic/292272-php-coding-issue/#findComment-1495720 Share on other sites More sharing options...
sec231 Posted November 4, 2014 Author Share Posted November 4, 2014 html code: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>D&J Management Services Request A Quote</title> </head> <body> <div><b>Please take a few minutes to fill out the information below to help us best meet your needs. A representative from D&J Management Services will contact you shortly. Thanks for your interest. </b> </div><br /> <form name="contactform" method="post" action="quote.php"> <table width="450px"> <tr> <td valign="top"> <label for="first_name">First Name *</label> </td> <td valign="top"> <input type="text" name="first_name" maxlength="50" size="30"> </td> </tr> <tr> <td valign="top""> <label for="last_name">Last Name *</label> </td> <td valign="top"> <input type="text" name="last_name" maxlength="50" size="30"> </td> </tr> <tr> <td valign="top"> <label for="address">Address *</label> </td> <td valign="top"> <input type="text" name="address" maxlength="50" size="30"> </td> </tr> <tr> <td valign="top"> <label for="address_2">Address line 2 </label> </td> <td valign="top"> <input type="text" name="address_2" maxlength="50" size="30"> </td> </tr> <tr> <td valign="top"> <label for="city">City *</label> </td> <td valign="top"> <input type="text" name="city" maxlength="50" size="30"> </td> </tr> <tr> <td valign="top"> <label for="state">State *</label> </td> <td valign="top"> <input type="text" name="state" maxlength="50" size="30"> </td> </tr> <tr> <td valign="top"> <label for="zipcode">Zip Code *</label> </td> <td valign="top"> <input type="text" name="zipcode" maxlength="50" size="30"> </td> </tr> <tr> <td valign="top"> <label for="email">Email Address *</label> </td> <td valign="top"> <input type="text" name="email" maxlength="80" size="30"> </td> </tr> <tr> <td valign="top"> <label for="telephone">Telephone Number *</label> </td> <td valign="top"> <input type="text" name="telephone" maxlength="30" size="30"> </td> </tr> <tr> <td height="34"><p> </p> <p> How did you hear about D&J?: <select name="formhear"> <option value="">Select...</option> <option value="1">I received one of your postcards</option> <option value="2">You work for my neighbor</option> <option value="3">Referred by another person</option> <option value="4">Other (not listed)</option> </select> </p> <p> </p></td> </tr> <tr> <td valign="top"> <label for="comments">Comments *</label> </td> <td valign="top"> <textarea name="comments" maxlength="1000" cols="25" rows="6"></textarea> </td> </tr> <tr> <td colspan="2" style="text-align:center"> <input type="submit" value="Submit"> </td> </tr> </table> </form> </body> </html> Quote Link to comment https://forums.phpfreaks.com/topic/292272-php-coding-issue/#findComment-1495721 Share on other sites More sharing options...
Psycho Posted November 4, 2014 Share Posted November 4, 2014 Did you write the code or did you just copy/paste it from somewhere and are looking to change it? I'm not understanding how you would not see why some fields are not included in the email. For example, you have this as part of the email content creation process $email_message .= "Address: ".clean_string($address)."\n"; But, nowhere in the preceding code did you define $address. Quote Link to comment https://forums.phpfreaks.com/topic/292272-php-coding-issue/#findComment-1495723 Share on other sites More sharing options...
KevinM1 Posted November 4, 2014 Share Posted November 4, 2014 @sec231, please place any code you want to post here within code tags. You can do it by either clicking on the <> button on our text editor, or by manually writing /*your code goes here */ . 1 Quote Link to comment https://forums.phpfreaks.com/topic/292272-php-coding-issue/#findComment-1495724 Share on other sites More sharing options...
sec231 Posted November 4, 2014 Author Share Posted November 4, 2014 I did copy it and then tried to change it with the information that I wanted Quote Link to comment https://forums.phpfreaks.com/topic/292272-php-coding-issue/#findComment-1495725 Share on other sites More sharing options...
ginerjm Posted November 4, 2014 Share Posted November 4, 2014 Yes - this is quite the code sample (improperly posted and difficult to read/comprehend.) from an admitted newcomer to PHP. That said I'll just add that since you obviously didn't write I think we can agree that you are Still a Newbie and will be until you Write Your Own Code. This code is so full of c*** that you would not have written yourself on day one. Why don't you read up on some things like a newcomer should do and then read about how to handle inputs to validate them and then write your own code. THEN ask for help so that you can learn and apply. Quote Link to comment https://forums.phpfreaks.com/topic/292272-php-coding-issue/#findComment-1495727 Share on other sites More sharing options...
sec231 Posted November 4, 2014 Author Share Posted November 4, 2014 thanks so much for the help @ginerjm! Quote Link to comment https://forums.phpfreaks.com/topic/292272-php-coding-issue/#findComment-1495728 Share on other sites More sharing options...
ginerjm Posted November 5, 2014 Share Posted November 5, 2014 HTH if that's how you interpreted it. If not, then all is lost. Quote Link to comment https://forums.phpfreaks.com/topic/292272-php-coding-issue/#findComment-1495746 Share on other sites More sharing options...
7blake Posted November 5, 2014 Share Posted November 5, 2014 Maybe trying simplifiying the application down to one input field just so you can understand how it works. That way, once you understand what is happening, you can add more fields and make it more complex. If you understand your foundations, it's easier to spot where the issues are. Just a suggestion. gl 1 Quote Link to comment https://forums.phpfreaks.com/topic/292272-php-coding-issue/#findComment-1495748 Share on other sites More sharing options...
ginerjm Posted November 5, 2014 Share Posted November 5, 2014 Excellent point 7blake! A great teaching moment. Quote Link to comment https://forums.phpfreaks.com/topic/292272-php-coding-issue/#findComment-1495792 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.