Can';无法使用索引器获取PHP表单值
这让我抓狂,因为我收到了一个表单帖子,其中包含一个名称-值对,如下所示:Can';无法使用索引器获取PHP表单值,php,Php,这让我抓狂,因为我收到了一个表单帖子,其中包含一个名称-值对,如下所示: &transaction[0].id=5TH49195SG993903B array(1) { ["transaction"]=> array(1) { [0]=> string(17) "5TH49195SG993903B" } } 在我的php receiver文件中,我试图获得以下值: $txnid = $_POST["transaction[0].id"]; 但每次都是空白。这是来自p
&transaction[0].id=5TH49195SG993903B
array(1) { ["transaction"]=> array(1) { [0]=> string(17) "5TH49195SG993903B" } }
在我的php receiver文件中,我试图获得以下值:
$txnid = $_POST["transaction[0].id"];
但每次都是空白。这是来自paypal IPN传输。我不是为paypal标注这个问题,因为我认为它与paypal无关。我可以登录paypal,看看他们说什么是表单帖子,所以很明显他们正在发送表单帖子(以及其他很多值)
我是不是犯了什么愚蠢的错误?我认为这与[0]索引器有关,因为我可以在同一篇文章中成功获取其他表单值,而这些表单值上没有索引器。例如:
$buyer_email = $_POST["sender_email"];
我做错了什么?如果您尝试var\u dump($\u POST)
您将得到如下输出:
&transaction[0].id=5TH49195SG993903B
array(1) { ["transaction"]=> array(1) { [0]=> string(17) "5TH49195SG993903B" } }
因此,为了捕获该参数,您需要使用$\u POST['transaction'][0]代码>如果尝试var\u dump($\u POST)
您将得到如下输出:
&transaction[0].id=5TH49195SG993903B
array(1) { ["transaction"]=> array(1) { [0]=> string(17) "5TH49195SG993903B" } }
因此,为了捕获该参数,您需要使用$\u POST['transaction'][0]
打印($\u POST)
并观看magicsounds效果良好,但这不就是将所有POST值输出到屏幕上吗?我无法查看此页面,它收到来自paypal async的表单帖子…因此我无法查看响应。如何从print\r获取输出并将其写入文本文件?我已经在做文本文件日志记录。@SweatCoder您可以简单地用POST数据发送一个测试请求。file\u put\u contents('debug.txt',print\r($\u POST,true))代码>将输出写入文件。是的,它输出所有的POST值,因此您可以自己调试和测试您的代码,或者提供更多信息,以便我们提供帮助。print\r($\u POST)
并观看magicsounds,但这不就是将所有POST值输出到屏幕上吗?我无法查看此页面,它收到来自paypal async的表单帖子…因此我无法查看响应。如何从print\r获取输出并将其写入文本文件?我已经在做文本文件日志记录。@SweatCoder您可以简单地用POST数据发送一个测试请求。file\u put\u contents('debug.txt',print\r($\u POST,true))代码>将输出写入文件。是的,它会输出所有的POST值,所以你可以自己调试和测试你的代码,或者给我们更多的信息,这样我们就可以提供帮助。但这不起作用。你忘了“.id”。是不是$u POST['transaction'][0]['id']??请记住它是这样的:&事务[0]。id=5TH49195SG993903B@SweatCoder$\u POST['transaction'][0]['.id']
但我很确定这不是paypal发送给您的脚本的内容。请检查您从paypal获得的信息,只需在代码文件中添加一行内容(“debug.txt”,print\r($\u POST,true))代码>(确保文件/dir具有正确的写入权限)post参数的格式不正确,php无法翻译。在数组中,它只翻译[],对于.id,php将省略它。这就是它在我的机器Ubuntu11.10上的工作原理,PHP5.3.2我从印刷品上看到paypal实际上发送的值与他们声称的不同,所以我很生气。我会联系贝宝。谢谢,那没用。你忘了“.id”。是不是$u POST['transaction'][0]['id']??请记住它是这样的:&事务[0]。id=5TH49195SG993903B@SweatCoder$\u POST['transaction'][0]['.id']
但我很确定这不是paypal发送给您的脚本的内容。请检查您从paypal获得的信息,只需在代码文件中添加一行内容(“debug.txt”,print\r($\u POST,true))代码>(确保文件/dir具有正确的写入权限)post参数的格式不正确,php无法翻译。在数组中,它只翻译[],对于.id,php将省略它。这就是它在我的机器Ubuntu11.10上的工作原理,PHP5.3.2我从印刷品上看到paypal实际上发送的值与他们声称的不同,所以我很生气。我会联系贝宝。谢谢