Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';无法使用索引器获取PHP表单值_Php - Fatal编程技术网

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实际上发送的值与他们声称的不同,所以我很生气。我会联系贝宝。谢谢