Login.php 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. namespace app\admin\controller;
  3. use think\Controller;
  4. use think\Request;
  5. use think\Db;
  6. class Login extends Controller{
  7. public function lst(){
  8. $post_token = input('post.TOKEN');//先接收token传过来的值(因为用的layui表单监听提交,可以不用判断是post提交)
  9. if(!checkToken($post_token)){//如果验证token不一致则提示请勿重复条件页面(token值在每次完成一个搜索时创建一个新的token)
  10. $this->redirect('admin/index/server');
  11. }
  12. if (request()->isPost()){
  13. $data['uname'] = input('uname');
  14. $data['upass'] = md5(input('upass'));
  15. //从数据库读取数据
  16. $info = db('user')->where($data)->find();
  17. if($info){
  18. $login_data['last_login_time']=time(); //获取当前登录时间
  19. $login_data['last_login_ip'] = $this->request->ip();//获取当前登录ip
  20. $login = db('user')->where($data)->update($login_data);// 更新当前用户信息
  21. if($login){
  22. // session('uname',$info['uname']);
  23. // session('id',$info['id']);
  24. createToken();//登录成功时创建一个新token
  25. session('admin_auth',$info);//$info(相当于直接将这个数组中id 和uname存入session)
  26. insert_admin_log('登录操作');//写入日志表
  27. return 1;
  28. }else{
  29. return 3;
  30. }
  31. }else{
  32. return 2;
  33. }
  34. }else{
  35. //如果不是post,则返回登陆界面
  36. return view();
  37. }
  38. }
  39. public function logout(){
  40. //退出登录
  41. session(null);//退出清空session
  42. //url("/lst"):为后台登录地址,设置路由进行替换的(在route.php中查看)
  43. return $this->success(url('/lst'));//跳转到登录页面
  44. }
  45. }