Zend Framework生成验证码并实现验证码验证功能(附demo源码下载)


Posted in PHP onMarch 22, 2016

本文实例讲述了Zend Framework生成验证码并实现验证码验证功能的方法。分享给大家供大家参考,具体如下:

今天讲述如何在留言本中实现验证码的功能..这样有利于我们网站减少一些垃圾留言或是广告留言..在这是我没有运用Zend Framework自带的Zend_Captcha组件..我只是找到ThinkPHP这个框架里的验证码类..就把它运用到了..我们留言本验证码的实现上...我在这里..是把它写成一个插件的形式...当然Zend Framework有很多方式运用其它代码..我现在只会运用其中一种...所以有好的方法的朋友..可以一起讨论一下下..大家一起进步嘛..呵呵....

第一步:在我们原来教程找到library文件夹..这里原来是存放我们Zend类库文件夹的地方..现在我们在library文件夹里加上项目中的几个文件夹:library/Custom/Controller/Plugin/

文件夹我们加入完成.这时候我们就要找到我们的验证码文件了..这里我命名为ImgCode.php文件名..这个文件就是我们将要用到生成验证码的类文件.当然这文件我是改写成了Zend Framework里的插件形式...ImgCode.php部分文件说明如下:

<?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).这个动作就是为了生成验证验的运用.

程序如下所示:

<?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程序设计有所帮助。

PHP 相关文章推荐
PHP 加密/解密函数 dencrypt(动态密文,带压缩功能,支持中文)
Jan 30 PHP
PHP动态分页函数,PHP开发分页必备啦
Nov 07 PHP
shopex主机报错误请求解决方案(No such file or directory)
Dec 27 PHP
PHP遍历目录并返回统计目录大小
Jun 09 PHP
php使用Jpgraph绘制复杂X-Y坐标图的方法
Jun 10 PHP
Yii框架参数化查询中IN查询只能查询一个的解决方法
May 20 PHP
PHP数组内存利用率低和弱类型详细解读
Aug 10 PHP
详解PHP中mb_strpos的使用
Feb 04 PHP
laravel5.6 框架操作数据 Eloquent ORM用法示例
Jan 26 PHP
linux mint下安装phpstorm2020包括JDK部分的教程详解
Sep 17 PHP
ThinkPHP5和ThinkPHP6的区别
Mar 31 PHP
详解Go与PHP的语法对比
May 29 PHP
PHP的Laravel框架中使用AdminLTE模板来编写网站后台界面
Mar 21 #PHP
深入解析PHP的Laravel框架中的event事件操作
Mar 21 #PHP
Android App中DrawerLayout抽屉效果的菜单编写实例
Mar 21 #PHP
PHP的Laravel框架结合MySQL与Redis数据库的使用部署
Mar 21 #PHP
PHP编写学校网站上新生注册登陆程序的实例分享
Mar 21 #PHP
调用WordPress函数统计文章访问量及PHP原生计数器的实现
Mar 21 #PHP
PHP程序中的文件锁、互斥锁、读写锁使用技巧解析
Mar 21 #PHP
You might like
web方式ftp
2006/10/09 PHP
php下关于中英数字混排的字符串分割问题
2010/04/06 PHP
PHP与JavaScript针对Cookie的读写、交互操作方法详解
2017/08/07 PHP
浅谈PHP进程管理
2019/03/08 PHP
js文件中调用js的实现方法小结
2009/10/23 Javascript
jquery弹出关闭遮罩层实例
2013/08/06 Javascript
jquery实现类似淘宝星星评分功能有截图
2014/09/15 Javascript
浅析angularJS中的ui-router和ng-grid模块
2016/05/20 Javascript
用瀑布流的方式在网页上插入图片的简单实现方法
2016/09/23 Javascript
vuex实现简易计数器
2016/10/27 Javascript
基于JS分页控件实现简单美观仿淘宝分页按钮效果
2016/11/07 Javascript
JavaScript利用闭包实现模块化
2017/01/13 Javascript
快速实现jQuery多级菜单效果
2017/02/01 Javascript
backbone简介_动力节点Java学院整理
2017/07/14 Javascript
vue+webpack实现异步加载三种用法示例详解
2018/04/24 Javascript
JavaScript闭包原理与用法实例分析
2018/08/10 Javascript
js编写简易的计算器
2020/07/29 Javascript
js实现手表表盘时钟与圆周运动
2020/09/18 Javascript
OpenLayers3实现图层控件功能
2020/09/25 Javascript
[38:23]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第一场
2014/05/24 DOTA
将Django框架和遗留的Web应用集成的方法
2015/07/24 Python
Python中断言Assertion的一些改进方案
2016/10/27 Python
python中使用PIL制作并验证图片验证码
2018/03/15 Python
Python中XlsxWriter模块简介与用法分析
2018/04/24 Python
对python中Matplotlib的坐标轴的坐标区间的设定实例讲解
2018/05/25 Python
Python爬虫学习之获取指定网页源码
2019/07/30 Python
基于django 的orm中非主键自增的实现方式
2020/05/18 Python
Pycharm生成可执行文件.exe的实现方法
2020/06/02 Python
对pytorch中x = x.view(x.size(0), -1) 的理解说明
2021/03/03 Python
我想声明一个指针并为它分配一些空间, 但却不行。这些代码有什么 问题?char *p; *p = malloc(10);
2016/10/06 面试题
教师求职信
2014/06/17 职场文书
护理专科学生自荐书
2014/07/05 职场文书
2015年端午节国旗下演讲稿
2015/03/19 职场文书
从事会计工作年限证明
2015/06/23 职场文书
工商局调档介绍信
2015/10/22 职场文书
德劲DE1107指针试高灵敏度全波段收音机机评
2022/04/05 无线电