使用jquery、ajax和mailer-php脚本的联系人表单在单击提交时不会执行任何操作



我的网站上有一个联系人表单,当用户输入信息并单击提交时,我正在尝试实现发送到电子邮件的功能。因此,理想情况下,联系表格中的信息应该在提交后通过电子邮件发送给我。我试图实现的是使用jQuery、AJAX和我从这里的教程中获得的PHP mailer脚本:http://blog.teamtreehouse.com/create-ajax-contact-form

问题是,当我单击"提交"时,什么都不会发生,也不会重定向任何内容,说明存在错误或告诉我它成功了。唯一要做的就是清除表单字段。我在该网站的评论中读到,邮件程序脚本需要特定版本的PHP,但我对PHP和后端开发没有太多经验。我知道少了什么,只是不确定是什么。似乎缺少一些通信,我没有收到任何javascript错误。在我的.html、.js和.php文件中,所有的id和name属性都匹配。文件也会上传到Bluehost(目前网站所在的位置)。我需要在Bluehost的某个地方安装一个新的PHP版本吗?感谢您的帮助。谢谢

$(document).ready(function(e) {
//e.preventDefault();
$("button").click(function(e) {
var ajax = {
isSubmitting: false,
send: function() {
if(ajax.isSubmitting == false) {
ajax.isSubmitting = true;
var userName = $("input [name=contact-name]"); 
var userEmail = $("input [name=contact-email]"); 
var userWebsite = $("input [name=contact-website]"); 
var userMessage = $("input [name=contact-message]"); 
if(userName === "" || userEmail === "" ||     userWebsite    === "" || userMessage === "") {
alert("Please fill out all required fields.");
} 
else {
$.post("mailer3.php", {
name: userName,
email: userEmail,
website: userWebsite,
message: userMessage
}, function(data) {
ajax.isSubmitting = false;
});
}
}
else alert("Send only 1 email at a time.");
}
}
});
});

PHP

<?php
//PHP Mailer Script
if(count($_POST) > 0) {
$name = $_POST['name'];
$email = $_POST['email'];
$website = $_POST['website'];
$message = $_POST['message'];
$header = "Content-Type: text/htmlrnReply-To:: $emailrnFrom: $name <$email>";
$body = 
@"Email sent from ".$_SERVER['REMOTE_ADDR']." at ".date("d/m/Y     H:i",time())."<br />
<hr />
$message
<hr />
Email end";
if(mail("andrew@ajcwebcreations.com", "You have a new message.", $message, $header)) {
die("true");
} else {
die("Error sending message.");
}
}

?>

Andrew

从头开始,收到了要发送的电子邮件,但电子邮件中不包括输入,只有主题。如果我搞不清楚的话,也许会再发布一个问题。感谢所有花时间添加输入的人!

最新更新