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 array_unique之后json_encode需要注意
Jan 02 PHP
PHP中运用jQuery的Ajax跨域调用实现代码
Feb 21 PHP
使用PHP获取汉字的拼音(全部与首字母)
Jun 27 PHP
PHP file_get_contents设置超时处理方法
Sep 30 PHP
wordpress自定义url参数实现路由功能的代码示例
Nov 28 PHP
php权重计算方法代码分享
Jan 09 PHP
php利用新浪接口查询ip获取地理位置示例
Jan 20 PHP
destoon之一键登录设置
Jun 21 PHP
destoon实现资讯信息前面调用它所属分类的方法
Jul 15 PHP
PHP实现更新中间关联表数据的两种方法
Sep 01 PHP
Web程序工作原理详解
Dec 25 PHP
简单介绍win7下搭建apache+php+mysql开发环境
Aug 06 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设计模式 Interpreter(解释器模式)
2011/06/26 PHP
Zend Framework 2.0事件管理器(The EventManager)入门教程
2014/08/11 PHP
php上传图片并压缩的实现方法
2015/12/22 PHP
PHP 二维数组和三维数组的过滤
2016/03/16 PHP
PHP获取用户访问IP地址的5种方法
2016/05/16 PHP
PHP入门教程之PHP操作MySQL的方法分析
2016/09/11 PHP
PHP执行shell脚本运行程序不产生core文件的方法
2016/12/28 PHP
PHP封装函数实现生成随机的字符串验证码
2017/01/24 PHP
实现php删除链表中重复的结点
2018/09/27 PHP
在JavaScript并非所有的一切都是对象
2013/04/11 Javascript
javascript获取和判断浏览器窗口、屏幕、网页的高度、宽度等
2014/05/08 Javascript
node.js中的buffer.write方法使用说明
2014/12/10 Javascript
jQuery 判断图片是否加载完成方法汇总
2015/08/10 Javascript
jQuery实现的跨容器无缝拖动效果代码
2016/06/21 Javascript
详解如何使用webpack打包Vue工程
2017/05/27 Javascript
浅谈node中的cluster集群
2018/06/02 Javascript
微信小程序使用component自定义toast弹窗效果
2018/11/27 Javascript
JS实现的Object数组去重功能示例【数组成员为Object对象】
2019/02/01 Javascript
Python 变量类型及命名规则介绍
2013/06/08 Python
python模拟登陆阿里妈妈生成商品推广链接
2014/04/03 Python
进一步理解Python中的函数编程
2015/04/13 Python
最大K个数问题的Python版解法总结
2016/06/16 Python
Python 搭建Web站点之Web服务器网关接口
2016/11/06 Python
Python 对输入的数字进行排序的方法
2018/06/23 Python
用python实现k近邻算法的示例代码
2018/09/06 Python
Python并发:多线程与多进程的详解
2019/01/24 Python
TensorBoard 计算图的查看方式
2020/02/15 Python
HTML5样式控制示例代码
2013/11/27 HTML / CSS
什么是属性访问器
2015/10/26 面试题
小学生操行评语
2014/04/22 职场文书
2016公司中秋节寄语
2015/12/07 职场文书
2016廉政教育学习心得体会
2016/01/25 职场文书
2019年度行政文员工作计划范本!
2019/07/04 职场文书
浅谈JS的原型和原型链
2021/06/04 Javascript
Python 居然可以在 Excel 中画画你知道吗
2022/02/15 Python
MySQL远程无法连接的一些常见原因总结
2022/09/23 MySQL