1、设计数据库表名,字段
2,建立模型
<?php namespace app\login\model; use think\Model; class LoginLon extends Model { // protected $table = 'loginLog'; protected $createTime = true; protected $updateTime = true; //将用户的登陆的信息入库 public static function log($data) { return self::create($data, true); } }
3.编写登录日记
<?php namespace app\login\controller; use app\login\model\LoginLon; use app\login\model\LoginModel; use think\Controller; use think\Validate; use think\View; class Login extends Controller { public function login() { return view(); } public function loginSuccess() { $ip = request()->ip(); $userIp = ip2long($ip); //接受参数 $data = input(); // 验证参数非空 $rule = [ 'account' => 'require', 'password' => 'require', 'code' => 'require' ]; //提示信息 $tips = [ 'account.require' => '账号不可以为空', 'password.require' => '密码不可以为空', 'code.require' => '验证码不可以为空' ]; $validate = new Validate($rule, $tips); $result = $validate->check($data); if (!$result) { $this->error($validate->getError(), 'login/login/login'); } //数据库用户的信息(账号密码与登录的用户进行对比) $result = LoginModel::loginParams($data); if ($data['account'] != $result['name']) { $this->error('账号输入错误', '/login/login/login'); } if (md5($data['password']) != md5($result['password'])) { $this->error('密码输入错误', '/login/login/login'); } if (!captcha_check($data['code'])) { //验证失败 $this->error('验证码输入错误', '/login/login/login'); }; //添加登录日记 $log = [ 'user_id' => $result['id'], 'ip' => $userIp, 'username' => $result['account'] . '登录' ]; $result = LoginLon::log($log); if ($data) { session('name', $data['account']); $this->success('登录成功'); } } }
4.建立loginlog模型