Laravel Password Reset Route not found
15,430
Solution 1
This is your reset route:
Route::post('/password/reset', 'Auth\PasswordController@reset');
And yet in your form, you aren't posting to this route:
<form action="" method="post">
Change your action:
<form action="/password/reset" method="post">
Solution 2
Set action of form to /password/reset
Author by
Nicolas
Student Interactive multimedia design (IMD) at Thomas More, Belgium. Always trying to learn and improve. Curious person, open for a challenge.
Updated on June 28, 2022Comments
-
Nicolas almost 2 years
I'm trying to complete my password reset in laravel 5.2. Everything works, up until the last part.
When I enter my email and the new password I receive the error
MethodNotAllowedHttpException in RouteCollection.php line 219:
Here are my routes
Route::get('/password/reset/email', 'Auth\PasswordController@getEmail'); Route::post('/password/reset/email', 'Auth\PasswordController@postEmail'); Route::get('/password/email', 'Auth\PasswordController@sendResetLinkEmail'); Route::get('/password/reset/{token}', 'Auth\PasswordController@showResetForm'); Route::post('/password/reset', 'Auth\PasswordController@reset');
And this is how my controller looks.
<?php namespace App\Http\Controllers\Auth; use View; use App\Http\Controllers\Controller; use Illuminate\Foundation\Auth\ResetsPasswords; class PasswordController extends Controller { /* |-------------------------------------------------------------------------- | Password Reset Controller |-------------------------------------------------------------------------- | | This controller is responsible for handling password reset requests | and uses a simple trait to include this behavior. You're free to | explore this trait and override any methods you wish to tweak. | */ use ResetsPasswords; /** * Create a new password controller instance. * * @return void */ public function __construct() { $this->middleware('guest'); } public function getSendResetLinkEmailSuccessResponse() { return View::make('auth.passwordSent'); } protected $redirectPath = '/'; }
Here's the Form:
<form action="" method="post"> <input type="hidden" name="_token" value="{{ csrf_token() }}"> <div class="form-group"> <label for="login-form-email">E-mail</label> <input type="email" name="email" id="email" class="form-control" tabindex="1" placeholder="Email" value="{{ old('email') }}"> </div> <div class="form-group"> <label for="login-form-password">New password</label> <input type="password" class="form-control" name="password" id="login-form-password" tabindex="2" placeholder="Password" tabindex="4"> </div><!-- /.form-group --> <div class="form-group"> <label for="login-form-password-retype">Confirm new password</label> <input type="password" class="form-control" name="password_confirmation" id="login-form-password-retype" tabindex="3" placeholder="Confirm password"> </div><!-- /.form-group --> <div class="form-group"> <input type="submit" class="btn btn-primary pull-right" name="reset-confirm" id="reset-confirm" tabindex="4" value="Reset Password"> </div> </form>
Not sure why I'm getting this error and I can't find a solution to it. Hope you guys can help me out