I have been learning Laravela for a few days.
I have second forms to login in domain.com/cms/login.
In my project I'm using original Laravel auth.
I have this route:
Route::get('cms/login', 'CMSController@loginAdmin')->name('loginAdmin');
and controller:
public function loginAdmin(Request $request)
{
if($user = Auth::user() && $request->user()->hasRole(['admin', 'admin1', 'admin2', 'admin3']))
{
return redirect()->route('indexAdmin');
}
else
{
return view('psCMS.modules.login.index');
}
}
and secondary login form (at domain.com/login I would like to log normal users - not administrators):
<div class="card-body">
<form method="POST" action="">
@csrf
<div class="form-group row">
<label for="email" class="col-md-4 col-form-label text-md-right"></label>
<div class="col-md-6">
<input id="email" type="email" class="form-control @error('email') is-invalid @enderror" name="email" value="" required autocomplete="email" autofocus>
@error('email')
<span class="invalid-feedback" role="alert">
<strong></strong>
</span>
@enderror
</div>
</div>
<div class="form-group row">
<label for="password" class="col-md-4 col-form-label text-md-right"> </label>
<div class="col-md-6">
<input id="password" type="password" class="form-control @error('password') is-invalid @enderror" name="password" required autocomplete="current-password">
@error('password')
<span class="invalid-feedback" role="alert">
<strong></strong>
</span>
@enderror
</div>
</div>
<div class="form-group row">
<div class="col-md-6 offset-md-4">
<div class="form-check">
<input class="form-check-input" type="checkbox" name="remember" id="remember" >
<label class="form-check-label" for="remember">
</label>
</div>
</div>
</div>
<div class="form-group row mb-0">
<div class="col-md-8 offset-md-4">
<button type="submit" class="btn btn-primary">
</button>
@if (Route::has('password.request'))
<a class="btn btn-link" href="">
</a>
@endif
</div>
</div>
</form>
</div>
LoginController:
public function authenticated(Request $request, $user)
{
$user->update([
'last_login_at' => date('Y-m-d H:i:s'),
'last_login_ip' => $request->getClientIp(),
'id' => $request->user()->id
]);
$userLoginHistory = new UserLoginHistory();
$userLoginHistory->create([
'date_time' => date('Y-m-d H:i:s'),
'ip' => $request->getClientIp(),
'user_id' => $request->user()->id
]);
if($user = Auth::user() && $request->user()->hasRole(['admin', 'admin1', 'admin2', 'admin3']))
{
return redirect()->route('indexAdmin');
}
else
{
return redirect()->route('adminHome');
}
}
When I submit this form I have error:
The POST method is not supported for this route. Supported methods: GET, HEAD.
How can I fix this?
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire