为了账号安全,请及时绑定邮箱和手机立即绑定

为什么 $form->isValid() 总是返回 false?

为什么 $form->isValid() 总是返回 false?

PHP
慕慕森 2022-11-04 17:30:39
我正在处理网站的登录页面。当我单击登录按钮时没有任何反应,但是当我 $form->isValid() 从代码中删除时它工作正常。经过几次测试,我发现 $form->isValid() 总是返回 false!我不明白为什么总是这样false!这是控制器的代码:/** * @Route("/login", name="login", methods={"GET","POST"}) */public function login(Request $request): Response{    $user = new Admins();    $form = $this->createFormBuilder($user)    ->add('username', TextType::class)    ->add('password', PasswordType::class)    ->getForm();        $form->handleRequest($request);    if ($form->isSubmitted() && $form->isValid()) {        $session =$request->getSession();        $session->clear();        $username =$user->getUsername();        $password =$user->getPassword();        $repository = $this->getDoctrine()->getRepository(Admins::class);        $user1=$repository->findOneBy(array('username'=>$username,'password'=>$password));        if (!$user1)          {              $this->get('session')->getFlashBag()->add('info','The username or password is incorrect');}        else         {            if (!$session->has('name'))            {                $session->set('username',$user1->getUsername());                $session->set('rank',$user1->getRank());                return $this->redirectToRoute('homepage');                         }                    }                }    return $this->render('login/index.html.twig', [        'user' => $user,        'form' => $form->createView(),    ]);}这是查看页面的代码:<div class="text-center w-full p-t-25 p-b-50">    {% if app.session.flashBag.has('info') %}        <div class="btn btn-warning">            {% for msg in app.session.flashBag.get('info') %}                {{msg}}            {% endfor %}        </div>    {% endif %}</div><form id="accesspanel" action=" {{ path ('login') }} " method="post">    <h1 id="litheader">Login Panel    </h1>
查看完整描述

1 回答

?
胡说叔叔

TA贡献1804条经验 获得超8个赞

这是因为表单中没有 csrf 令牌,所以在结束表单之前添加这个

{{ form_rest(form) }}


查看完整回答
反对 回复 2022-11-04
  • 1 回答
  • 0 关注
  • 135 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号