路线文件
Route::get('/home','HomeController@index')->name('home'); Route::get('/',['as' => '/','uses' => 'LoginController@getlogin']); Route::post('/Login',['as'=> 'Login','uses' => 'LoginController@postLogin' ]); Route::get('/login',array('as' => 'login','uses' => 'LoginController@getLogin')); Route::group(['middleware'=>['authen','roles' ]],function(){ Route::get('/logout',['as' => 'logout','uses'=> 'LoginController@getlogout']); Route::get('/dashboard',['as'=> 'dashboard','uses'=> 'DashboardController@dashboard']); });
的LoginController
class LoginController extends Controller{ use AuthenticatesUsers; protected $username = 'username'; protected $redirectTo = '/dashboard'; protected $guard = 'web'; public function getLogin() {`enter code here` if (Auth::guard('web')->check()){ return redirect()->route('dashboard'); } return view('login'); } public function postLogin(Request $request) { $auth = Auth::guard('web')->attempt(['username'=>$request->username,'password'=>$request->passwod,'active' => 1]); if ($auth) { return redirect()->route('dashboard'); } return redirect()-> route('/'); } public function getlogout() { Auth::guard('web')->logout(); return redirect()->route('/'); } }
每当我尝试登录时,网址都会转到“http://localhost:8000/login ”和RouteCollection.PHP第179行中的NotFoundHttpException:发生错误.
我尝试了很多时间,但我无法登录Laravel.
刀片文件
@extends('layouts.app') @section('content') <div class="container"> <div class="row"> <div class="col-md-8 col-md-offset-2"> <div class="panel panel-default"> <div class="panel-heading">login</div> <div class="panel-body"> <form class="form-horizontal" role="form" method="POST" action="{{ url('/login') }} "> {{ csrf_field() }} <div class="form-group{{ $errors->has('username') ? ' has-error' : '' }}"> <label for="username" class="col-md-4 control-label">Username</label> <div class="col-md-6"> <input id="email" type="username" class="form-control" name="username" value="{{ old('username') }}" required autofocus> @if ($errors->has('username')) <span class="help-block"> <strong>{{ $errors->first('email') }}</strong> </span> @endif </div> </div> <div class="form-group{{ $errors->has('password') ? ' has-error' : '' }}"> <label for="password" class="col-md-4 control-label">Password</label> <div class="col-md-6"> <input id="password" type="password" class="form-control" name="password" required> @if ($errors->has('password')) <span class="help-block"> <strong>{{ $errors->first('password') }}</strong> </span> @endif </div> </div> <div class="form-group"> <div class="col-md-6 col-md-offset-4"> <div class="checkBox"> <label> <input type="checkBox" name="remember" {{ old('remember') ? 'checked' : '' }}> Remember Me </label> </div> </div> </div> <div class="form-group"> <div class="col-md-8 col-md-offset-4"> <button type="submit" class="btn btn-primary"> Login </button> </div> </div> </form> </div> </div> </div> </div> </div> @endsection
解决方法
从表单的action属性中删除最后一个空格:
<form class="form-horizontal" role="form" method="POST" action="{{ url('/login') }} ">
应该:
<form class="form-horizontal" role="form" method="POST" action="{{ url('/login') }}">
另外,在登录后路线中使字母L变小.
Route::post('/Login','uses' => 'LoginController@postLogin' ]);
应该
Route::post('/login','uses' => 'LoginController@postLogin' ]);