I'm currently having problem with my login in the main page(I got template from w3layout to practice).
I'm using authentication with default middle ware(guest, user).
After I registered, the auth:check() worked and only show log out link in the main page.
But when I try to login the login pop up modal still there in the main view.
I'm currently new to laravel.
I hope you can help me :D
my route
Route::get('/', function () {
return view('mainpage');
});
Route::get('/mail',function(){
return view('mail');
});
Route::group(['prefix'=>'user'],function(){
Route::group(['middleware' => 'guest'], function() {
Route::post('/register',[
'uses'=>'UserController@postSignup',
'as'=>'signup',
]);
Route::post('/login',[
'uses'=>'UserController@postSignin',
'as'=>'signin',
]);
});
Route::group(['middleware' => 'auth'], function() {
Route::get('/logout',[
'uses'=>'UserController@getLogout',
'as'=>'logout',
]);
});
});
My UserController
public function postSignup(Request $request){
$this->validate($request,[
'name'=>'required',
'email'=>'email|required|unique:users',
'password'=>'required|min:4',
'birthday'=>'required',
'address'=>'required',
]);
$user = new User([
'name'=>$request->input('name'),
'email'=>$request->input('email'),
'password'=>bcrypt($request->input('password')),
'birthday'=>$request->input('birthday'),
'address'=>$request->input('address'),
]);
$user->save();
Auth::login($user);
return redirect()->back();
}
public function postSignin(Request $request){
$this->validate($request,[
'email'=>'email|required|unique:users',
'password'=>'required|min:4',
]);
if (Auth::attempt(['email' => $request->input('email'), 'password' => $request->input('password')])) {
return redirect()->back();
}
return redirect()->back();
}
public function getLogout(){
Auth::logout();
return redirect()->back();
}
AND IN THE MAIN PAGE
@if(\Illuminate\Support\Facades\Auth::check())
<div><a href="{{route('logout')}}">LOG OUT</a></div>
@else
<div class="w3l_login">
<a href="#" data-toggle="modal" data-target="#myModal88"><span class="glyphicon glyphicon-user" aria-hidden="true"></span></a>
</div>
<div class="modal fade" id="myModal88" tabindex="-1" role="dialog" aria-labelledby="myModal88" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title" id="myModalLabel">Don't Wait, Login now!</h4>
</div>
<div class="modal-body modal-body-sub">
<div class="row">
<div class="col-md-8 modal_body_left modal_body_left1" style="border-right: 1px dotted #C2C2C2;padding-right:3em;">
<div class="sap_tabs">
<div id="horizontalTab" style="display: block; width: 100%; margin: 0px;">
<ul>
<li class="resp-tab-item" aria-controls="tab_item-0"><span>Sign in</span></li>
<li class="resp-tab-item" aria-controls="tab_item-1"><span>Sign up</span></li>
</ul>
<div class="tab-1 resp-tab-content" aria-labelledby="tab_item-0">
<div class="facts">
<div class="register">
<form action="{{route('signin')}}" method="post">
<input name="email" placeholder="Email Address" type="text" required="">
<input name="password" placeholder="Password" type="password" required="">
<div class="sign-up"><input type="submit"/>{{csrf_field()}}</div>
</form>
</div>
</div>
</div>
<div class="tab-2 resp-tab-content" aria-labelledby="tab_item-1">
<div class="facts">
<div class="register">
<form action="{{route('signup')}}" method="post">
<input placeholder="Name" name="name" type="text" required="">
<input placeholder="Email Address" name="email" type="email" required="">
<input placeholder="Password" name="password" type="password" required="">
<input placeholder="Confirm Password" name="password" type="password" required="">
<input placeholder="Birthday" name="birthday" type="text" required="">
<input placeholder="Address" name="address" type="text" required="">
@if(count($errors)>0)
<div class="alert alert-danger">
@foreach($errors->all() as $error))
<p>{{$error}}</p>
@endforeach
</div>
@endif
<div class="sign-up">
<input type="submit"/>
{{csrf_field()}}
</div>
</form>
</div>
</div>
</div>
</div>
</div>
<div id="OR" class="hidden-xs">OR</div>
</div>
<div class="col-md-4 modal_body_right modal_body_right1">
<div class="row text-center sign-with">
<div class="col-md-12">
<h3 class="other-nw">Sign in with</h3>
</div>
<div class="col-md-12">
<ul class="social">
<li class="social_facebook"><a href="#" class="entypo-facebook"></a></li>
<li class="social_dribbble"><a href="#" class="entypo-dribbble"></a></li>
<li class="social_twitter"><a href="#" class="entypo-twitter"></a></li>
<li class="social_behance"><a href="#" class="entypo-behance"></a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
@endif
Maybe the problem is in the validation?
public function postSignin(Request $request){
$this->validate($request,[
'email'=>'email|required|unique:users',
This validation fails for an existing email. Try it:
'email'=>'email|required',