Login.php 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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方法发送的数据:如果是则开始登陆
  9. is_admin_login() && $this->redirect('admin/index/server'); // 如果已经登录过的用户重复登录就直接跳转到首页
  10. if (request()->isPost()){
  11. $data['uname'] = input('uname');
  12. $data['upass'] = md5(input('upass'));
  13. //从数据库读取数据
  14. $info = db('user')->where($data)->find();
  15. if($info){
  16. $login_data['last_login_time']=time(); //获取当前登录时间
  17. $login_data['last_login_ip'] = $this->request->ip();//获取当前登录ip
  18. $login = db('user')->where($data)->update($login_data);// 更新当前用户信息
  19. if($login){
  20. // session('uname',$info['uname']);
  21. // session('id',$info['id']);
  22. session('admin_auth',$info);//$info(相当于直接将这个数组中id 和uname存入session)
  23. session('admin_auth_sign', data_auth_sign($info));//data_auth_sign():数据签名认证
  24. insert_admin_log('登录操作');//写入日志表
  25. return 1;
  26. }else{
  27. return 3;
  28. }
  29. }else{
  30. return 2;
  31. }
  32. }else{
  33. //如果不是post,则返回登陆界面
  34. return view();
  35. }
  36. }
  37. public function logout(){
  38. //退出登录
  39. session(null);//退出清空session
  40. //url("/lst"):为后台登录地址,设置路由进行替换的(在route.php中查看)
  41. return $this->redirect(url('/lst'));//跳转到登录页面
  42. }
  43. }