Проблемы с контактной формой Ajax – не отправляется электронное письмо

Извините за нобе, но я стараюсь изо всех сил. Я сделал и прочитал все, что мог найти, и у меня никогда не было этого, чтобы работать. Было бы очень полезно помочь. Идентификатор формы совпадает с html и javascript. PHP связан в Javascript, и у меня есть javascript, связанный в голове моего html. Что мне не хватает? Я пробовал другие коды, которые я нашел в Интернете, и ничего. Проблема в том, что ни одно электронное письмо не отправляется. Если вы нажмете отправить перезагрузку страницы, и все.

<!--[if lte IE 8]><script src="js/html5shiv.js"></script><![endif]--> <script src="http://code.jquery.com/jquery-migrate-1.2.1.min.js"></script> <script src="js/jquery.min.js"></script> <script src="js/jquery.dropotron.js"></script> <script src="js/skel.min.js"></script> <script src="js/skel-panels.min.js"></script> <script src="js/init.js"></script> <script src="js/contact.js"></script> <noscript> <link rel="stylesheet" href="css/skel-noscript.css" /> <link rel="stylesheet" href="css/style.css" /> <link rel="stylesheet" href="css/style-noscript.css" /> </noscript> <!-- Contact Form--> <div class="content style4 featured"> <div class="container small"> <form id="contact" form method="post"> <div class="row half"> <div class="6u"><input type="text" class="text" name="name" placeholder="Name" /></div> <div class="6u"><input type="text" class="text" placeholder="Email" name="email" /></div> </div> <div class="row half"> <div class="12u"><textarea name="text" placeholder="Message"></textarea></div> </div> <div class="row"> <div class="12u"> <ul class="actions"> <li><input type="submit" class="button" value="Send Message" /></li> <li><input type="reset" class="button alt" value="Clear Form" /></li> <p class="success" style="display:none">Your message has been sent successfully.</p> <p class="error" style="display:none">E-mail must be valid and message must be longer than 100 characters.</p> </ul> </div> </div> </form> </div> </div> 

PHP

 <?php // Email Submit // Note: filter_var() requires PHP >= 5.2.0 if ( isset($_POST['email']) && isset($_POST['name']) && isset($_POST['text']) && filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) ) { // detect & prevent header injections $test = "/(content-type|bcc:|cc:|to:)/i"; foreach ( $_POST as $key => $val ) { if ( preg_match( $test, $val ) ) { exit; } } //send email mail( "test@gmail.com", "Contact Form: ".$_POST['name'], $_POST['text'], "From:" . $_POST['email'] ); } ?> 

JS

  $('#contact').submit(function() { var name = $("#name").val(); var email = $("#email").val(); var message = $("#message").val(); var dataString = 'name=' + name + '&email=' + email + '&message=' + message; $.ajax({ type : "POST", url : "mail.php", data : dataString, cache : false, success : function() { $("#contact").fadeOut(300); $("#notice").fadeIn(400); } }); return false; }); 

Благодарю.

Возможно, ваш js-код запускается до загрузки jQuery. Попробуйте включить jQuery перед другими js-файлами:

 <script src="http://code.jquery.com/jquery-1.10.1.min.js"></script> <script src="http://code.jquery.com/jquery-migrate-1.2.1.min.js"></script> <script src="js/jquery.dropotron.js"></script> <script src="js/skel.min.js"></script> <script src="js/skel-panels.min.js"></script> <script src="js/init.js"></script> <script src="js/contact.js"></script> 

Кстати, вам просто нужно включить jQuery один раз, а не дважды.

В вашем текстовом поле есть name="message" тогда как вы ищете isset($_POST['text']) в коде обработчика отправки