我有一张表格,提交时必须重定向到另一个表格以完成更多细节。
我的问题是我无法找到如何将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在这里打印我的变量,但是如何将它转到另一个控制器?
感谢您的帮助
答案 0 :(得分:0)
为什么不将它们存储在会话或请求中?并且在您使用会话/请求后刷新会话/请求。
答案 1 :(得分:0)
如果您绝对必须访问早期表单提交中的数据以处理下一个表单提交,我将使用Controller事件侦听器加载您刚刚保存的数据并将其放在Container上的服务中。
StackOverflow answer explaining how to do this
Symfony Cookbook article on how to do this
但是,我建议您重新设计表单,以便它不需要知道之前发布的数据以便自行处理。拥有依赖于彼此输入的表单是有问题的,因为验证将取决于之前发布的内容。如果您只需要在表单流程结束时启动流程,那么只需保存每个结果,在通过各种控制器时进行验证,然后在最后一个表单中执行额外处理以及验证其他表单是否已完成。