我将这个代码替换为我的web.php,与laravel 5.2中的代码相同,现在使用laravel 5.5,我在5.2版本中没有任何错误。
Route::get('/home', function () {
return view('home');
});
Route::get('/register', 'registerController@index');
Route::post('/register', 'registerController@register');
Route::get('/signin', 'signinController@index');
Route::post('/login', 'signinController@login');
Route::get('/logout', ['uses'=>'signinController@logout'])->middleware('auth');
Route::get('/profile', ['uses'=>'profileController@index'])->middleware('auth');
Route::get('/updateprofile', ['uses'=>'profileController@updateprofile'])->middleware('auth');
Route::post('/updateprofile', ['uses'=>'profileController@updateprofilesave'])->middleware('auth');
Route::post('/updateprofiles', ['uses'=>'profileController@updatechannelart'])->middleware('auth');
Route::get('/changepassword', ['uses'=>'profileController@indexpassword'])->middleware('auth');
Route::post('/changepassword', ['uses'=>'profileController@changepassword'])->middleware('auth');
Route::get('/article', 'articleController@index');
Route::get('/searchuser', ['uses'=>'searchController@index']); //Untuk searching user
Route::get('/searchuserpage', ['uses'=>'searchController@searchuser']); //searching user jquery
Route::get('/photos', ['uses'=>'documentationController@indexphoto'])->middleware('auth');
然后我尝试访问url / profile,这意味着首先需要进行身份验证,并向我显示错误InvalidArgumentException Route [login] not defined.
如何解决此问题。三江源
这是我的Authenticate.php代码
public function handle($request, Closure $next)
{
if(Auth::Check()){
return $next($request);
}
else{
return redirect('/signin');
}
}
答案 0 :(得分:2)
问题来自这样一个事实,即在您的代码实例化的某个地方,您指的是一个名为“登录”的命名路由。但是你的web.php文件中没有定义它。
遇到此问题的一个示例是,您可能有一个重定向指向此路径,隐藏在您的某个控制器中,例如:
return redirect()->route('login');
要解决此问题,请将名称应用于适用的路线。
Route::post('/login', 'signinController@login')->name('login');
答案 1 :(得分:0)
这是指定路线的问题。请确保使用指定路线的所有地方。
Route::get('/signin', 'signinController@index')->name('login')
在这里,您可以看到我将此路由命名为login
,我可以使用route('login')
辅助方法在任何地方调用此路由。
答案 2 :(得分:0)
当您在项目中调用路线时,您必须定义路线名称。
如:
<form action:"{{route('login')}}" method="post">
和路线:
Route::post('/signin', 'signinController@index')->name('login')