用户
 找回密码
 入住 CI 中国社区
搜索
查看: 9533|回复: 3
收起左侧

[模型] 我看CI验证码

[复制链接]
发表于 2012-10-18 12:20:41 | 显示全部楼层 |阅读模式
本帖最后由 kycool 于 2012-10-18 13:12 编辑

题外话:
         在论坛里看到很多发了很多关于CI验证码的帖子,有心得,也有各种求解;之前本来是想发一个关于验证码的帖子,可能是自己太懒了,一直没有发。我用CI没有查找什么资料,只是深入探究手册和captcha_helper的源码,所有问题都不是问题。有些人一遇到问题就发帖求解,请先问问自己有没有把所有的方法都尝试下,源码都摆在那里,为什么不尝试着去探究下源码呢。话说多了,直接上代码

一 验证码的使用
    用帮助方法的之前,请先查看帮助文件源码,看下你所有方法会返回个什么结果;如果你看都不看一下,以后一遇到问题就会头大。
    create_captcha这个方法会返回一个关联数组array('word' => $word, 'time' => $now, 'image' => $img);

    实例:
                    public  function  show_captcha(){                        $vals=array(
                                        'word'=>rand(1000,10000),//显示纯数字,这里有人不知道怎么做
                                        'img_path'=>'./captcha/',
                                        'img_url'=>base_url()."captcha/",
                                        'img_width'=>'80',
                                        'img_height'=>'30',
                                        'expiration'=>5
                        );
                        $cap=create_captcha($vals);
                        $img=$cap['image'];
                        $time=$cap['time'];
                        $num=$cap['word'];
                        echo $img."<br/>------------<br/>".$time."<br/>------------<br/>".$num."<br/>-------------<br/>";
                }
      照葫芦画瓢运行下你就会明白了
      有些问题我不想说的太清楚,手册说的很明白
      
二   BUG
     2.1 自定义宽度所显示的数字超出边框的问题
          打开captcha_helper源文件,
                      if ($use_font == FALSE)                {
                        $font_size = 5;
                        //$x = rand(0, $img_width/($length/3));
                        $x=rand(0,20);//修改
                        $y = 0;
                }
                else
                {
                        $font_size        = 16;
                        //$x = rand(0, $img_width/($length/1.5));
                        $x=rand(0,20);//修改
                        $y = $font_size+2;
                }

        如果不懂,仔细看源码

       2.2验证码session的问题
            这根本不是个问题,自己添加相应的逻辑就可以达到你的要求;如果不会写,这是你自己的问题




发表于 2012-10-18 12:51:49 | 显示全部楼层
"我看CI验证类"
标题改改,看了标题不知道你帖子要说什么,是验证码还是表单验证类
而且,验证码不是类,就是helper,呵呵呵
 楼主| 发表于 2012-10-18 13:13:27 | 显示全部楼层
jeongee 发表于 2012-10-18 12:51
"我看CI验证类"
标题改改,看了标题不知道你帖子要说什么,是验证码还是表单验证类
而且,验证码不是类,就 ...

谢谢;
发表于 2015-7-27 15:29:26 | 显示全部楼层
赞 刚好遇到这个问题 搞定

本版积分规则