Local.ERROR:未定义路由 [登录]。 Laravel 问题

Posted

技术标签:

【中文标题】Local.ERROR:未定义路由 [登录]。 Laravel 问题【英文标题】:Local.ERROR: Route [login] not defined. Laravel Problem 【发布时间】:2020-11-17 06:52:36 【问题描述】:

我的代码中发生了奇怪的事情!我像 2 年前一样用 Laravel 创建了一个网站,它工作得很好,但现在我试图打开它并再次查看它,我遇到了一些问题,在登录或注册系统之前,这些视图工作得很好但是自从我注册或登录后,所有页面突然空白,我很困惑,我无法弄清楚问题到底在哪里,当我检查我的数据库时,一个新用户被添加到表中'用户根据我注册的信息,所以它可以工作,但它没有向我显示系统。

这是我的代码的一部分:

               RegisterController

  public function create()
   
     return view('/register');
   

     public function store(Request $request)
   
$user = new User;
$user->name = $request->name;
$user->email = $request->email;
$user->password = bcrypt($request->password);

if ($request->hasFile('photo')) 
    $user->photo = $request->photo->store('avatar');


if ($request->hasFile('image')) 
    $user->image = $request->image->store('avatar');



$user->save();

$user->roles()->attach(Role::where('name', 'Elève')->first());

auth()->login($user);

return redirect('/');
   

路线

   Route::get('/register', 'RegisterController@create');
   Route::post('/register', 'RegisterController@store');

我检查了 Laravel.log 是否有错误,我发现了这个错误:

 [2018-05-24 09:53:59] local.ERROR: Route [login] not defined. (View: C:\xampp\htdocs\education 
  finale\resources\views\layouts\edu.blade.php) (View: C:\xampp\htdocs\education 
 finale\resources\views\layouts\edu.blade.php) "exception":"[object] (ErrorException(code: 0): Route 
   [login] not defined. (View: C:\\xampp\\htdocs\\education finale\
     esources\\views\\layouts\\edu.blade.php) (View: C:\\xampp\\htdocs\\education finale\
      esources\\views\\layouts\\edu.blade.php) at C:\\xampp\\htdocs\\education 
       finale\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\UrlGenerator.php:370, 
  ErrorException(code: 0): Route [login] not defined. (View: C:\\xampp\\htdocs\\education finale\
  esources\\views\\layouts\\edu.blade.php) at C:\\xampp\\htdocs\\education 
  finale\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\UrlGenerator.php:370, 
  InvalidArgumentException(code: 0): Route [login] not defined. at C:\\xampp\\htdocs\\education 
 finale\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\UrlGenerator.php:370)
  [stacktrace]

还有别的东西,上次(两年前)我从我的磁盘驱动器 C 运行 xampp,现在我从我的磁盘驱动器 D 运行它也许这就是我如何更改路径的问题?

谢谢大家

【问题讨论】:

【参考方案1】:

提供的错误显示您要查看的文件:

C:\xampp\htdocs\education\finale\resources\views\layouts\edu.blade.php

在这个文件中,可能有一行:

 route('login') 

在您的路由文件中,您没有定义login 路由,因此会引发此错误。

登录路由通常由Auth 门面自动创建。所以在你的路线文件中,它应该有:

Auth::routes();

你可以通过在 Laravel 根目录中的命令提示符中运行 php artisan route:list 来查看已注册的路由及其名称。

要解决此问题,您需要重新定义 login 路由,或者从视图中删除对它的引用。

【讨论】:

以上是关于Local.ERROR:未定义路由 [登录]。 Laravel 问题的主要内容,如果未能解决你的问题,请参考以下文章

Spring Security 未路由到自定义登录页面 404 错误

尽管正确链接 HTML,但未定义错误

路由 [password.request] 未定义。但是Auth在路由[laravel]

如果未登录,如何将用户重定向到登录页面

TypeError:无法读取未定义的属性“历史”

req.user 注册后未定义