第一:他会判断这是不是post提交的。为什么post提交。因为get的话,密码别人会看到是啥哈.
然后用户表里面这个用户是否存在。
如果不存在或者这个用户处于黑名单状态的话。

return alert('用户不存在,或者此用户未被审核通过','index',5,3);

如果这个用户点击登录的验证码校验不通过的话,代表输出的验证码不正确。

return alert('验证码不正确','index',5,3);

判断输入的密码与数据库中对应用户的密码是否一致。不一致的话。

return alert('密码不正确','index',5,3);

如果这全部都可以的话,保存用户数据到session中。

session('adminAccount', $adminData);

作用:因为有了这个保存的session。所以就能做到登录后才能操作后台功能。
提供什么思路呢?
加一个方法在login里面

public function initialize() {

//已登录直接跳转
$account = session('adminAccount');
if($account && $account['id']) {
return $this->redirect(url('index/index'));

}
}

这个方法就是初始化的时候也就是说第一执行的就是它,代表如果存在session。代表登录成功了index.html页面上。不存在的话,代表登录失败。返回到login.html页面上.
那什么情况下会存在session呢?
在登录成功的情况下,会赋值用户数据到session中的。所以就能判断啦
tp6点击登录过程中电脑究竟做了啥?_验证码




namespace app\dongadmin\controller;
use think\facade\Db;

class Login extends Base

{
public function initialize() {

//已登录直接跳转
$account = session('adminAccount');
if($account && $account['id']) {
return $this->redirect(url('index/index'));

}
}

//后台登录的逻辑
public function index()

{

if(request()->isPost()) {

$data = input('post.');



// 通过用户名 获取 用户相关信息

$adminData = Db::name('admin')->where('username',$data['username'])->find();//一维数组


if(!$adminData || $adminData['status'] !=1 ) {

return alert('用户不存在,或者此用户未被审核通过','index',5,3);

}



if(!captcha_check($data['verifycode'])) {
// 校验失败
return alert('验证码不正确','index',5,3);
}


if($adminData['password'] !=$this->password_salt($data['password'])) {
return alert('密码不正确','index',5,3);
}

session('adminAccount', $adminData);

return alert('登录成功!','index/index',6,3);


}else {


return view();

}

}



}