发布不在PHP函数中,即使同一函数中的var_dump显示数据

时间:2016-10-04 01:19:54

标签: javascript php jquery

我迷糊了。我有一个JavaScript函数发布到PHP函数。 PHP在mPicker上说“未定义的索引”。然而,如果我在同一个函数var_dump内调用mPicker,则明显可见。

console.log

我还在JavaScript中运行警报客户端以确保表单数据已序列化,并且它也显示mPicke r确实具有值。然而,PHP中的这一行返回错误:

$es=$_POST["mPicker"];

这只是为了你的缘故。 SQL注入的代码测试的较长版本。

xdebug中的错误:

php error in 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注入测试,仅用于测试,暂时省略了mPicker上的帖子。如您所见,行$_POST["atype"]转义错误,并在PHP函数中完美解析。我知道我累了,一定要错过一些愚蠢的东西。帮助,任何人!

1 个答案:

答案 0 :(得分:1)

尝试使用jQuery" ajax"而不是"发布"

$.ajax({
  type: 'POST',
  url: url,
  data: data,
  dataType: "html",
  success: function(html){
     console.log(html)
  }

});

并将dataType设置为" html",然后使用" echo"或" var_dunmp"在php中,你可以在控制台中看到你的数据