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

[其它 Other] 推荐一个验证码生成的代码:cool-php-captcha

    [复制链接]
发表于 2010-4-11 18:35:31 | 显示全部楼层 |阅读模式
本帖最后由 cnjameschan 于 2010-4-13 18:56 编辑

请刚入门PHP和CI,研究验证码中发现一个好东西,cool-php-captcha ,作者自己网站是被屏蔽了,好在有google的code,再一次感谢Google。
我稍加改动搞成一个model,实际使用也不会有session和验证码不一致的问题。

验证码样式:也是类Google的,我本身就是G-FAN,很喜欢。

请访问:http://code.google.com/p/cool-php-captcha/ 下载源代码
直接下载: cool-php-captcha-0.3.zip (1.51 MB, 下载次数: 1339)

稍加改动在CI中使用:没有技术含量,只是大家玩玩。
1、将captcha.php chaptcha.rar (3.1 KB, 下载次数: 572) 放进app/model目录
2、在你合适的控制器文件中加function getcode()
    function getcode() {
        //echo dirname(__FILE__).DIRECTORY_SEPARATOR.'<br>';
        $this->load->model('Captcha');
        $captcha = new Captcha();
        $captcha->wordsFile = 'en.php';
        $captcha->session_var = 'captcha';
        $captcha->imageFormat = 'png';
        $captcha->scale = 1;
        $captcha->blur = true;
        $aa=dirname(__FILE__).DIRECTORY_SEPARATOR;
        $captcha->resourcesPath = $aa.'resources';
        $captcha->CreateImage();
        //echo $aa;
    }
3、在合适的控制器中(验证传递过来的值)加入

        /** Validate captcha */
        $validate_captcha=false;
        if (!empty($_POST['captcha'])) {
            if (empty($_SESSION['captcha']) || trim(strtolower($_POST['captcha'])) != $_SESSION['captcha']) {
                $validate_captcha=false;
//echo $_SESSION['captcha'].'<br>';
//echo $_POST['captcha'].'<br>';
            } else {
                $validate_captcha=true;
            }
            unset($_SESSION['captcha']);
        }
4、在view中调用
        <img src="<?php echo xxxx/getcode" id="captcha" title="点击图片更新" /><br/>忘了说整个resources文件夹放在控制器文件夹内吧
发表于 2014-8-26 09:16:58 | 显示全部楼层
★♂翼☆ 发表于 2012-4-25 22:15
不错,终于显示出来了,font路径要放对

font要放在哪里呀
发表于 2014-8-26 10:41:48 | 显示全部楼层
不管font放在哪里,都是显示不出来呀
发表于 2014-12-19 11:21:42 | 显示全部楼层
谢谢楼主分享,先收下了
发表于 2010-4-12 14:56:59 | 显示全部楼层
不错的东西,谢谢了
发表于 2010-4-12 16:31:01 | 显示全部楼层
这验证码可难破多了,呵呵
发表于 2010-4-12 17:43:21 | 显示全部楼层
能不能讲讲怎么在CI里用啊,初学。。
 楼主| 发表于 2010-4-12 19:56:11 | 显示全部楼层
我也是初学PHP+CI,呵呵,我把它的代码稍微分解一下,做成model,但是资源只好暂时放在控制器目录下,
如果有人要,我把源码贴出来吧。
发表于 2010-4-13 08:42:34 | 显示全部楼层
回复 5# cnjameschan


   贴出来吧,我需要
发表于 2010-4-13 08:57:37 | 显示全部楼层
贴一下吧,老大,正好让大家学习一下:)
发表于 2010-4-13 09:03:09 | 显示全部楼层
验证码漂亮  呵呵   放ci里面 一般是放在自己的类库或者辅助函数里面的

model是放处理数据相关的东西的
发表于 2010-4-18 12:42:16 | 显示全部楼层
不错 研究 学习
发表于 2010-4-19 15:00:10 | 显示全部楼层
好东西,我喜欢

本版积分规则