Я попытался установить сеанс, но столбец user_id
всегда null
. Другие столбцы работают отлично. Is user_id
зарезервировано для чего угодно? Это случилось с кем-то? Здесь я пытаюсь проверить подлинность пользователя, сохранить данные в сеансе и перенаправить на панель мониторинга. Вот код:Таблица сеансов Laravel user_id всегда null
public function login(Request $request)
{
$validator = validator::make($request->all(),[
'username' => 'required',
'password' => 'required'
]);
if($validator->fails()){
return redirect('/')
->withInput()
->withErrors($validator);
}
$username = $request->get('username');
$user = User::where('username', $username)->first();
$checkpass = false;
if(!empty($user)){
$password = $request->get('password');
$dbpass = $user->getAttributes()['pass'];
$checkpass = Hash::check($password, $dbpass);
if($checkpass){
//saving session after success login check
$request->session()->put('id',\Session::getId());
$request->session()->put('user_id', $user->id);
$request->session()->put('ip_address', $request->ip());
$request->session()->put('user_agent', $request->header('User-Agent'));
$request->session()->put('payload', base64_encode($request->getContent()));
$request->session()->put('last_activity', time());
//redirect to dashboard
return redirect('/dashboard');
}
}
if(empty($user) || $checkpass == false){
$errors = new MessageBag(['password'=>['Email and/or password invalid.']]);
return redirect('/')
->withErrors($errors)
->withInput(Input::except('password'));
}
}
Можете ли вы показать остальную часть кода, начиная с где u получить значения – tam5
@tam только $ request-> session() -> put ('user_id', 11); дает мне нуль, другие прекрасны. Это случилось с кем-то? – BulletProof47
Это не то, что я спросил, это было ясно из вашего вопроса. Я попросил дополнительную информацию. Тем не менее, у меня есть догадка. Является ли 'user_id' еще« нулевым », когда вы делаете запрос в качестве аутентифицированного пользователя? – tam5