欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

上面这段PHP后台登陆代码实现免登陆

程序员文章站 2022-05-01 18:01:30
...
下面这段PHP后台登陆代码实现免登陆
如果后台管理员帐号为admin,密码为123456请问下面这段代码如何实现免登陆,麻烦知道的大哥直接给代码谢谢了


PHP code
display(APP_PATH.'/Public/admin/login.html');
    }
    
    //生成验证码
    public function vcode(){
        import("ORG.Util.Image");
        Image::buildImageVerify();//6,0,'png',1,20,'verify'
    }
    
    //登录检测
    public function check(){
        if(empty($_POST['user_name'])){$this->error('帐号必须!');}
        if(empty($_POST['user_pwd'])){$this->error('密码必须!');}
        if(function_exists('gd_info')){
            if(empty($_POST['verify'])){$this->error('验证码必须!');}
            if($_SESSION['verify']!=md5($_POST['verify'])){$this->error('验证码错误!');}
        }
        //生成认证条件
        $map=array();
        //支持使用绑定帐号登录
        $map['admin_name']=$_POST['user_name'];
        //$map["user_status"]=array('gt',0);//状态
        $rs=D("Admin.Admin");
        $authInfo=$rs->where($map)->find();
        //使用用户名、密码和状态的方式进行认证
        if(false === $authInfo) {
            $this->error('帐号不存在或已禁用!');
        }else {
            if($authInfo['admin_pwd']!=md5($_POST['user_pwd'])){
                $this->error('密码错误!');
            }
            // 缓存访问权限
            $_SESSION[C('USER_AUTH_KEY')]=$authInfo['admin_id'];
            $_SESSION['admin_ok']=$authInfo['admin_ok'];
            $_SESSION['admin_name']=$authInfo['admin_name'];            
            //$_SESSION['email']=$authInfo['admin_email'];
            //$_SESSION['lastLoginTime']=$authInfo['admin_logintime'];
            //$_SESSION['login_count']=$authInfo['admin_count'];
            //if($authInfo['user_name']=='admin') {
                //$_SESSION['administrator']        =    true;
            //}    
            //保存登录信息
            $ip=get_client_ip();
            $data=array();
            $data['admin_id']=$authInfo['admin_id'];
            $data['admin_logintime']=time();
            $data['admin_count']=array('exp','admin_count+1');
            $data['admin_ip']=get_client_ip();
            $rs->save($data);
            redirect('index.php?s=Admin-Index');                    
        }
    }    
    
    // 用户登出
    public function logout(){
        if(isset($_SESSION[C('USER_AUTH_KEY')])) {
            unset($_SESSION[C('USER_AUTH_KEY')]);
            unset($_SESSION);
            session_destroy();
            $this->assign('jumpUrl','index.php?s=Admin-Login');
            $this->success('登出成功!');
        }else {
            $this->error('已经登出!');
        }
    }        
}
?>


------解决方案--------------------
改写 index 方法为
PHP code
    public function index(){
        if ($_SESSION[C('USER_AUTH_KEY')]){
            redirect("index.php?s=Admin-Index");
        }
        //$this->display(APP_PATH.'/Public/admin/login.html');
    
        $_POST['user_name'] = 'admin';
        $_POST['user_pwd'] = '123456';
        $_POST['verify'] = 1;
        $_SESSION['verify'] = md5($_POST['verify']);
        $this->check();
   } 
上面这段PHP后台登陆代码实现免登陆

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频