Reputation: 33
i keep getting this error "The GET method is not supported for this route. Supported methods: POST" and i dont know where i'm wrong. this is my controller
public function admlogin(Request $request){
$request->validate([
'email'=>'required',
'password'=>'required'
]);
$user = Users::where('email', '=', $request->email)->first();
if ($user) {
if ($request->password, $user->password) {
$request->session()->put('id', $user->id);
return redirect('index');
} else {
return back()->with('fail','This email is incorrect');
}
} else {
return back()->with('fail','This email is incorrect');
}
}
and this is my web.php
Route::post('/adlogin', [UserController::class,'admlogin'])->name('adlogin');
Route::get('index/', 'App\Http\Controllers\UserController@index');
and my login.blade.php
<form action="adlogin" method="POST">
@csrf
<div class="form-group">
<input class="form-control" type="text" placeholder="Email">
</div>
<div class="form-group">
<input class="form-control" type="text" placeholder="Password">
</div>
<div class="form-group">
<button class="btn btn-primary btn-block" type="submit">Login</button>
</div>
</form>
Upvotes: 0
Views: 835
Reputation: 11
Route::get('admlogin/', 'App\Http\Controllers\UserController@index');
Upvotes: 1
Reputation: 106
You cant define route simply as
<form action="adlogin" method="POST">
have to use laravel helper to define route or url, as
<form action="{{ route('adlogin') }}" method="POST">
or
<form action="{{ url('adlogin') }}" method="POST">
Upvotes: 2