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 相关文章推荐
php4的session功能评述(一)
Oct 09 PHP
计算2000年01月01日起到指定日的天数
Oct 09 PHP
谈谈PHP的输入输出流
Feb 14 PHP
php小偷相关截取函数备忘
Nov 28 PHP
php排序算法(冒泡排序,快速排序)
Oct 09 PHP
php数组(array)输出的三种形式详解
Jun 05 PHP
解析array splice的移除数组中指定键的值,返回一个新的数组
Jul 02 PHP
php数组索引的Key加引号和不加引号的区别
Aug 19 PHP
php恢复数组的key为数字序列的方法
Apr 28 PHP
PHP 5.6.11中CURL模块问题的解决方法
Aug 08 PHP
Laravel框架基于中间件实现禁止未登录用户访问页面功能示例
Jan 17 PHP
PHP实现文字写入图片功能
Feb 18 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
漫威DC即将合作联动,而双方早已经秘密开始
2020/04/09 欧美动漫
PHP调用三种数据库的方法(2)
2006/10/09 PHP
PHP采集类snoopy详细介绍(snoopy使用教程)
2014/06/19 PHP
新浪SAE搭建PHP项目教程
2015/01/28 PHP
PHP的RSA加密解密方法以及开发接口使用
2018/02/11 PHP
YII2框架中ActiveDataProvider与GridView的配合使用操作示例
2020/03/18 PHP
laravel与thinkphp之间的区别与优缺点
2021/03/02 PHP
cnblogs csdn 代码运行框实现代码
2009/11/02 Javascript
JavaScript使用过程中需要注意的地方和一些基本语法
2010/08/26 Javascript
jQuery中closest()函数用法实例
2015/01/07 Javascript
三分钟带你玩转jQuery.noConflict()
2016/02/15 Javascript
jQuery+CSS3实现仿花瓣网固定顶部位置带悬浮效果的导航菜单
2016/09/21 Javascript
Bootstrap字体图标无法正常显示的解决方法
2016/10/08 Javascript
js提示框替代系统alert,自动关闭alert对话框的实现方法
2016/11/07 Javascript
AngularJS实现网站换肤实例
2021/02/19 Javascript
Bootstrap Multiselect 常用组件实现代码
2017/07/09 Javascript
基于JavaScript实现瀑布流布局
2018/08/15 Javascript
vue实现父子组件之间的通信以及兄弟组件的通信功能示例
2019/01/29 Javascript
Vue之beforeEach非登录不能访问的实现(代码亲测)
2019/07/18 Javascript
Nodejs 识别图片类型的方法
2019/08/15 NodeJs
Python的Flask框架中@app.route的用法教程
2015/03/31 Python
python3 实现的人人影视网站自动签到
2016/06/19 Python
python 统计代码行数简单实例
2017/05/04 Python
python 使用正则表达式按照多个空格分割字符的实例
2018/12/20 Python
CSS3 translate导致字体模糊的实例代码
2019/08/30 HTML / CSS
Debenhams爱尔兰:英国知名的百货公司
2017/01/02 全球购物
Martinelli官方商店:西班牙皮鞋和高跟鞋品牌
2019/07/30 全球购物
.NET现在共支持多少种语言
2014/02/26 面试题
八年级数学教学反思
2014/01/31 职场文书
七年级政治教学反思
2014/02/03 职场文书
机电专业毕业生自我鉴定2014
2014/10/04 职场文书
地方课程教学计划
2015/01/19 职场文书
驳回起诉民事裁定书
2015/05/19 职场文书
2015年车间主任工作总结
2015/05/21 职场文书
Python中文纠错的简单实现
2021/07/07 Python
使用scrapy实现增量式爬取方式
2022/06/21 Python