Thinkphp5教学管理系统中验证码一直提示错误登陆不了

登陆界面提示.pnghtml文件中JS的ajax.pngPHP.png

提问者唐位辉源自课程:管理员登陆与验证:验证规则与查询结果返回提问时间:2017-09-06 12:56我来回答
3回答
kevlin
回复kevlin赞同1已被提问者采纳2星期前

我也遇到了这个问题,我是这样解决的

$map里面的参数和数据库字段必须一样,否则点击第一下没反应,第二次验证码错误

1.png

    LauEl
    回复LauEl赞同02星期前
    这个地方查询数据库是有问题的
    在头部use think\Db;
    
    public function checkLogin(Request $request) {
        //初始化返回参数
        $state = 0;
        $result = '';
        $data = $request->param();
        $rule = [
            'name|用户名' => 'require',
            'password|密码' => 'require',
            'verify|验证码' => 'require|captcha',
        ];
        //自定义验证识别的提示信息
        $msg = array('name' => array('require' => '用户名不能为空,请检查您的用户名!'),
            array('password' => array('require' => '密码不能为空,请检查您的密码~')),
        );
        //validate 验证规则      1数据  2规则 3提示
        $result = $this->validate($data, $rule, $msg);
        //如果验证通过执行查询
        if ($result === true) {
            //构造查询条件
            $map = [
                'name' => $data['name'],
                'password' => md5($data['password'])
            ];
            $user = Db::table('user')->where($map)->find();
    
            if (!$user) {
                $result = '没有该用户,请检查';
            } else {
                $state = 1;
                $result = '验证通过,点击[确定]后进入后台';
            }
    
        }
        //进行验证
        return ['state' => $state, 'message' => $result, 'data' => $data];
    
    }


      唐位辉
      回复唐位辉赞同02星期前

      错误代码是:Failed to load resource: the server responded with a status of 500 (Internal Server Error)