Эй,
у меня таинственная проблема на данный момент ...
У меня есть сервис входа на мой сайт.
Я использую Doctrine как ORM.
Когда пользователь вводит правильную комбинацию для имени пользователя и пароля, я пытаюсь сохранить полученный пользовательский объект в моем сеансе для последующей цели.
$user = new models\User;
$user = $em->getRepository('models\User')->findOneBy(array(
'username' => $this->input->post('username'),
'password' => hash("sha512", $this->input->post('password'))
));
if($user != NULL) {
session_start();
$_SESSION['user'] = $user;
redirect('user');
}
это часть моего логина
/**
* @ManyToOne(targetEntity="Country")
* @JoinColumn(name="country_id", referencedColumnName="id")
*/
private $country;
пользователь имеет различные атрибуты, такие как страна, адрес и т. Д.
поэтому моя проблема:
если поле Страна является нулевым (в БД) для пользователя, логин работает нормально ... но если пользователь назначен на страну (страна имеет только идентификатор и имя), моя система завершается ошибкой.
после перенаправления нет $ user в $ _SESSION
Там нет ошибки PHP или что-то вроде этого ... переменная просто исчезает
Может быть, лучше просто сохранить идентификатор в сеансе и загружать пользователя при каждой загрузке страницы?