$_POST 为空,但是 php://input 显示存在的值
$_POST empty however php://input shows values present
我目前正在尝试实现一个将数据发布为 'multipart/form-data' 的系统,我正在通过 php://input 接收数据,如下所示:
[
{
"id":"595944535043",
"companyProfileID":"",
"accountID":"",
"ownerID":"",
"importID":"",
"avatarUrl":"https://d2ojpxxtu63wzl.cloudfront.net/static/a9b1a30bbf8148445118d0d70ebd4a01_16edde90d640c6ee84a1874a4dbb3cdc816bc9e94ec6a23efc885e59947b28ab",
"companyName":"",
"title":"",
"firstName":"Madison",
"lastName":"Test",
"street":"",
"city":"",
"country":"",
"state":"",
"zipcode":"",
"emailAddress":"email@email.com",
"website":"",
"phoneNumber":"",
"officePhoneNumber":"",
"phoneNumberExtension":"",
"mobilePhoneNumber":"",
"faxNumber":"",
"description":"",
"campaignID":"",
"crmLeadID":"",
"crmOpportunityID":"",
"crmAccountID":"",
"crmContactID":"",
"crmOwnerID":"",
"crmThirdPartyID":"",
"formGUID":"",
"trackingID":"",
"leadSource":"",
"industry":"",
"active":"1",
"isQualified":"",
"isContact":"1",
"isCustomer":"0",
"hasOpportunity":"0",
"lastActivityDate":"2018-06-08 15:04:10",
"updateTimestamp":"2018-06-17 09:25:39",
"updateUserProfileID":"0",
"createTimestamp":"2018-06-08 14:04:10",
"createUserProfileID":"313407940",
"leadStatus":"contact",
"persona":"",
"services_5addf517bd49b":""
}
]
然而,当我尝试通过 $_POST 访问任何这些详细信息时,return 什么也没有。快速检查表明 $_POST 实际上是空的。
我已经用尽了这个问题的所有选项
php $_POST array empty upon form submission
还有这个PHP some $_POST values missing but are present in php://input
把我的max_input_vars改成了10000,post_max_size就是1G。尝试了 JSON 解码解决方案、解析器解决方案,什么都没有。
所以想知道是否有人可以提供帮助?
不是重复的问题,因为数据是嵌套的。不同于之前关于 Stack overflow
的问题
增加 postmaxsize
中的变量 php.ini 设置为高于机器中物理 RAM 的数量也使用 M
后缀代替 MB
哇,所以我设法弄明白了。
我获取了通过 php://input 获得的 POST 数据,并使用该数据创建了一个 JSON 变量。然后经过一些测试后,我尝试查看在执行 $posted_data = json_decode(file_get_contents("php://input"));
.
之后是否将其视为嵌套数组
所以我使用以下方法调用了数据:
$posted_data[0]->emailAddress
这很奏效...希望这对以后的任何人都有帮助,并节省我刚刚浪费的时间:)
我目前正在尝试实现一个将数据发布为 'multipart/form-data' 的系统,我正在通过 php://input 接收数据,如下所示:
[
{
"id":"595944535043",
"companyProfileID":"",
"accountID":"",
"ownerID":"",
"importID":"",
"avatarUrl":"https://d2ojpxxtu63wzl.cloudfront.net/static/a9b1a30bbf8148445118d0d70ebd4a01_16edde90d640c6ee84a1874a4dbb3cdc816bc9e94ec6a23efc885e59947b28ab",
"companyName":"",
"title":"",
"firstName":"Madison",
"lastName":"Test",
"street":"",
"city":"",
"country":"",
"state":"",
"zipcode":"",
"emailAddress":"email@email.com",
"website":"",
"phoneNumber":"",
"officePhoneNumber":"",
"phoneNumberExtension":"",
"mobilePhoneNumber":"",
"faxNumber":"",
"description":"",
"campaignID":"",
"crmLeadID":"",
"crmOpportunityID":"",
"crmAccountID":"",
"crmContactID":"",
"crmOwnerID":"",
"crmThirdPartyID":"",
"formGUID":"",
"trackingID":"",
"leadSource":"",
"industry":"",
"active":"1",
"isQualified":"",
"isContact":"1",
"isCustomer":"0",
"hasOpportunity":"0",
"lastActivityDate":"2018-06-08 15:04:10",
"updateTimestamp":"2018-06-17 09:25:39",
"updateUserProfileID":"0",
"createTimestamp":"2018-06-08 14:04:10",
"createUserProfileID":"313407940",
"leadStatus":"contact",
"persona":"",
"services_5addf517bd49b":""
}
]
然而,当我尝试通过 $_POST 访问任何这些详细信息时,return 什么也没有。快速检查表明 $_POST 实际上是空的。
我已经用尽了这个问题的所有选项 php $_POST array empty upon form submission
还有这个PHP some $_POST values missing but are present in php://input
把我的max_input_vars改成了10000,post_max_size就是1G。尝试了 JSON 解码解决方案、解析器解决方案,什么都没有。
所以想知道是否有人可以提供帮助?
不是重复的问题,因为数据是嵌套的。不同于之前关于 Stack overflow
的问题增加 postmaxsize
中的变量 php.ini 设置为高于机器中物理 RAM 的数量也使用 M
后缀代替 MB
哇,所以我设法弄明白了。
我获取了通过 php://input 获得的 POST 数据,并使用该数据创建了一个 JSON 变量。然后经过一些测试后,我尝试查看在执行 $posted_data = json_decode(file_get_contents("php://input"));
.
所以我使用以下方法调用了数据:
$posted_data[0]->emailAddress
这很奏效...希望这对以后的任何人都有帮助,并节省我刚刚浪费的时间:)