TheNyru Posted October 17, 2013 Share Posted October 17, 2013 Hello all, Fist post and just to let you know I am VERY new to PHP. I have a form which I would like to send me an email with all the form data when the user click the submit button. I am sure the code it terribly wrong so would appreciate all the help I can get haha. HTML <!DOCTYPE html> <html dir="ltr" lang="en-US"><head> <meta charset="utf-8"> <title>Bonners Music Academy</title> <meta name="viewport" content="initial-scale = 1.0, maximum-scale = 1.0, user-scalable = no, width = device-width"> <!--[if lt IE 9]><script src="https://html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]--> <link rel="stylesheet" href="style.css" media="screen"> <!--[if lte IE 7]><link rel="stylesheet" href="style.ie7.css" media="screen" /><![endif]--> <link rel="stylesheet" href="style.responsive.css" media="all"> <script src="jquery.js"></script> <script src="script.js"></script> <script src="script.responsive.js"></script> <meta name="description" content="Why not enquire about lessons at Bonners Music Academy."> <meta name="keywords" content="Bonners, Music, School, Guitar, Bass, Drums, Drum, Piano, Keyboard, Lessons, Acoustic"> <style>.art-content .art-postcontent-0 .layout-item-0 { padding-right: 10px;padding-left: 10px; } .ie7 .post .layout-cell {border:none !important; padding:0 !important; } .ie6 .post .layout-cell {border:none !important; padding:0 !important; } </style></head> <body> <div id="art-main"> <div class="art-sheet clearfix"> <header class="art-header"> <div class="art-shapes"> </div> </header> <nav class="art-nav"> <ul class="art-hmenu"><li><a href="home.html" class="">Home</a></li><li><a href="about-us.html" class="">About Us</a></li><li><a href="teachers.html" class="">Teachers</a></li><li><a href="prices.html" class="">Prices</a></li><li><a href="term-dates.html" class="">Term Dates</a></li><li><a href="enquiries.html" class="active">Enquiries</a></li><li><a href="contact-us.html">Contact Us</a></li><li><a href="instrument-sales.html">Instrument Sales</a></li></ul> </nav> <div class="art-layout-wrapper"> <div class="art-content-layout"> <div class="art-content-layout-row"> <div class="art-layout-cell art-content"><article class="art-post art-article"> <div class="art-postcontent art-postcontent-0 clearfix"><div class="art-content-layout"> <div class="art-content-layout-row"> <div class="art-layout-cell layout-item-0" style="width: 100%" > <h1 style="margin-bottom: 20px; background-color: transparent; color: rgb(73, 64, 62); text-shadow: rgba(0, 0, 0, 0.496094) 0px -1px 0px, rgba(255, 255, 255, 0.34375) 0px 1px 0px;"><span style="font-family: Tahoma; font-size: 20px; text-shadow: rgba(23, 23, 23, 0.496094) 1.4px 1.4px 0px; color: #161616;">Enquire About Lessons Online</span></h1> </div> </div> </div> <div class="art-content-layout"> <div class="art-content-layout-row"> <div class="art-layout-cell layout-item-0" style="width: 100%" > <p><span style="font-family: Tahoma;"><span style="background-color: transparent; font-weight: bold; color: #161616;">Fill in the Form Now and You Will be Contacted with Current Availability.</span></span></p> <p><span style="font-family: Tahoma;"><span style="background-color: transparent; color: #161616;">Please note: By completing this form you are under no obligation to sign up for lessons until you have agreed your confirmed class time.</span></span><br></p> </div> </div> </div> <div class="art-content-layout"> <div class="art-content-layout-row"> <div class="art-layout-cell layout-item-0" style="width: 100%" > <center> <form action="./files/mailer.php" method="post"> <div><label>Students First Name & Surname</label> *<br> <input class="form-input-field" type="text" value="" name="element0" size="100"><br> <br> <label>Students Age:</label> *<br> <input class="form-input-field" type="text" value="" name="element1" size="100"><br> <br> <label>Students Full Address:</label> *<br> <textarea class="form-input-field" name="element2" rows="8" cols="103"></textarea> <br> <br> <label>Students Post Code:</label> *<br> <input class="form-input-field" type="text" value="" name="element3" size="100"><br> <br> <label>Parent/Guardians Name & Surname (If pupil under 18):</label><br> <input class="form-input-field" type="text" value="" name="element4" size="100"><br> <br> <label>Home Phone Number:</label> *<br> <input class="form-input-field" type="text" value="" name="element5" size="100"><br> <br> <label>Mobile Number:</label><br> <input class="form-input-field" type="text" value="" name="element6" size="100"><br> <br> <label>Your Email Address:</label> *<br> <input class="form-input-field" type="text" value="" name="element7" size="100"><br> <br> <label>Which Instrument Are You Interested In?</label> *<br> <select name="element8"> <option value="Acoustic Guitar">Acoustic Guitar</option> <option value="Electric Guitar">Electric Guitar</option> <option value="Bass Guitar">Bass Guitar</option> <option value="Drums">Drums</option> <option value="Piano">Piano</option> <option value="Keyboard">Keyboard</option> <option value="Ukulele">Ukulele</option> <option value="Music Theory">Music Theory</option> </select><br> <br> <label>What Lesson Type Are You Interested In?</label> *<br> <select name="element9"> <option value="Beginners Lesson Intro Course (Group)">Beginners Lesson Intro Course (Group)</option> <option value="Private Lessons">Private Lessons</option> </select><br> <br> <label>Any Other Relevant Info (i.e Previous Experience):</label><br> <textarea class="form-input-field" name="element10" rows="8" cols="103"></textarea> <br> <br> <div style="display: none;"><label>Spam Protection: Please don't fill this in:</label> <textarea name="comment" rows="1" cols="1"></textarea></div> <input class="form-input-button" type="reset" name="resetButton" value="Reset"> <input class="form-input-button" type="submit" name="submitButton" value="Submit"></div> </form> </center> </div> </div> </div> </div> </article></div> </div> </div> </div> </div> <footer class="art-footer"> <div class="art-footer-inner"> <p>Copyright © 2013, Bonners Music Academy All Rights Reserved.</p> </div> </footer> </div> </body></html> PHP <?phpif(isset($_POST['submit'])) {$to = "dannys@bonnersmusic.co.uk";$subject = "Music School Enquiry";// data the visitor provided$name_field = filter_var($_POST['element0'], FILTER_SANITIZE_STRING);$age_field = filter_var($_POST['element1'], FILTER_SANITIZE_STRING);$address_field = filter_var($_POST['element2'], FILTER_SANITIZE_STRING);$postcode_field = filter_var($_POST['element3'], FILTER_SANITIZE_STRING);$parent_field = filter_var($_POST['element4'], FILTER_SANITIZE_STRING);$homeno_field = filter_var($_POST['element5'], FILTER_SANITIZE_STRING);$mobileno_field = filter_var($_POST['element6'], FILTER_SANITIZE_STRING);$email_field = filter_var($_POST['element7'], FILTER_SANITIZE_STRING);$instrument_field = filter_var($_POST['element8'], FILTER_SANITIZE_STRING);$type_field = filter_var($_POST['element9'], FILTER_SANITIZE_STRING);$other_field = filter_var($_POST['element10'], FILTER_SANITIZE_STRING);//constructing the message$body = " Students First Name & Surname: $name_field\n\n Students Age: $age_field\n\n Students Full Address: $address_field\n\n Students Post Code: $postcode_field\n\n Parent/Guardians Name & Surname (If pupil under 18): $parent_field\n\n Home Phone Number: $homeno_field\n\n Mobile Number: $mobileno_field\n\n Email Address: $email_field\n\n Which Instrument: $instrument_field\n\n Lesson Type: $type_field\n\n Other Information: $other_field";// ...and away we go!mail($to, $subject, $body);// redirect to confirmationheader('Location: http://www.bonnersmusicschool.co.uk/thank-you.html');} else {// handle the error somehow}?> Thank you for any help you can give Quote Link to comment https://forums.phpfreaks.com/topic/283048-trying-to-get-php-to-email-a-form/ Share on other sites More sharing options...
jazzman1 Posted October 17, 2013 Share Posted October 17, 2013 Change, isset($_POST['submit'])) to isset($_POST['submitButton']) // add an exit command to terminate the script // when the page has been redirected // redirect to confirmation header('Location: http://www.bonnersmu...ank-you.html'); exit; You should also spend time to learn more about debugging process! Quote Link to comment https://forums.phpfreaks.com/topic/283048-trying-to-get-php-to-email-a-form/#findComment-1454276 Share on other sites More sharing options...
cyberRobot Posted October 17, 2013 Share Posted October 17, 2013 For what it's worth, the <label> tags need to be attached to the form fields. For more information, see: http://www.cyberscorpion.com/2012-02/making-html-forms-more-accessible-and-improving-usability-with-the-label-tag/ Also, there is a specific filter for email addresses: http://php.net/manual/en/filter.examples.validation.php Quote Link to comment https://forums.phpfreaks.com/topic/283048-trying-to-get-php-to-email-a-form/#findComment-1454279 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.