2016-08-25 175 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

相关问题