【发布时间】:2015-10-02 07:13:14
【问题描述】:
我正在开发一个 Android 应用程序,它与服务器端的 php 通信以访问数据库。但是当我使用POST方法更新数据时,无法在php中获取$_POST,它一直是空的。我尝试使用postmanchrome 插件来查看它是否是应用程序的问题,但即使在这种情况下$_POST 也是空的。我正在使用 php 5.2。
<?php
echo "hello"; // Works fine.
switch($_SERVER['REQUEST_METHOD'])
{
case 'GET': echo "GET"; break;
case 'POST': echo "POST"; break; // prints POST
default: echo "DEFAULT";
}
echo $_POST; // Not printing as its empty
if(empty($HTTP_POST_VARS ))
{
echo "POST EMPTY"; // This is printed
}
...
?>
感谢任何帮助。
【问题讨论】:
-
你在发送之前检查过android端的数据,它不是空的。
-
如果 php 中的超级全局
$_POST为空,则没有提供 post 参数。因此,要么根本没有发送它们,要么在某些代理或重写步骤中迷路了。 -
是的。我证实了这一点。另外,我使用 postman chrome 插件进行了验证,其中我可以设置参数、HTTP 方法等并检查输出
-
一个非常疯狂的猜测:检查您的 php.ini 配置:可能是(为什么)您启用了此设置:
enable_post_data_reading = Off -
检查网络服务器访问日志,看看应用程序是否确实按照它应该做的那样进行 POST。