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 相关文章推荐
function.inc.php超越php
Dec 09 PHP
Zend的Registry机制的使用说明
May 02 PHP
PHP中$_SERVER的详细参数与说明介绍
Oct 26 PHP
ThinkPHP3.1数据CURD操作快速入门
Jun 19 PHP
destoon实现VIP排名一直在前面排序的方法
Aug 21 PHP
详解PHP对象的串行化与反串行化
Jan 24 PHP
Zend Framework上传文件重命名的实现方法
Nov 25 PHP
MAC下通过改apache配置文件切换php多版本的方法
Apr 26 PHP
利用PHP判断是手机移动端还是PC端访问的函数示例
Dec 14 PHP
yii2多图上传组件的使用教程
May 10 PHP
CentOS7编译安装php7.1的教程详解
Apr 18 PHP
php7 错误处理机制修改实例分析
May 25 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
Smarty+QUICKFORM小小演示
2007/02/25 PHP
phpexcel导出excel的颜色和网页中的颜色显示不一致
2012/12/11 PHP
php判断用户是否手机访问代码
2015/06/08 PHP
针对多用户实现头像上传功能PHP代码 适用于登陆页面制作
2016/08/17 PHP
PHP数据分析引擎计算余弦相似度算法示例
2017/08/08 PHP
PHP递归统计系统中代码行数
2019/09/19 PHP
PHP中16个高危函数整理
2019/09/19 PHP
document.getElementById方法在Firefox与IE中的区别
2010/05/18 Javascript
jquery DIV撑大让滚动条滚到最底部代码
2013/06/06 Javascript
jquery的trigger和triggerHandler的区别示例介绍
2014/04/20 Javascript
如何判断微信内置浏览器(通过User Agent实现)
2014/09/01 Javascript
JS长整型精度问题实例分析
2015/01/13 Javascript
详解JavaScript 中的 replace 方法
2016/01/01 Javascript
nodejs连接mongodb数据库实现增删改查
2016/12/01 NodeJs
微信小程序 引入es6 promise
2017/04/12 Javascript
详解Vue Elementui中的Tag与页面其它元素相互交互的两三事
2018/09/25 Javascript
layer父页获取弹出层输入框里面的值方法
2019/09/02 Javascript
JavaScript字符串处理常见操作方法小结
2019/11/15 Javascript
使用AutoJs实现微信抢红包的代码
2020/12/31 Javascript
[01:29:46]DOTA2上海特级锦标赛C组资格赛#1 OG VS LGD第二局
2016/02/27 DOTA
[00:36]DOTA2风云人物相约完美“圣”典 12月17日不见不散
2016/11/30 DOTA
Python实现大文件排序的方法
2015/07/10 Python
Python升级导致yum、pip报错的解决方法
2017/09/06 Python
python hook监听事件详解
2018/10/25 Python
Python3.5面向对象程序设计之类的继承和多态详解
2019/04/24 Python
python3多线程知识点总结
2019/09/26 Python
Python 中pandas索引切片读取数据缺失数据处理问题
2019/10/09 Python
python实现PDF中表格转化为Excel的方法
2020/06/16 Python
Python getsizeof()和getsize()区分详解
2020/11/20 Python
CSS3实现任意图片lowpoly动画效果实例
2017/05/11 HTML / CSS
Zooplus葡萄牙:欧洲领先的网上宠物商店
2018/07/01 全球购物
学生党员的自我评价范文
2014/03/01 职场文书
优秀班集体先进事迹材料
2014/05/28 职场文书
纪律教育学习月活动总结
2014/08/27 职场文书
Python入门之基础语法详解
2021/05/11 Python
CSS中实现动画效果-附案例
2022/02/28 HTML / CSS