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之第四天
Oct 09 PHP
php allow_url_include的应用和解释
Apr 22 PHP
基于MySQL分区性能的详细介绍
May 02 PHP
PHP strcmp()和strcasecmp()的区别实例
Nov 05 PHP
php版微信小店API二次开发及使用示例
Nov 12 PHP
替换php字符串中的单引号为双引号的方法
Feb 16 PHP
laravel 5.4中实现无限级分类的方法示例
Jul 27 PHP
ThinkPHP like模糊查询,like多匹配查询,between查询,in查询,一般查询书写方法
Sep 26 PHP
ThinkPHP3.2.3框架实现执行原生SQL语句的方法示例
Apr 03 PHP
PHP面向对象程序设计内置标准类,普通数据类型转为对象类型示例
Jun 12 PHP
ThinkPHP6.0如何利用自定义验证规则规范的实现登陆
Dec 16 PHP
宝塔面板在NGINX环境中TP5.1如何运行?
Mar 09 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
PHP怎样调用MSSQL的存储过程
2006/10/09 PHP
cmd下运行php脚本
2008/11/25 PHP
php &amp;&amp; 逻辑与运算符使用说明
2010/03/04 PHP
PHP中$_SERVER使用说明
2015/07/05 PHP
CodeIgniter自定义控制器MY_Controller用法分析
2016/01/20 PHP
浅谈PHP正则中的捕获组与非捕获组
2016/07/18 PHP
php+resumablejs实现的分块上传 断点续传功能示例
2017/04/18 PHP
JavaScript调用堆栈及setTimeout使用方法深入剖析
2013/02/16 Javascript
图标线性回归斜着移动到指定的位置
2013/08/16 Javascript
jQuery实现鼠标经过图片预览大图效果
2014/04/10 Javascript
javascript中的nextSibling使用陷(da)阱(keng)
2014/05/05 Javascript
javascript实现链接单选效果的方法
2015/05/13 Javascript
JS根据key值获取URL中的参数值及把URL的参数转换成json对象
2015/08/26 Javascript
深入理解jquery中extend的实现
2016/12/22 Javascript
详解vue-cli中配置sass
2017/06/21 Javascript
React + webpack 环境配置的方法步骤
2017/09/07 Javascript
angular2路由之routerLinkActive指令【推荐】
2018/05/30 Javascript
vue两个组件间值的传递或修改方式
2018/07/04 Javascript
在 Vue 中编写 SVG 图标组件的方法
2020/02/24 Javascript
JavaScript实现拖动对话框效果的实现代码
2020/10/12 Javascript
Python矩阵常见运算操作实例总结
2017/09/29 Python
Python3一行代码实现图片文字识别的示例
2018/01/15 Python
python抓取京东小米8手机配置信息
2018/11/13 Python
Python 面向对象之封装、继承、多态操作实例分析
2019/11/21 Python
Python中sys模块功能与用法实例详解
2020/02/26 Python
django 解决扩展自带User表遇到的问题
2020/05/14 Python
美国时尚孕妇装品牌:A Pea in the Pod
2017/07/16 全球购物
美国波西米亚风格服装品牌:Show Me Your Mumu
2018/01/05 全球购物
Electrolux伊莱克斯巴西商店:家用电器、小家电和配件
2018/05/23 全球购物
英语专业毕业生自我鉴定
2013/11/09 职场文书
《两只鸟蛋》教学反思
2014/02/10 职场文书
税务会计岗位职责
2014/02/18 职场文书
2014年纳税评估工作总结
2014/12/23 职场文书
2019新员工心得体会
2019/06/25 职场文书
python四个坐标点对图片区域最小外接矩形进行裁剪
2021/06/04 Python
win10重装系统后上不了网怎么办 win10重装系统网络故障的解决办法
2022/07/23 数码科技