2013-05-20 2 views
-2

Невозможно понять, почему эта контактная форма не работает, указатели будут великолепны ... хотите отправить форму через ajax и сериализовать данные, которые будут отправлены через .. просто не кажется работать though..hope кто-то может помочьPHP Простой контактный формуляр Не работает Не уверен WHY

HTML

<form method="post" action="" id="contact_form"> 
    <div class="row"> 
       <div class="large-6 columns"> 
        <label for="contact_name">Your Name</label> 
        <input type="text" placeholder="" id="contact_name" name="contact_name" class="required"> 
       </div> 
       <div class="large-6 columns"> 
        <label for="contact_email">Your Email</label> 
        <input type="text" placeholder="" id="contact_email" name="contact_email" class="required"> 
       </div> 
      </div> 
      <div class="row"> 
       <div class="large-6 columns"> 
        <label for="contact_company">Company Name or Organization</label> 
        <input type="text" placeholder="" id="contact_company" name="contact_company" class="required"> 
       </div> 
       <div class="large-6 columns"> 
        <label for="contact_phone">Phone Number</label> 
        <input type="text" placeholder="" id="contact_phone" name="contact_phone" class="required"> 
       </div> 
      </div> 
      <div class="row"> 
       <div class="large-12 columns"> 
        <label for="contact_message">Your Message</label> 
        <textarea rows="4" placeholder="" id="contact_message" name="contact_message" class="required"></textarea> 
       </div> 
      </div> 
      <div class="row"> 
       <div class="large-12 columns"> 
        <input type="submit" name="contact_submit" id="contact_submit" value="SEND MESSAGE" class="button"> 
       </div> 
      </div> 

     </form> 

     <p class="success" style="display:none">Your message has been 
       sent successfully.</p> 


mail.php

<?php 

$name = $POST['contact_name'] ; 
$email = $POST['contact_email'] ; 
$company = $_POST['contact_company'] ; 
$number = $_POST['contact_phone'] ; 
$message = $POST['contact_message'] ; 

mail("[email protected]", $name, $company, $number, $message, "From:" . $email); 
    ?> 

JS файл

$(document).ready(function() { 

    $('#contact_form').validate({ 

    submitHandler: function(form) { 
     //do submit 

      var dataString = $("this").serialize(); 
      //alert (dataString);return false; 
      $.ajax({ 
      type: "POST", 
      url: "php/mail.php", 
      data: dataString, 
      success: function() { 
      $('.success').fadeIn(1000); 
       $("input[type=text], textarea").val(""); 
       $('.success').fadeToggle(1000); 
     } 
     }); 
      return false; 
    } 
}); 
}); 
+1

Изменение '$ Post' в' $ _POST' и, пожалуйста, объясните, что вы испробовали уже решить – kero

+0

Привет, это сначала требует базовой отладки. Что именно не работает? Что показывают результаты тестирования в JavaScript и PHP - это когда-либо сделанный запрос? Передаются ли данные когда-либо? –

+0

Теперь он работает, но он, кажется, не посылает никаких данных и попадает в мою нежелательную почту .. странно .. – AC88

ответ

3

Вы совершили некоторые ошибки. Используйте следующий код:

<?php 
$name = $_POST['contact_name'] ; 
$email = $_POST['contact_email'] ; 
$company = $_POST['contact_company'] ; 
$number = $_POST['contact_phone'] ; 
$message = $_POST['contact_message'] ; 

//modify the mail function 
mail("[email protected]", $name.$company, $message, "From:" . $email); 
?> 

А в JS изменить ниже:

success: function(returnData) { 
     $('.success').fadeIn(1000); 
     $("input[type=text], textarea").val(""); 
     //$('.success').fadeToggle(1000); 

    }