无法启动会话:PHP已经启动($_SESSION已设置)。500内部服务器错误-运行时异常。

8 浏览
0 Comments

无法启动会话:PHP已经启动($_SESSION已设置)。500内部服务器错误-运行时异常。

我正在尝试为我的usermanagementbundle实现一个简单的登录页面,但我在通过formbuilder创建表单方面还是新手。我的bundle中只有3个函数,其中有一个新的会话,并且在不同的路由中被调用,即使我删除其他2个函数,我仍然会收到相同的错误。这是我的代码:

createForm(new SigninType(), $users);
        if ($session->has('token'))
        {
             return $this->render('AcmeUserManagementBundle:Default:home.html.twig', array('token' => $session->get('token')));
        }
        if (!($session->has('alert')))
        {
            $session->set('alert', 'Welcome');
            return $this->render('AcmeUserManagementBundle:Default:index.html.twig', array('form' => $form->createView(), 'alert' => 'Welcome!'));   
        }
        else
        {
            $alert = $session->get('alert');
            $session->clear();
            return $this->render('AcmeUserManagementBundle:Default:index.html.twig', array('form' => $form->createView() ,'alert' => $alert));
        }
    }
    public function logoutAction()
    {
        $session = new Session();
        $session->invalidate();
        return $this->render('AcmeUserManagementBundle:Default:index.html.twig');
    }
     public function signupAction()
    {
        return $this->render('AcmeUserManagementBundle:Default:signup.html.twig');
    }
    public function LoginAction(Request $request)
    {
        $session = new Session();
        if ($request->getmethod()=='POST' || $session->get('token') != ""){
            $user = $request->get('user');
            $password = $request->get('password');
            $em = $this->getDoctrine()->getManager();
            $repository = $em->getRepository('AcmeUserManagementBundle:Users');
            $username = $repository->findOneBy(array('username'=>$user,'password'=>$password));
                if (!$session->get('token') && $username)
                {
                   $token = $this->get('token_generator')->getToken();
                   $session->set('token', $token, 'user', $username);
                } else {
                    $session->set('alert', 'Invalid Username and/or Password!');
                    return $this->redirect($this->generateUrl('homepage'));
                }
                return $this->redirect($this->generateUrl('homepage'));
        } else {
            return $this->redirect($this->generateUrl('homepage'));
        }   
    }
}

当我尝试在我的函数中实现一个formbuilderinterface时,我突然遇到了这个问题,而通过html创建表单时,我完全没有遇到问题。我的代码有问题吗?因为我尝试了这个登录代码通过HTML,并将其转换为Symfony的formbuilderinterface组件。

0