我有一个登录用户的页面。该页面非常简单。当我尝试使用正确的用户名/密码时,它会将我返回到我想要的视图,但是在无效的组合中,我会在空白的白页上登陆。任何有关这方面的帮助将不胜感激。
login.blade.php:
<form action="{{ route('submitlogin') }}" method="post">
<div class="form-group has-feedback {{ $errors->has('username') ? 'has-error' : '' }}">
@if($errors->has('username'))
<label class="control-label" for="username"><i class="fa fa-times-circle-o"></i> {{ $errors->first('username') }}</label>
@endif
<input type="text" class="form-control" placeholder="Username" id="username" name="username" value="{{ Request::old('username') }}">
<span class="glyphicon glyphicon-user form-control-feedback"></span>
</div>
<div class="form-group has-feedback {{ $errors->has('password') ? 'has-error' : '' }}">
@if($errors->has('password'))
<label class="control-label" for="password"><i class="fa fa-times-circle-o"></i> {{ $errors->first('password') }}</label>
@endif
<input type="password" class="form-control" placeholder="Password" id="password" name="password" >
<span class="glyphicon glyphicon-lock form-control-feedback"></span>
</div>
<div class="row">
<div class="col-xs-4">
<button type="submit" class="btn btn-primary btn-block btn-flat">Sign In</button>
<input type="hidden" value="{{ Session::token() }}" name="_token" />
</div>
</div>
</form>
web.php(路由):
Route::post('/home', [
'uses' => 'SigninSignupController@postSubmitLogin',
'as' => 'submitlogin'
]);
SigninSignupController.php:
public function postSubmitLogin(Request $request)
{
$this->validate($request, [
'username' => 'required|alpha|max:20|min:4',
'password' => 'required|max:20|min:7'
]);
if (Auth::attempt(['username' => $request['username'], 'password' => $request['password']])) {
return view('pages.welcome');
}
}
可能出现什么问题?
答案 0 :(得分:1)
您需要在else
行添加if (Auth::attempt)
。
像这样:
if (Auth::attempt(['username' => $request['username'], 'password' => $request['password']])) {
return view('pages.welcome');
} else {
// user is not valid, redirect back to login here
session()->flash('alert', 'Bad Credentials');
return view('pages.login');
}