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 相关文章推荐
六酷社区论坛HOME页清新格调免费版 下载
Mar 07 PHP
跟我学Laravel之请求(Request)的生命周期
Oct 15 PHP
PHP计算百度地图两个GPS坐标之间距离的方法
Jan 09 PHP
PHP删除指定目录中的所有目录及文件的方法
Feb 26 PHP
thinkphp多层MVC用法分析
Dec 30 PHP
thinkPHP3.2简单实现文件上传的方法
May 16 PHP
Laravel5权限管理方法详解
Jul 26 PHP
PHP7.1方括号数组符号多值复制及指定键值赋值用法分析
Sep 26 PHP
你不知道的文件上传漏洞php代码分析
Sep 29 PHP
thinkphp修改配置进入默认首页的方法
Feb 07 PHP
PHP中关键字interface和implements详解
Jun 14 PHP
PHP实现获取毫秒时间戳的方法【使用microtime()函数】
Mar 01 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内存管理之谁动了我的内存
2013/06/20 PHP
php中instanceof 与 is_a()区别分析
2015/03/03 PHP
PHP怎样用正则抓取页面中的网址
2016/08/09 PHP
各种效果的jquery ui(接口)介绍
2008/09/17 Javascript
人人网javascript面试题 可以提前实现下
2012/01/05 Javascript
js替换字符串的所有示例代码
2013/07/23 Javascript
js中的push和join方法使用介绍
2013/10/08 Javascript
javascript实现表单提交后,提交按钮不可用的方法
2015/04/18 Javascript
贴近用户体验的Jquery日期、时间选择插件
2015/08/19 Javascript
JS实现网页顶部向下滑出的全国城市切换导航效果
2015/08/22 Javascript
JS动态给对象添加属性和值的实现方法
2016/10/21 Javascript
基于百度地图api清除指定覆盖物(Overlay)的方法
2018/01/26 Javascript
对vue.js中this.$emit的深入理解
2018/02/23 Javascript
记一次vue-webpack项目优化实践详解
2019/02/17 Javascript
解决一个微信号同时支持多个环境网页授权问题
2019/08/07 Javascript
基于原生JS封装的Modal对话框插件的示例代码
2020/09/09 Javascript
design vue 表格开启列排序的操作
2020/10/28 Javascript
Flask 让jsonify返回的json串支持中文显示的方法
2018/03/26 Python
TensorFlow 模型载入方法汇总(小结)
2018/06/19 Python
Pycharm代码无法复制,无法选中删除,无法编辑的解决方法
2018/10/22 Python
Python常见的pandas用法demo示例
2019/03/16 Python
Python使用修饰器进行异常日志记录操作示例
2019/03/19 Python
python远程连接MySQL数据库
2019/04/19 Python
如何修复使用 Python ORM 工具 SQLAlchemy 时的常见陷阱
2019/11/19 Python
python内置模块collections知识点总结
2019/12/19 Python
python实现TCP文件传输
2020/03/20 Python
python 双循环遍历list 变量判断代码
2020/05/04 Python
Python如何在windows环境安装pip及rarfile
2020/06/15 Python
Django模型验证器介绍与源码分析
2020/09/08 Python
如何使用 Flask 做一个评论系统
2020/11/27 Python
Python第三方库安装缓慢的解决方法
2021/02/06 Python
利用HTML5中Geolocation获取地理位置调用Google Map API在Google Map上定位
2013/01/23 HTML / CSS
简单的JAVA编程面试题
2013/03/19 面试题
高三自我鉴定怎么写
2013/10/19 职场文书
高中语文教学反思
2014/01/16 职场文书
会展策划与管理专业大学生职业生涯规划
2014/02/07 职场文书