- 论坛徽章:
- 0
|
这一系列的教程快过半了...现在真的是很少有以前一样的时间再去写教程了...不过我还是会坚持为想学Zend Framework 的朋友做一点我所能做到的东西.
我也是一直在学习中...所以有不好的地方..还是希望朋友们可以理解一下我..我只是把自己会的东西,自己理解的东西写出来..不是专业做教程的..因此有不对的地方还请各位多多批评指正...
OK!现在我们来实现第5篇教程吧..就是如何在留言本中实现验证码的功能..这样有利于我们网站减少一些垃圾留言或是广告留言..在这是我没有运用Zend Framework自带的Zend_Captcha组件..我只是找到ThinkPHP这个框架里的验证码类..就把它运用到了..我们留言本验证码的实现上...我在这里..是把它写成一个插件的形式...当然Zend Framework有很多方式运用其它代码..我现在只会运用其中一种...所以有好的方法的朋友..可以一起讨论一下下..大家一起进步嘛..呵呵....
第一步:在我们原来教程找到library文件夹..这里原来是存放我们Zend类库文件夹的地方..现在我们在library文件夹里加上如下几个文件夹:library/Custom/Controller/Plugin/...请看我项目增加文件夹后的图片效果:
![]()
文件夹我们加入完成.这时候我们就要找到我们的验证码文件了..这里我命名为ImgCode.php文件名..这个文件就是我们将要用到生成验证码的类文件.当然这文件我是改写成了Zend Framework里的插件形式...ImgCode.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).这个动作就是为了生成验证验的运用.
程序如下所示:
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自带的验证码Zend_Captcha组件来实现验证码的功能啊...PHPCHINA上有这方面的教程...我就不多说了...当然..要是有的朋友需要..我有时间再写一篇关于这个组件的运用吧...谢谢大家...
最最后..一个东西..
源码下载
....
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/16928/showart_1673518.html |
|