tp 5密码输入3次 锁定五分钟后登录

public function login()
{
if(Request::instance()->isGet())
{
return $this->fetch(‘login/login’);
}
else
{

//无限分类
       $cateres = model('Trees')->catetree();
       $this->assign('cateres',$cateres);

        $name=input('post.name');
        $pwd= trim(MD5(input('post.password')));


       if ($name =='') {
           return $this->error('用户名不能为空');
       }
       if ($pwd=='') {
          return $this->error('用户名不能为空');
       }
   

        //查找用户登录的信息
        $arr = Db::table('mc_admin')->where(['admin_name'=>$name])->find();

        //判断状态是否锁定
        if($arr['code'] ==1 )   //锁定时间
        {

       //   dump($arr['code']);
            //判断时间是否过时
            if(time()-$arr['times']>300)
            {
                //取消锁定
                $up['code']=0;
                //改变状态
                Db::table('mc_admin')->where(['admin_name'=>$name])->update($up);
            }
             else
             {
                return $this->error('密码错误次数过多已锁定,请五分钟后登录','Logins/login');
             }
        }

        //判断密码
        if($arr['password'] == $pwd)   //密码相同,判断是否激活
        {
            echo '成功';
            //判断用户是否激活
            $status = $login->where('admin_name',$username)->where('status',1)->find();
           if ($status) {
                //登录成功写入session            
               Session::set('aid', $info['id']);         
               Session::set('name', $info['admin_name']);
        //     Session::set('email', $info['email']);

              //   插入日志 
                $log = new AdminLog();
                $remark = "用户登录";
                $name = Session::get('name');
                $email = Session::get('email');
                $log->addlog($name,$remark);
                
            ///    $res = "登录成功";
                return $this->success('登陆成功','Adminlogs/loglist');
         

            }else{
                return $this->error('用户未激活,请到邮箱中点击链接激活邮件','Logins/login');
            }
        }
        else     //密码输入错误
        {
            //有三次登录机会
            //小于三次时 次数递增
            if($arr['count']<3)
            {
                $up['count']=$arr['count']+1;
                Db::table('mc_admin')->where(['admin_name'=>$name])->update($up);
            }
            else
            {
                //次数大于3时   计数变为0
                $up['count']=0;
                //当前时间
                $up['times']=time();  //获取锁定时间
                //状态锁定
                $up['code']=1;
                //更新参数
                Db::table('mc_admin')->where(['admin_name'=>$name])->update($up);
            }
           
           return $this->error('密码错误');

        }
    }
}

在这里插入图片描述