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的核心Zend
Sep 05 PHP
学习使用PHP数组
Oct 09 PHP
PHP与SQL注入攻击[一]
Apr 17 PHP
php 上传功能实例代码
Apr 13 PHP
PHP中的MYSQL常用函数(php下操作数据库必备)
Sep 12 PHP
php中数组首字符过滤功能代码
Jul 31 PHP
php获取指定日期之间的各个周和月的起止时间
Nov 24 PHP
PHP模拟登陆163邮箱发邮件及获取通讯录列表的方法
Mar 07 PHP
php实现数组按指定KEY排序的方法
Mar 30 PHP
PHP递归创建多级目录
Nov 05 PHP
PHP对象实例化单例方法
Jan 19 PHP
PHP生成图表pChart的示例解析
Jul 31 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
2006/10/09 PHP
PHP 开发工具
2006/12/06 PHP
php header功能的使用
2013/10/28 PHP
PHP获取一年中每个星期的开始和结束日期的方法
2015/02/12 PHP
PHP生成器简单实例
2015/05/13 PHP
PHP文件操作实例总结【文件上传、下载、分页】
2018/12/08 PHP
javascript基本语法分析说明
2008/06/15 Javascript
JS 密码强度验证(兼容IE,火狐,谷歌)
2010/03/15 Javascript
jQuery.Autocomplete实现自动完成功能(详解)
2010/07/13 Javascript
jquery插件制作教程 txtHover
2012/08/17 Javascript
jQuery select表单提交省市区城市三级联动核心代码
2014/06/09 Javascript
jQuery的deferred对象详解
2014/11/12 Javascript
javascript实现禁止鼠标滚轮事件
2015/07/24 Javascript
Javascript基于AJAX回调函数传递参数实例分析
2015/12/15 Javascript
js插件dropload上拉下滑加载数据实例解析
2016/07/27 Javascript
微信小程序 HTTPS报错整理常见问题及解决方案
2016/12/14 Javascript
JS+HTML+CSS实现轮播效果
2017/11/28 Javascript
Javascript实现异步编程的过程
2018/06/18 Javascript
如何在Vue.JS中使用图标组件
2020/08/04 Javascript
[01:04:08]完美世界DOTA2联赛PWL S3 INK ICE vs GXR 第一场 12.16
2020/12/18 DOTA
python的id()函数介绍
2013/02/10 Python
python实现计算资源图标crc值的方法
2014/10/05 Python
Python导出DBF文件到Excel的方法
2015/07/25 Python
Python利用BeautifulSoup解析Html的方法示例
2017/07/30 Python
解决pycharm无法识别本地site-packages的问题
2018/10/13 Python
python的range和linspace使用详解
2019/11/27 Python
Python 随机生成测试数据的模块:faker基本使用方法详解
2020/04/09 Python
Python实现自动打开电脑应用的示例代码
2020/04/17 Python
Desigual英国官网:在线购买原创服装
2018/03/09 全球购物
重点工程汇报材料
2014/08/27 职场文书
个人委托书范本
2014/09/13 职场文书
保研专家推荐信范文
2015/03/25 职场文书
学习雷锋主题班会
2015/08/14 职场文书
浅谈vue2的$refs在vue3组合式API中的替代方法
2021/04/18 Vue.js
MySQL约束超详解
2021/09/04 MySQL
Android开发之底部导航栏的快速实现
2022/04/28 Java/Android