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

[讨论/交流] CI验证码问题终于解决,特作笔记,以慰藉那些沉默的英雄:

[复制链接]
发表于 2011-5-7 18:12:22 | 显示全部楼层 |阅读模式
首先加载辅助函数,$this->load->helper('captcha');
创造出验证码:
                        $vals = array(
                    'img_path' => './captcha/',
                    'img_url' => 'http://localhost/ci/captcha/',
                    'font_path' => './path/to/fonts/texb.ttf',
                    'img_width' => '150',
                    'img_height' => 30,
                    'expiration' => 120
                    );
                        $cap = create_captcha($vals);
                        $data['img'] = $cap['image'];//将验证码放data里面,以备前台调用。

                        $this->load->view('admin/home',$data);
                        $this->session->set_userdata('word',$cap['word']);//造验证码的时候要把word放到session里面。下面aa方法里会用。
下面来看前台显示:
<form action="admin/aa" method="post">
  验证码:<input type="text" name="yan"/><?php echo $img;?><br />
  <input type="submit" value="提交"/>
  </form>
admin里的aa方法。
                        if(strcasecmp($this->input->post('yan'),$this->session->userdata('word'))==0){
                                echo "验证码正确!";
                        }
到此,CI的验证码解决了。不过确实有bug。在随意更改验证码的长度时,有时验证码会超出范围。
发表于 2011-5-7 18:18:08 | 显示全部楼层
嗯,这个呗写死了吧,使用其他的验证码,搜下php的不是有很多的嘛
发表于 2011-5-7 19:17:50 | 显示全部楼层
版主你天天在呀??呵呵,直接使用原生session的即可,很多这样的验证码函数
发表于 2011-5-7 19:18:10 | 显示全部楼层
升级论坛真好,搜索也好多了
发表于 2011-5-7 19:22:16 | 显示全部楼层
回复 2009cms 的帖子

呵呵,基本上是这样子的啊,随便找个验证码的程序,改改就可以用了,无论什么session
发表于 2011-5-7 19:24:16 | 显示全部楼层
斑竹最近有在做dili吗? 刚下载本地看了一下!!嘿嘿……
 楼主| 发表于 2011-5-9 07:07:08 | 显示全部楼层
啊,对啊,我天天在,增加点CI人气啊,一个帖子十天没人看,那多噎人啊。
对了,版主用什么在线编辑器啊,最近烦这件事呢。http://codeigniter.org.cn/forums/thread-9121-1-1.html
发表于 2011-5-10 13:03:42 | 显示全部楼层
新手路过
发表于 2011-6-9 10:14:16 | 显示全部楼层
支持楼主。。。
发表于 2011-12-31 10:53:16 | 显示全部楼层
我还在想验证码到底用不用ci本身的验证

本版积分规则