本文实例讲述了Zend Framework生成验证码并实现验证码验证功能的方法。分享给大家供大家参考,具体如下:
今天讲述如何在留言本中实现验证码的功能..这样有利于我们网站减少一些垃圾留言或是广告留言..在这是我没有运用Zend Framework自带的Zend_Captcha组件..我只是找到ThinkPHP这个框架里的验证码类..就把它运用到了..我们留言本验证码的实现上...我在这里..是把它写成一个插件的形式...当然Zend Framework有很多方式运用其它代码..我现在只会运用其中一种...所以有好的方法的朋友..可以一起讨论一下下..大家一起进步嘛..呵呵....
第一步:在我们原来教程找到library文件夹..这里原来是存放我们Zend类库文件夹的地方..现在我们在library文件夹里加上项目中的几个文件夹:library/Custom/Controller/Plugin/
文件夹我们加入完成.这时候我们就要找到我们的验证码文件了..这里我命名为ImgCode.php文件名..这个文件就是我们将要用到生成验证码的类文件.当然这文件我是改写成了Zend Framework里的插件形式...ImgCode.php部分文件说明如下:
1
2
3
4
5
6
7
8
9
|
<?php //ImgCode.php部分程序说明 //程序生成的验证码数据 $randval = $this ->rand_string( $length , $mode ); //把这个数据存贮在Zend_Session中... //这里有一个Session命名空间的问题,朋友们可以去看一下手册 $authCode = new Zend_Session_Namespace( 'Auth_Code' ); $authCode ->imagecode = $randval ; ?> |
第二步:在我们留言本的控制器里(IndexController.php),加入一个如下的动作(Action).这个动作就是为了生成验证验的运用.
程序如下所示:
1
2
3
4
5
6
7
8
9
10
|
<?php public function imgcodeAction() { $this ->getFrontController()->setParam( 'noViewRenderer' , true); //调用我们的验证码类 Zend_Loader::loadClass( 'Custom_Controller_Plugin_ImgCode' ); $imagecode = new Custom_Controller_Plugin_ImgCode(); //返回验证码图片 $imagecode ->image2(); } ?> |
第三步:在我们的留言模板中加入验证码的功能:打开留言本显示页面的模板,message/index.phtml 我们在填写留言区加入下面html代码..这个时候请大家看源文件里面的JS代码..像更换验证码图片什么的功能..这小东西我就不多说了..我只是比上次教程多加了一些JS的功能..
最后..就是在我们的控制器(IndexController.php)里找到messageAction这个功能..我们在里面加下需要用到验证码的功能..也就是检验用户填写的验证码是否和我们存在Session里面的验证码相同..如果相同..我们就让他发表留言..否则就不让他留言..我想这个基本的思想大家都有的.
完整实例代码点击此处本站下载。
希望本文所述对大家基于Zend Framework框架的PHP程序设计有所帮助。