Symfony表单提交不起作用

时间:2014-06-27 10:01:59

标签: php forms symfony symfony-2.5

我一直在关注this tutorial使用Symfony 2.5创建注册表单。

我所做的唯一区别是我的User课程中的用户名的附加字段,并以UserType形式呈现。

将表单提交到account_create - 路由(最终使用帐户控制器中的create操作)时,它无法正确处理表单。该页面显示为空白,甚至不再显示探查器。

此外,似乎脚本破坏了我的Apache(我在Windows上通过 XAMPP 在本地运行它),因为我在提交表单后尝试做的一切都会导致无休止的加载。这意味着无论我在我的服务器上哪个页面尝试访问下一个页面(即使它只是分析器),我也无法做到。它只是永远加载(我已经等了10多分钟)。那时只有Apache重启才有用。

这是我在帐户控制器

中的createAction
// 'account_create' route
// TestBundle:Account:create
public function createAction(Request $request)
{
    $em = $this->getDoctrine()->getManager();
    echo "Doctrine managed. ";

    $form = $this->createForm(new RegistrationType(), new Registration());
    echo "Form created. ";

    $form->handleRequest($request);
    echo "Request handled. ";

    if ($form->isValid()) {
        $registration = $form->getData();
        echo "Form data received. ";

        $em->persist($registration->getUser());
        echo "User persisted. ";
        $em->flush();
        echo "Toilet flushed. ";

        return $this->redirect($this->generateUrl('admin_page'));
    }

    return $this->render(
        'TestBundle:Account:register.html.twig',
        array('form' => $form->createView())
    );
}

它仅输出Doctrine managed. Form created.,因此在调用handleRequest($request)方法时显然会崩溃。

这是什么,这是如此可怕的错误?

告诉我您是否需要任何其他脚本的代码!

1 个答案:

答案 0 :(得分:0)

我知道这不是 的答案,但无论如何它不适合作为评论和调试此重要步骤

在try块中放置句柄请求并回显异常

    try {
        $form->handleRequest($request);
    } catch (\Exception $e) {
        echo "failed : ".$e->getMessage();
    }

抛出了什么异常?