2011-09-25 119 views
2

我在这个问题上发现了一些类似的主题,但没有为我的情况:

我发送一些数据通过窗体,但$ _POST数组总是空的(非空)。但是当我添加一个“死亡”时或“退出”;在var_dump($ _ POST)之后;我可以看到所有发送的数据。

也许它的相关知道,这是在“onPreDispatch”上调用的(shopware)插件中。

感谢您的任何帮助

+1

你是否重定向? –

+0

你是通过POST还是GET来调用页面? 尝试使用$ _REQUEST。 – dar7yl

+0

我不重定向,但我操纵请求参数调用另一个控制器和插件例程完成后的动作。 shopware是建立在zend上的,所以这里是我在处理例程之后如何调用其他控制器:$ request-> setParam('sTarget','checkout'); $ request-> setControllerName('account'); $ request-> setActionName('savePayment'); $ request-> setActionName('savePayment') - > setDispatched(false);我注意到,如果我拿出这个代码,我得到了我的发布数据,但是我没有与最初必须调用的下一个动作的“连接”。 – user963942

回答

1

您的(商店)插件可能使用输出缓冲。这意味着它会收集所有的eco和打印,直到你打电话给打印所有缓冲区的ob_flush()。除了其他所有内容外,die()函数在调用时也刷新缓冲区。 所以,如果你在回声后做ob_flush(),你应该得到所需的结果。

+0

这是一个非常非常长的镜头。我期望数组“空(非空)”意味着'print_r($ _ POST)'产生'Array()',在这种情况下它不会输出缓冲。 – zneak

+0

这是正确的zneak,如果我var_dump的职位,我得到“阵列(0){}”其不是打印一些数据,我只需要帖子的内容,我只能看到死亡或退出组合。 – user963942

1

问题是重定向,它重置了帖子,虽然它是在我读取请求中的参数之后。

我不知道,那shopware会在数据库中保存所需的数据(paymentID)。所以我将插件切换回“onPostDispatch”(这种方式将在所有其他操作之后调用,其中一个将数据保存在db中)。现在我可以读取数据库并获取相同的数据,这些数据最初在后数组中。

我试图成为“第一”谁阅读帖子,但不能解决。现在我是最后一个阅读它的人,而且工作正常。

感谢您的所有答案!这里的线索是“重定向”。