#php #laravel
Вопрос:
Я создал серверную часть для нескольких пользователей и использую одну форму входа для всех. моя проблема сейчас в том, чтобы запомнить флажок при входе в систему. если я поставлю флажок, это ничего не изменит, браузер не запомнит адрес электронной почты для входа и пароль. Я много искал в Google, но все еще не могу найти правильный ответ. Я надеюсь, что получу от вас помощь.
Это мой код :
LoginController.php
class LoginController extends Controller
{
use AuthenticatesUsers;
protected $redirectTo = RouteServiceProvider::HOME;
protected function redirectTo(){
if(Auth()->user()->role == 1){
return route('admin.dashboard');
}
elseif(Auth()->user()->role == 2){
return route('manager.dashboard');
}
elseif(Auth()->user()->role == 3){
return route('user.dashboard');
}
}
public function __construct()
{
$this->middleware('guest')->except('logout');
}
public function login(Request $request){
$input = $request->all();
$this->validate($request,[
'email' => 'required|email',
'password'=> 'required'
]);
$remember = $request->has('remember')? true:false;
if(auth()->attempt(array('email'=>$input['email'], 'password'=>$input['password']),$remember)){
$user = auth()->user();
//dd($user);
if(auth()->user()->role == 1){
return redirect()->route('admin.dashboard');
}elseif(auth()->user()->role == 2 ){
return redirect()->route('manager.dashboard');
}elseif(auth()->user()->role == 3){
return redirect()->route('user.dashboard');
}
}else{
return redirect()->route('login')->with('error', 'Email and password are wrong');
}
}
}
login.blade.php
<form class="form-body" method="POST" action="route">
@csrf
<div class="row g-3">
<div class="col-12">
<label for="inputEmailAddress" class="form-label">Email Address</label>
<div class="ms-auto position-relative">
<div class="position-absolute top-50 translate-middle-y search-icon px-3"><i class="bi bi-envelope-fill"></i></div>
<input type="email" class="form-control radius-30 ps-5" id="inputEmailAddress" placeholder="Email Address" name="email" value="{{ old('email') }}" >
</div>
@error('email')
<span class="text-danger " role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div class="col-12">
<label for="inputChoosePassword" class="form-label">Enter Password</label>
<div class="ms-auto position-relative">
<div class="position-absolute top-50 translate-middle-y search-icon px-3"><i class="bi bi-lock-fill"></i></div>
<input type="password" class="form-control radius-30 ps-5" id="inputChoosePassword" placeholder="Enter Password" name="password">
</div>
@error('password')
<span class="text-danger" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div class="col-6">
<div class="form-check form-switch">
<input class="" type="checkbox" id="remember" name="remember" value="remember">
<label class="form-check-label" for="remember">Remember Me</label>
</div>
</div>
<div class="col-6 text-end"> <a href="{{route('password.request')}}">Forgot Password ?</a>
</div>
<div class="col-12">
<div class="d-grid">
<button type="submit" class="btn btn-primary radius-30">Login</button>
</div>
</div>
<div class="col-12">
<p class="mb-0">Don't have an account yet? <a href="{{route('register')}}">Sign up here</a></p>
</div>
</div>
</form>