3

我一直在按照本教程使用 Symfony 2.5 创建一个注册表单。

我所做的唯一区别是我的班级中的用户名的附加字段User并将其呈现在UserType表单中。

将表单提交到account_create-route(最终使用createAccount 控制器中的操作)时,它不会正确处理表单。该页面显示为空白,甚至不再显示分析器。

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

这是我在 Account 控制器中的 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)方法时它会崩溃。

怎么回事,大错特错?

如果您需要任何其他脚本的代码,请告诉我!

4

1 回答 1

2

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

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

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

抛出什么异常?

于 2014-06-27T11:31:00.050 回答