加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 如何访问post变量($_POST为空)

发布时间:2020-12-13 22:46:16 所属栏目:PHP教程 来源:网络整理
导读:我正在研究一个系统,目前正在尝试实现另一个(外部)系统可以发布到某些数据的脚本,以便我可以存储它们. 我无法控制外部系统 – 我可以触发它将数据发布到我的系统,给它我的脚本的URL. 当帖子发生时看着firebug,我可以看到发布的数据,看起来像这样: 或(urldec
我正在研究一个系统,目前正在尝试实现另一个(外部)系统可以发布到某些数据的脚本,以便我可以存储它们.
我无法控制外部系统 – 我可以触发它将数据发布到我的系统,给它我的脚本的URL.

当帖子发生时看着firebug,我可以看到发布的数据,看起来像这样:

或(urldecoded)

content={"sex":"male","person":{"name":["chris"],"mbox":["mailto:name.lastename@gmail.com"]}}  
&Content-Type=application/json  
&auth=DDE233H76BGN

我的问题是,当我尝试在我的脚本中获取这些参数时,$_POST(和$_REQUEST)始终为空!
我已经尝试了var_dump($_ POST)或echo file_get_contents(“php:// input”);,但我没有看到任何内容.

我在这里错过了什么?
我不知道是否需要响应/请求标头来获取它的东西,为了以防万一我在这里展示它们

编辑:
我的脚本现在包含一行代码,例如:

<?php
    var_dump($_POST);
?>

要么

<?php
   echo file_get_contents("php://input");
?>

他们两个都绝对没有给我:s

解决方法

应使用$arr = json_decode($_ POST [‘content’])访问数据; ……但你这里有另一个问题.

缺少一个细节:

… firebug如何能够向您显示从外部系统发送到您网站的$_POST的内容(也就是说:请求不通过您的浏览器,但可能通过源自外部服务器的CURL请求).显然,我在这里得不到什么.

我看到的是您的浏览器发送的POST请求(在javascript中),由您的网站制作.
你的问题错过了一个重要的细节,我只是不确定它是什么.

暗示:

尝试进行回声“测试”;就在你的var_dump之前,我觉得你可能没有调试我们在Firebug中看到的Ajax POST请求真正调用的页面.有点路由问题?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读