【问题标题】:unable to read values that are posted无法读取发布的值
【发布时间】:2015-10-08 11:37:55
【问题描述】:

我有一个通知列表文件,它从我的支付处理器监听通知,我使用它来读取提交的可用数据,它作为 POST TXT 提交

$message = file_get_contents("php://input");

当我打印$message 时,它会正确打印整个数组,就像

Array
(
    [TRANSACTION_TYPE] => sale
    [ORDER_STATUS] => SUCCESS
    [PAYOUT_CURRENCY] => USD
    [PAYOUT_AMOUNT] => 100.00
    [TAXES_AMOUNT] => 0.00
    [TAXES_AMOUNT_USD] => 0.00
    [VOID] => Y
    [EVENT_ID] => 1
)

但是当我在我的条件下使用数组值时它们失败了,当我打印 $message['ORDER_STATUS'] 时,它会打印 A 但在数组中它会打印为 SUCCESS

知道为什么在使用选定的数组值时该值会发生变化吗?

【问题讨论】:

  • 应该是 $message['ORDER_STATUS'](带引号)
  • 你也可以给我们看一下 HTML 吗?除了你想从数组中得到什么?如果您发布代码而不仅仅是这里的问题,那就太好了
  • $message 是一个字符串,而不是一个数组。
  • 看起来您正在发布print_r($array, true) 的输出。那行不通,您无法解析print_r 的输出。为什么不使用普通格式编码?
  • @Barmar 似乎你知道发生了什么,很酷,它应该是文本,但我没有发布这个,我的支付处理器正在向我传送关于这种形式的付款的通知。所以我需要将其解码/理解为一个数组以进一步处理

标签: php html input output


【解决方案1】:

如果你的$message数组是这样的,

Array
(
    [TRANSACTION_TYPE] => sale
    [ORDER_STATUS] => SUCCESS
    [PAYOUT_CURRENCY] => USD
    [PAYOUT_AMOUNT] => 100.00
    [TAXES_AMOUNT] => 0.00
    [TAXES_AMOUNT_USD] => 0.00
    [VOID] => Y
    [EVENT_ID] => 1
)

而不是尝试这种方式来获取每个索引的值。

$message->TRANSACTION_TYPE 它会给你SUCCESS

这里不能直接访问,因为它是对象数组。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-25
    • 2020-07-24
    • 1970-01-01
    • 2015-08-01
    • 2011-03-25
    • 2019-03-29
    • 2017-04-10
    • 2018-06-30
    相关资源
    最近更新 更多