2016-08-25 139 views
-1

我收到來自我網站聯繫表格的電子郵件,但沒有收到任何內容。php聯繫表格發送沒有信息的電子郵件

這裏是我的代碼:

PHP

<?php 

$name  = @trim(stripslashes($_POST["name"])); 
$from  = @trim(stripslashes($_POST["email"])); 
$subject = @trim(stripslashes($_POST["subject"])); 
$message = @trim(stripslashes($_POST["message"])); 

// recipient address 
$to = "[email protected]"; 

// subject of email 
$re = "New Inquiry"; 

// message creation 
$contact = "Name:".$name."\nEmail:".$from."\nSubject:".$subject."\r\n"; 

$txt = "Message:".$message."\r\n"; 


$fmsg = $contact."\r\n".$txt; 

$msg = wordwrap($fmsg, 70); 

// send email 
mail($to,$re,$msg); 

die; 

HTML

<form id="main-contact-form" name="contact-form" method="post" action="sendemail.php"> 
    <div class="form-group"> 
     <input type="text" name="name" id="name" class="form-control" placeholder="Name" required> 
    </div> 
    <div class="form-group"> 
     <input type="email" name="email" id="email" class="form-control" placeholder="Email" required> 
    </div> 
    <div class="form-group"> 
     <input type="text" name="subject" id="subject" class="form-control" placeholder="Subject" required> 
    </div> 
    <div class="form-group"> 
     <textarea name="message" id="message" class="form-control" rows="8" placeholder="Message" required></textarea> 
    </div> 
    <button type="submit" class="btn btn-primary">Send Message</button> 
</form> 

的Javascript

// Contact form 
var form = $('#main-contact-form'); 
form.submit(function(event){ 
    event.preventDefault(); 
    var form_status = $('<div class="form_status"></div>'); 
    $.ajax({ 
     url: $(this).attr('action'), 
     beforeSend: function(){ 
      form.prepend(form_status.html('<p><i class="fa fa-spinner fa-spin"></i> Email is sending...</p>').fadeIn()); 
     } 
    }).done(function(data){ 
     form_status.html('<p class="text-success">Thank you for contact us. As early as possible we will contact you</p>').delay(3000).fadeOut(); 
    }); 
}); 

網站:deptfordtechservices.com

由於提前,

大衛

+0

電子郵件是完全空的,或者只是變量應該被填充的地方?它是否具有諸如'Name:','Message:'等的內容? – Barmar

+0

我複製了你的PHP腳本,它正在工作。 http://prntscr.com/ca3ra6 – sloaxleak

+0

@Barmar是的,在那之後就沒有了。 –

回答

3

JavaScript的不發送的形式輸入。它需要一個data:選項來提供參數,並且它需要使用type: 'POST',因此它會發送一個POST而不是GET

// Contact form 
var form = $('#main-contact-form'); 
form.submit(function(event){ 
    event.preventDefault(); 
    var form_status = $('<div class="form_status"></div>'); 
    $.ajax({ 
     url: $(this).attr('action'), 
     type: 'POST', 
     data: $(this).serialize(), 
     beforeSend: function(){ 
      form.prepend(form_status.html('<p><i class="fa fa-spinner fa-spin"></i> Email is sending...</p>').fadeIn()); 
     } 
    }).done(function(data){ 
     form_status.html('<p class="text-success">Thank you for contact us. As early as possible we will contact you</p>').delay(3000).fadeOut(); 
    }); 
}); 
+0

這打破了我的java動畫的其餘部分和所有... –

+0

對不起,我有一個錯字,一個';'我的意思是','。難道你不能從Javascript控制檯中的錯誤中弄清楚嗎? – Barmar

+0

你是否真的需要每一個細節勺餵給你?編寫'main.js'的程序員在哪裏? – Barmar