tp3.2.3 验证码一直验证不对[已解决]

浏览:5681 发布日期:2015/02/02 分类:求助交流 关键字: 验证码 verify
页面输出$_SESSION里面是有验证码的值的

但是验证的时候一直错误

通过排除 发现验证码类 Verify.class.php中的check()函数里
$key有值
$secode = session($key); 这个$secode的值是NULL

请问到底是什么问题导致$secode是空呢 本地测试是好的

查出问题是表单自动验证的问题 如果提交验证是可以的 表单的自动验证用ajax提交验证不行

问题已经解决 将检验函数封装在公共文件夹的function.php中再调用就没这个问题了 不知道是什么原因

下面贴出相关代码:
/项目名称/Common/Common/function.phpfunction check_code($code,$id=''){
    $verfiy = new \Think\Verify();
    return $verfiy->check($code,$id);
}
控制器里的方法:
因为表单验证用的是ajax提交,属于跨域请求要加header信息.public function checktest(){
        $code = I('post.code');
        $arr_ok['ok']="验证码正确!";
        $arr_error['error']="验证码错误!";
        if(check_code($code) === false){
            header("Access-Control-Allow-Origin: *");
            $this->ajaxReturn ($arr_error,'JSON');
        }else{
            header("Access-Control-Allow-Origin: *");
            $this->ajaxReturn ($arr_ok,'JSON');
        }
    }
表单验证用的是niceValidator基于Jqurey库:code':{
             rule:'required;length[4];remote[http://网址/控制器/checktest];',
             msg:{
                 required: "验证码不能为空!",
                 length: "请输入4位验证码."
             }
        }
最佳答案
评论() 相关
后面还有条评论,点击查看>>