我正在使用JQuery和AJAX发布到PHP文件,该文件最终将解析数据并将其插入数据库中。
我有问题显示试图查看我的javascript有什么问题它不会发布PHP文件。
我知道它不会发布,因为我没有收到并发送电子邮件,这是PHP文件中的第一个功能。
JS
$(document).ready(function() {
var ptitle = $("#name").val();
var pdesc = $("#desc").val();
var pemail = $("#email.").val();
$('#submit').click(function() {
sendValue(ptitle, pdesc, pemail);
});
});
function sendValue(ptitle, pdesc, pemail) {
$.post("<?=MOLLY.'update.php'?>", {
stitle: ptitle,
sdesc: pdesc,
semail: pemail
}, function(data) {
//
}, "json");
}
PHP
mail($myemail,'test','test');
if ($_POST){
$title = $_POST['stitle'];
$email = $_POST['semail'];
mail($myemail,$email,$title);
}
答案 0 :(得分:1)
你有一个错字:
$(document).ready(function() {
var ptitle = $("#name").val();
var pdesc = $("#desc").val();
var pemail = $("#email.").val(); // <---- I assume you meant "#email".
$('#submit').click(function() {
sendValue(ptitle, pdesc, pemail);
});
});
答案 1 :(得分:0)
首先检查您的PHP文件是否运行,用以下内容替换内容:
PHP
echo "Im running";
然后在你的JS中:
$.post("<?=MOLLY.'update.php'?>", function(data) {
console.log(data);
}, "json");
并查看是否返回消息并在控制台中记录。 如果是,请通过回显您发送的值来检查$ _POST,同时回显您的电子邮件变量以查看它是否正确输出。
如果一切正常,您需要检查您的服务器是否已正确设置,以便邮件命令能够实际发送电子邮件,因为问题很可能是在其他所有内容都被消除时的服务器端。
哦,你应该做cillosis所说的,使用isset并检查$ _POST超全局中的内容,而不只是if($_POST)
,但是因为你在PHP之前运行邮件功能,这可能不是你的主要问题。