虽然在同一函数中的var_dump显示数据,但在PHP函数中不能工作
问题描述:
我很困惑。我有一个JavaScript函数发布到PHP函数。 PHP在mPicker
上说“undefined index”。然而,如果我在同一个函数mPicker
内调用var_dump
显然是可见的。虽然在同一函数中的var_dump显示数据,但在PHP函数中不能工作
我也跑在JavaScript警告客户端,以确保表单数据是序列化,它也表明,mPicke
[R确实有一个值。然而,PHP中的这一行返回错误:
$es=$_POST["mPicker"];
这只是你所有的缘故。代码的较长版本测试SQL注入。
而且在Xdebug的错误:
的JavaScript代码:
$.post("./php/adates.php", { atype: apttype, data: $("#apptForm").serialize() })
.done(function(data) {
alert(data);
});
多的PHP函数代码:
if (isset($_POST["atype"]) && !empty($_POST["atype"])) {
$typ = test_input($_POST['atype'], $con);
} else {
echo "error ln 6: typ is undefined.";
}
$es=$_POST["mPicker"];
echo $es;
exit;
test_input
的功能是我提到SQL注入测试和ju st进行测试,在mPicker
的帖子上暂时省略。如您所见,行$_POST["atype"]
转义错误,并在PHP函数中完美解决。我知道我很累,一定会错过一些愚蠢的东西。帮助,任何人!
答
尝试使用jQuery“Ajax”的,而不是“后”
$.ajax({
type: 'POST',
url: url,
data: data,
dataType: "html",
success: function(html){
console.log(html)
}
});
,并设置数据类型为“HTML”,然后在PHP中使用“回声”或“var_dunmp”,你可以看到在乌尔数据控制台
第一次加载页面时,$ _POST ['mpicker']将不会被设置 - 所以你会得到一个错误或警告。以与测试atype相同的方式测试mPicker。 – user2182349
在我看来,你只发布两个字段,一个叫'atype',另一个叫'data'。 – nnnnnn
'!empty'就足够了,'isset'就不需要了。 – chris85