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基础知识:类与对象(2) 自动加载对象
Dec 13 PHP
php中防止伪造跨站请求的小招式
Sep 02 PHP
thinkphp3.0 模板中函数的使用
Nov 13 PHP
基于PHP中的常用函数回顾
Jul 11 PHP
两级联动select刷新后其值保持不变的实现方法
Jan 27 PHP
学习PHP的数组总结【经验】
May 05 PHP
PHP使用GD库输出汉字的方法【测试可用】
Nov 10 PHP
PHP实现二维数组去重功能示例
Jan 12 PHP
phpinfo()中Loaded Configuration File(none)的解决方法
Jan 16 PHP
通过修改Laravel Auth使用salt和password进行认证用户详解
Aug 17 PHP
Laravel程序架构设计思路之使用动作类
Jun 07 PHP
laravel 获取当前url的别名方法
Oct 11 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中SESSION使用中的一点经验总结
2012/03/30 PHP
php生成缩略图填充白边(等比缩略图方案)
2013/12/25 PHP
php多种形式发送邮件(mail qmail邮件系统 phpmailer类)
2014/01/22 PHP
PHP中preg_match正则匹配中的/u、/i、/s含义
2015/04/17 PHP
UPUPW 更新 64 位 Apache 系列 PHP 7.0 正式版
2015/12/08 PHP
php对xml文件的增删改查操作实现方法分析
2017/05/19 PHP
正则表达式判断是否存在中文和全角字符和判断包含中文字符串长度
2008/09/27 Javascript
如何通过javascript操作web控件的自定义属性
2013/11/25 Javascript
javascript实现checkBox的全选,反选与赋值
2015/03/12 Javascript
JavaScript中使用Math.PI圆周率属性的方法
2015/06/14 Javascript
jQuery Form 表单提交插件之formSerialize,fieldSerialize,fieldValue,resetForm,clearForm,clearFields的应用
2016/01/23 Javascript
JavaScript中访问id对象 属性的方式访问属性(实例代码)
2016/10/28 Javascript
12306 刷票脚本及稳固刷票脚本(防挂)
2017/01/04 Javascript
jQuery实现鼠标经过显示动画边框特效
2017/03/24 jQuery
详解如何用typescript开发koa2的二三事
2018/11/13 Javascript
使用watch在微信小程序中实现全局状态共享
2019/06/03 Javascript
Vue实现星级评价效果实例详解
2019/12/30 Javascript
js将URL网址转为16进制加密与解密函数
2020/03/04 Javascript
Python绘制3d螺旋曲线图实例代码
2017/12/20 Python
Python实现邮件的批量发送的示例代码
2018/01/23 Python
把csv文件转化为数组及数组的切片方法
2018/07/04 Python
python实现字符串加密 生成唯一固定长度字符串
2019/03/22 Python
将python运行结果保存至本地文件中的示例讲解
2019/07/11 Python
如何向scrapy中的spider传递参数的几种方法
2020/11/18 Python
selenium判断元素是否存在的两种方法小结
2020/12/07 Python
HTML5 Canvas锯齿图代码实例
2014/04/10 HTML / CSS
Fossil德国官网:化石手表、手袋、珠宝及配件
2019/12/07 全球购物
学校采购员岗位职责
2014/01/02 职场文书
给女朋友的道歉信
2014/01/10 职场文书
中学教师管理制度
2014/01/14 职场文书
会计专业职业规划:规划自我赢取未来
2014/02/12 职场文书
大学运动会入场词
2014/02/22 职场文书
广告设计应届生求职信
2014/03/01 职场文书
国庆宣传标语
2014/06/30 职场文书
党的群众路线教育实践活动心得体会(医院)
2014/11/03 职场文书
Python Django框架介绍之模板标签及模板的继承
2021/05/27 Python