为了账号安全,请及时绑定邮箱和手机立即绑定

Laravel 路由因忘记密码而不起作用

Laravel 路由因忘记密码而不起作用

PHP
慕妹3242003 2023-11-03 20:16:32
当我在 url 中使用参数时,我的 laravel 路由不起作用。实际上,电子邮件已发送给收件人,但当他们单击链接时,令牌会作为参数在 url 中发送。但使用了不同的路线,显示另一个页面。这是我的 web.php Route::group(['namespace' => 'Auth'],function(){    // Password Reset Routes...    Route::get('password/reset', 'ForgotPasswordController@showLinkRequestForm')->name('password.reset');    Route::post('password/email', 'ForgotPasswordController@sendResetLinkEmail')->name('password.email');    Route::get('password/reset/{token}', 'ResetPasswordController@showResetForm')->name('password.reset.token');    Route::post('password/reset', 'ResetPasswordController@reset');});这条路线被调用 Route::get('password/reset', 'ForgotPasswordController@showLinkRequestForm')->name('password.reset'); 但我希望这条路线能够工作Route::get('password/reset/{token}', 'ResetPasswordController@showResetForm')->name('password.reset.token'); 所以它按照上面的路线显示不同的页面。我该怎么办?请帮忙!!
查看完整描述

2 回答

?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

尝试将 /password/reset 的路由名称更改为其他类似的名称

为了避免混淆,让我们将其更改为


Route::get('password/reset', 'ForgotPasswordController@showLinkRequestForm')->name('password.reset');   

对此


Route::get('forget-password', 'ForgotPasswordController@showLinkRequestForm')->name('password.reset.form');

所以你的路线可能看起来像这样..


 Route::group(['namespace' => 'Auth'],function(){

    // Password Reset Routes...

    Route::get('forget-password', 'ForgotPasswordController@showLinkRequestForm')->name('password.reset.form');

    Route::post('password/email', 'ForgotPasswordController@sendResetLinkEmail')->name('password.email');

    Route::get('password/reset/{token}', 'ResetPasswordController@showResetForm')->name('password.reset');

    Route::post('password/reset', 'ResetPasswordController@reset');

});  

请注意,我已将路由名称password.reset.token更改为password.reset。


我认为 laravel 内置代码为此使用路由名称“password.reset”。


查看完整回答
反对 回复 2023-11-03
?
POPMUISE

TA贡献1765条经验 获得超5个赞

这对你不起作用:


 Route::group(['namespace' => 'Auth'],function(){

    // Password Reset Routes...

    Route::get('password/reset/{token}', 'ResetPasswordController@showResetForm')->name('password.reset.token');

    Route::get('password/reset', 'ForgotPasswordController@showLinkRequestForm')->name('password.reset');

    Route::post('password/email', 'ForgotPasswordController@sendResetLinkEmail')->name('password.email');

    Route::post('password/reset', 'ResetPasswordController@reset');

});

注意 get 的顺序


一般的应该在具体的之后。


查看完整回答
反对 回复 2023-11-03
  • 2 回答
  • 0 关注
  • 100 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信