在PHP中获取POST数据
所以我运行这个来检索我的帖子数据:在PHP中获取POST数据,php,android,api,post,http-post,Php,Android,Api,Post,Http Post,所以我运行这个来检索我的帖子数据: $jsonString = file_get_contents('php://input'); 如果我打印出$jsonString,结果如下: Something=Value&OtherThing=Value&Etc=Yougetmydrift 现在在过去,我能够做到这一点: $object = json_decode($jsonString); $something = $object->Something; echo $something; //
$jsonString = file_get_contents('php://input');
如果我打印出$jsonString
,结果如下:
Something=Value&OtherThing=Value&Etc=Yougetmydrift
现在在过去,我能够做到这一点:
$object = json_decode($jsonString);
$something = $object->Something;
echo $something; // would print 'Value'
但我现在觉得这不管用。我正在使用Android SDK和
php://input
后端似乎什么也没有返回。有人知道这是为什么吗?使用:urldecode
/urldecode
,而不是json\u decode使用:urldecode
/urldecode
,而不是json\u decode,我想你只是想要:
echo $_POST["Something"];
我想你只是想:
echo $_POST["Something"];
您不需要执行文件获取内容('php://input');代码>。PHP自动用POST数据填充变量$\u POST
echo $_POST['Something']; // Value
另外,仅供参考:Something=Value&OtherThing=Value&Etc=Yougetmydrift
不是JSON,而是一个查询字符串。如果你真的想解析它,你应该使用parse\u str($string,$result)
你不需要做file\u get\u contents('php://input');代码>。PHP自动用POST数据填充变量$\u POST
echo $_POST['Something']; // Value
另外,仅供参考:Something=Value&OtherThing=Value&Etc=Yougetmydrift
不是JSON,而是一个查询字符串。如果你真的想解析它,你应该使用parse\u str($string,$result)
文件获取内容('php://input');代码>样式通常用于PUT数据。For POST PHP提供了一个内置的超级全局数组,名为$\u POST。文件获取内容('php://input');代码>样式通常用于PUT数据。For POST PHP提供了一个内置的超级全局数组,名为$\u POST。我根本没有使用Android,但我很好奇-为什么你不使用$\u POST来检索POST数据?它不起作用或者有其他原因吗?Post数据应该可以从$\u Post访问。另外,您尝试解析为JSON的数据没有格式化为JSON。是的,我不知道为什么我没有先尝试:/Thanks我根本没有与Android一起工作过,但我很好奇-为什么您不使用$\u POST来检索POST数据?它不起作用或者有其他原因吗?Post数据应该可以从$\u Post访问。另外,您试图解析为JSON的数据也没有格式化为JSON。是的,我不知道为什么我没有先尝试:/Thanksurldecode只是从url字符串转换%#
实体。它不会将url字符串转换为数组/对象;不幸的是,解析url也不起作用。如果您像问题中那样向它传递一个简单的查询字符串,您将返回null
。即使您向其传递完整的url,它也不会将查询解析为数组/对象,而只返回一个由查询部分组成的字符串。实际上,您不需要。手动编写:D按=,将数组键分配为数组值,并将其返回/转换为对象:)problem SolveDurldCode仅从url字符串转换%##
实体。它不会将url字符串转换为数组/对象;不幸的是,解析url也不起作用。如果您像问题中那样向它传递一个简单的查询字符串,您将返回null
。即使你给它传递一个完整的url,它也不会将查询解析为数组/对象,只会返回一个由查询部分组成的字符串。实际上你不需要。手动编写:D按=,将其拆分,将数组键分配为数组值,并将其返回/转换为对象:)问题解决a我知道它不是JSON。我想那是因为我没有把它作为JSON发送出去。。。将不得不看看如何从android编码为JSON…很好的调用tho。我正在使用其他人编写的API,试图将其移植到另一个设备。我想我需要用JSON对android代码进行编码,使其与API一起工作。否则就全部重写@ing0:您不需要将其作为JSON发送出去,使用$\u POST['Something']
就可以了。不,我确实需要将其作为JSON发送出去。API已经是这样写的了!我所要改变的就是我对POST数据的编码方式。但我知道在大多数情况下,使用$u POST将是理想的解决方案。我想我忘了提到这一点!至少我让它工作了。如果我有时间,我会改变它,但它的工作原理是一样的。再次感谢是的,我知道那不是JSON。我想那是因为我没有把它作为JSON发送出去。。。将不得不看看如何从android编码为JSON…很好的调用tho。我正在使用其他人编写的API,试图将其移植到另一个设备。我想我需要用JSON对android代码进行编码,使其与API一起工作。否则就全部重写@ing0:您不需要将其作为JSON发送出去,使用$\u POST['Something']
就可以了。不,我确实需要将其作为JSON发送出去。API已经是这样写的了!我所要改变的就是我对POST数据的编码方式。但我知道在大多数情况下,使用$u POST将是理想的解决方案。我想我忘了提到这一点!至少我让它工作了。如果我有时间,我会改变它,但它的工作原理是一样的。再次感谢