我的代码中发生了奇怪的事情!两年前,我用Laravel创建了一个网站,它运行得很好,但现在我试图打开它并再次看到它,我面临着一些问题,在登录或注册系统之前,视图运行得很正常,但自从我注册或登录以来,所有页面都突然变为空白,我很困惑,我无法弄清楚问题到底在哪里,当我检查数据库时,根据我注册的信息,一个新用户被添加到了"users"表中,所以它可以工作,但不会向我显示系统。
这是我代码的一部分:
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:xampphtdocseducation
finaleresourcesviewslayoutsedu.blade.php) (View: C:xampphtdocseducation
finaleresourcesviewslayoutsedu.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上运行它,也许这就是问题所在,我该如何更改路径?
谢谢大家
提供的错误显示要查看的文件:
C:xampphtdocseducationfinaleresourcesviewslayoutsedu.blade.php
在这个文件中,可能有一行包含:
{{ route('login') }}
在路由文件中,没有定义login
路由,因此会引发此错误。
登录路由通常由Auth
facade自动创建。所以在你的路线文件中,它应该有:
Auth::routes();
您可以通过在Laravel根目录中的命令提示符中运行php artisan route:list
来查看已注册的路由及其名称。
要解决此问题,您需要重新定义login
路由,或者从视图中删除对它的引用。