Php 无法在Laravel中登录
无法在laravel中登录,每次登录时它都会重定向到登录页面而不是主页,下面是我的代码 这是我的控制器代码,我在这里写了d登录代码Php 无法在Laravel中登录,php,html,laravel,laravel-5.3,Php,Html,Laravel,Laravel 5.3,无法在laravel中登录,每次登录时它都会重定向到登录页面而不是主页,下面是我的代码 这是我的控制器代码,我在这里写了d登录代码 public function loginprocess(Request $request){ $username = $request->get('username'); $password = $request->get('password'); $checkuser = Users::selectRaw("Count(*)
public function loginprocess(Request $request){
$username = $request->get('username');
$password = $request->get('password');
$checkuser = Users::selectRaw("Count(*) as Total")->where('email','=',$email)->first();
if(intval($checkuser->Total) > 0){
$getpassword = Users::select("password")->where('email','=',$email)->first();
if(password_verify($password,$getpassword->password)){
//if($username == $checkuser && $password == $getpassword){
$request->session()->set('email',$email);
return redirect('/home');
}else{
return redirect('/login');
}
}else{
return redirect('/login');
}
}
登录后它应该去的路线代码
Route::group(['middleware' => 'checkuser'],function(){
Route::get('/home','HomeController@index');
});
这是我的HTML表单代码
<form class="form-horizontal" role="form" method="post" action="loginprocess">
{{ csrf_field() }}
<div class="form-group fg-float">
<div class="fg-line">
<label class="fg-label">Email Address</label>
<input type="email" id="email" name="email" value="{{ old('email') }}" class="input-sm form-control fg-input">
</div>
</div>
<div class="form-group fg-float">
<div class="fg-line">
<label class="fg-label">Password</label>
<input type="password" id="password" name="password" class="input-sm form-control fg-input">
</div>
</div>
<button class="btn palette-Teal bg" name="Login">Sign in</button>
<div class="m-t-20">
<a data-bg="blue" class="palette-Teal text d-block m-b-5" href="register">Create an Account</a>
<a data-bg="purple" class="palette-Teal text" href="forget">Forgot Password?</a>
</div>
</form>
请帮助因为您在这里调用的$email变量$request->session->set'email',$email;在那条线之前的任何地方都不存在。添加$email=$request->get'email';就在$password=$request->get'password';下方
现在,一些惯例。为什么你们是复数的用户模型?
我想你想滚动自己的登录,而不是使用默认登录;一切都好。但是,请对此做一些研究。Laravel也提供了一种很好的开箱即用的方法:
if (Auth::attempt(['email' => $email, 'password' => $password])) {
// Authentication passed...
return redirect()->intended('home');
}
同时阅读你的代码。您似乎正在保存纯文本密码。请将散列用户密码作为一种习惯。Laravel使用Hash::make'password'开箱即用;
在这里阅读更多内容只是问一下……为什么要编写自己的登录代码?还有,你能展示checkuser中间件的代码吗。@Bostjan@Aavin如果我的答案对你有帮助,请也把它标记为答案。请谢谢。仍然无法登录