Laravel 5.7登录和注册页面不起作用:刷新相应页面

9 浏览
0 Comments

Laravel 5.7登录和注册页面不起作用:刷新相应页面

大家好!我是Laravel的新手,并且正在使用以下技术开发项目:\nLaravel框架5.7.15\nXAMPP for Windows 7.2.1\nPHP版本:7.2.1\nApache/2.4.29\nMySQL: libmysql - mysqlnd 5.0.12-dev \n一切都运行得很好:登录和注册都没问题。然后我想限制应用的注册功能。所以我在StackOverflow上找到了以下解决方案:\n如何禁用Laravel 5中的新用户注册 \n然后我将其添加到app/Http/Controlers/Auth/RegisterController.php:\n

public function showRegistrationForm()
{
    return redirect('login');
}
public function register()
{
}

\n之后(或者可能是其他原因,但我不确定),登录页面在未登录的情况下重定向到登录页面。同样,注册页面(我记得它会重定向到登录页面)也会刷新页面而不会将我注册到系统中。\n我为解决这个问题所做的尝试:\n1)我从文件中删除了上述方法。页面不能按预期工作。两个页面都刷新,没有任何错误。\n2)我删除了我的数据库并重新迁移。没有结果。\n我不想因为这个问题重新创建项目,希望有人可以帮助我。\n非常感谢!

0
0 Comments

问题的原因是在Laravel 5.7中,如果想要限制用户只能访问认证功能而不能访问注册页面,需要在web.php路由文件中修改Auth::routes()代码为Auth::routes(['register' => false])。如果之前已经删除了用于认证的数据库表,在做出这些更改之前需要先恢复这些表。

为了解决问题,需要在LoginController控制器中添加一个showLoginForm()方法,并将其代码复制到"use AuthenticatesUsers;"之后。这个方法的代码如下:

public function showLoginForm()
{
    return view('auth.login');
}

如果以上方法不起作用,还需要检查数据库用户表中是否存在用户凭据。如果不存在用户凭据,系统将无法验证登录。

最后,还需要检查代码中是否缺少HTML标签的开闭对,或者问题是否仅与Laravel本身有关。

以上是这个问题出现的原因以及解决方法的整理。

0