Нажмите здесь /.... Это ошибка
при попытке вызвать функцию входа в систему возникает ошибка. Вызов функции-члена имеет () значение null .............................. .................................................. .................................................. .................................................. ............... если ты мне поможешь сейчас. это будет поддержкой моей карьеры ... надеюсь, я получу правильный ответ. .................................................. .....................................
/**
* @Route("/login", name = "login")
*/
public function loginAction(Request $request)
{
$session = $request->getSession();
// $session = $this->getRequest()->getSession();
$em=$this->getDoctrine()->getManager();
$repository=$em->getRepository('AppBundle:User');
if ($request->getMethod()=='POST')
{
$session->clear();
$username=$request->get('username');
$password=$request->get('password');
$remember=$request->get('remember');
$user=$repository->findOneBy(array('userName'=>$username,'password'=>$password));
if ($user)
{
if ($remember=='remember-me'){
$login= new Login();
$login->setUsername($username);
$login->setPassword($password);
$session->set('login',$login);
}
return $this->render('AppBundle:pro:homepage.html.twig',array('name'=>$user->getFirstName()));
}
else {
return $this->render('AppBundle:pro:login.html.twig',array('name'=>'Login Error'));
}
}
else{
if ($session->has('login')){
$login= $session->get('login');
$username= $login->getUsername();
$password= $login->getPassword();
$user=$repository->findOneBy(array('userName'=>$username,'password'=>$password));
if ($user){
return $this->render('AppBundle:pro:homepage.html.twig',array('name'=>$user->getFirstName()));
}
}
return $this->render('AppBundle:pro:login.html.twig');
}
}
}
<?php
namespace AppBundle\Modals;
class Login
{
private $username;
private $password;
public function getUsername()
{
return $this->username;
}
public function setUsername($username)
{
$this->username = $username;
}
public function getPassword()
{
return $this->password;
}
public function setPassword($password)
{
$this->password = $password;
}
}
?>
<?php
namespace AppBundle\Entity;
/**
* User
*/
class User
{
/**
* @var int
*/
private $id;
/**
* @var string
*/
private $username;
/**
* @var string
*/
private $password;
/**
* Get id
*
* @return int
*/
public function getId()
{
return $this->id;
}
/**
* Set username
*
* @param string $username
*
* @return User
*/
public function setUsername($username)
{
$this->username = $username;
return $this;
}
/**
* Get username
*
* @return string
*/
public function getUsername()
{
return $this->username;
}
/**
* Set password
*
* @param string $password
*
* @return User
*/
public function setPassword($password)
{
$this->password = $password;
return $this;
}
/**
* Get password
*
* @return string
*/
public function getPassword()
{
return $this->password;
}
}






Эта ошибка означает, что $ сессия имеет значение null. Я не знаю, какую версию Symfony вы используете, но для доступа к сеансу внутри контроллера вы можете использовать
$this->get('session')
Для получения дополнительной информации это относится к переполнение стека
Надеюсь на эту помощь.
Я использую Symfony 3.4
почему бы вам не использовать эту функцию Symfony symfony.com/doc/3.4/security.html? Кажется, он соответствует вашим потребностям и более дружелюбен к Symfony.
Замените
$session->has('login')наisset($_SESSION['login'])и попробуйте