Fichier de route
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('/');
}
}
Chaque fois que j'essaie de me connecter, l'URL se trouve sur " http: // localhost: 8000/login & # 10 ;" et NotFoundHttpException dans la ligne 179 de RouteCollection.php: une erreur survient.
J'ai essayé beaucoup de temps mais je ne peux pas me connecter à Laravel.
Le fichier lame
@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
Supprimez le dernier espace de l'attribut action du formulaire:
<form class="form-horizontal" role="form" method="POST" action="{{ url('/login') }} ">
devrait être:
<form class="form-horizontal" role="form" method="POST" action="{{ url('/login') }}">
Assurez-vous également que lettreLsmall est inscrit après la connexion.
Route::post('/Login', ['as'=> 'Login' , 'uses' => 'LoginController@postLogin' ]);
Devrait être
Route::post('/login', ['as'=> 'Login' , 'uses' => 'LoginController@postLogin' ]);
try http: // localhost: 8000/yourProjetcName/login au lieu de localhost: 8000/login & # 10 si cela ne fonctionne pas Essayez d'accéder à http: // localhost: 8000/yourProjetcName/index.php/login Si cela fonctionne, vous devez configurer un hôte virtuel dans votre fichier Apache vHosts.