所以我有一个通过jQuery AJAX提交的表单,大约18个参数被传递给一个php文件。现在,每当我尝试提交表单时,都会达到这么多参数的堆栈限制。但是当我切断一半的论点时,表格工作正常,电子邮件被收到。但是我收到的电子邮件没有任何正文。
阿贾克斯:
$.ajax({
url: "sendemail.php",
method: "post",
data: {
name: name,
email: email,
number: number,
username: username,
country: country,
cname: cname,
ctype: ctype,
ctheme: ctheme,
domainname: domainname,
webhosting: webhosting,
seo: seo,
gadvertising: gadvertising,
cmarketing: cmarketing,
ptech: ptech,
details: details,
description: description
},
success: function () {
alert("Hey brotha");
}
}).fail(function () {
$("#confdiv").html("<p class='alert alert-danger'>There was an error submitting your form. Please try again later or contact us at <a href='mailto:sobanr4@gmail.com'>EMAIL</a></p>");
window.scrollTo(0, 100);
});
PHP 脚本是:
<?php
if (isset($_POST['name']) && $_POST['name'] != "") {
$to = "sobanr4@gmail.com";
$subject = "Website Order Request";
$headers = "From: <".$_POST['email'].">rn";
$headers .= "MIME-Version: 1.0" . "rn";
$headers .= "Content-type:text/html;charset=UTF-8" . "rn";
$body = "<html>
<head>
<title>Order Request - ".$_POST['name']."</title>
</head>
<body>
<p>NAME: ".$_POST['name']."</p>
<p>EMAIL: ".$_POST['email']."</p>
<p>NUMBER: ".$_POST['number']."</p>
<p>USERNAME: ".$_POST['username']."</p>
<p>COUNTRY: ".$_POST['country']."</p>
<p>COMPANY NAME: ".$_POST['cname']."</p>
<p>TYPE: ".$_POST['ctype']."</p>
<p>THEME: ".$_POST['ctheme']."</p>
<p>DOMAIN NAME: ".$_POST['domainname']."</p>
<p>WEB HOSTING: ".$_POST['webhosting']."</p>
<p>SEO: ".$_POST['seo']."</p>
<p>GOOGLE ADVERTISING: ".$_POST['gadvertising']."</p>
<p>CONTENT MARKETING: ".$_POST['cmarketing']."</p>
<p>PERMANENT TECHNICIAN: ".$_POST['ptech']."</p>
<br><br><br>
<p>DETAILS: ".$_POST['details']."</p>
<br><br><br>
<p>DESCRIPTION: ".$_POST['description']."</p>
</body>
</html>";
if (mail($to,$subject,$$body,$headers)) {
echo 1;
} else {
echo 0;
};
}
?>
表格可以在这里找到:http://www.henryspike.tk/testform
好的,我认为一定是单选按钮。
你得到它们的价值是这样的:
var seo = $("#seo").val();
var gadvertising = $("#gadvertising").val();
var cmarketing = $("#cmarketing").val();
var ptech = $("#ptech").val();
但它应该是这样的:
var seo = $("#seo:checked").val();
var gadvertising = $("#gadvertising:checked").val();
var cmarketing = $("#cmarketing:checked").val();
var ptech = $("#ptech:checked").val();
我还没有测试过这个...但你很容易尝试。
解决方案:
所有这些混乱,最终的问题是我的javascript中的一个变量被错误地拼写为"ctheme"而不是"theme"。
空白电子邮件问题已解决,因为我输入了"$$body"而不是"$body"。
无论如何,感谢每个人的帮助,尤其是@KIKOSoftware
PS:我想这是对编程世界的欢迎。