Symfony2传递变量$ _post

时间:2014-08-05 15:31:17

标签: php forms symfony variables post

我有一张表格,提交时必须重定向到另一个表格以完成更多细节。

我的问题是我无法找到如何将post变量从第一种形式传递到第二种形式。

在我的控制器中,我有类似的东西:

$urls = $_POST['app_frontbundle_urls']['urls'];
            $em = $this->getDoctrine()->getManager();
            $em->persist($entity);
            $em->flush();
// var_dump($urls);die();
            return $this->redirect($this->generateUrl('purchase_new'));

我不能使用数组来传递GET中的变量,因为我绝对需要在post中使用这些变量,因为会有一个隐藏字段和一个textarea

我该怎么做?

我的var_dump在这里打印我的变量,但是如何将它转到另一个控制器?

感谢您的帮助

2 个答案:

答案 0 :(得分:0)

为什么不将它们存储在会话或请求中?并且在您使用会话/请求后刷新会话/请求。

答案 1 :(得分:0)

如果您绝对必须访问早期表单提交中的数据以处理下一个表单提交,我将使用Controller事件侦听器加载您刚刚保存的数据并将其放在Container上的服务中。

StackOverflow answer explaining how to do this

Symfony Cookbook article on how to do this

但是,我建议您重新设计表单,以便它不需要知道之前发布的数据以便自行处理。拥有依赖于彼此输入的表单是有问题的,因为验证将取决于之前发布的内容。如果您只需要在表单流程结束时启动流程,那么只需保存每个结果,在通过各种控制器时进行验证,然后在最后一个表单中执行额外处理以及验证其他表单是否已完成。