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 相关文章推荐
163的邮件用phpmailer发送(实例详解)
Jun 24 PHP
浅析get与post的一些特殊情况
Jul 28 PHP
php中实现xml与mysql数据相互转换的方法
Dec 25 PHP
php使用curl获取https请求的方法
Feb 11 PHP
使用PHP编写发红包程序
Jul 22 PHP
在WordPress中获取数据库字段内容和添加主题设置菜单
Jan 11 PHP
PHP简单处理表单输入的特殊字符的方法
Feb 03 PHP
PHP常用函数总结(180多个)
Dec 25 PHP
基于swoole实现多人聊天室
Jun 14 PHP
php使用fullcalendar日历插件详解
Mar 06 PHP
启用OPCache提高PHP程序性能的方法
Mar 21 PHP
TP5框架model常见操作示例小结【增删改查、聚合、时间戳、软删除等】
Apr 05 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的ob_start() 控制您的浏览器cache
2009/08/03 PHP
PHP 读取和修改大文件的某行内容的代码
2009/10/30 PHP
js 优化次数过多的循环 考虑到性能问题
2011/03/05 Javascript
jquery ajax return没有返回值的解决方法
2011/10/20 Javascript
理解JavaScript的prototype属性
2012/02/11 Javascript
使用jQuery插件创建常规模态窗口登陆效果
2013/08/23 Javascript
jquery获取复选框被选中的值
2014/03/22 Javascript
使用jQuery管理选择结果
2015/01/20 Javascript
JQuery自适应窗口大小导航菜单附源码下载
2015/09/01 Javascript
JS实现状态栏跑马灯文字效果代码
2015/10/24 Javascript
Javascript简单实现面向对象编程继承实例代码
2015/11/27 Javascript
jQuery技巧之让任何组件都支持类似DOM的事件管理
2016/04/05 Javascript
动态更新highcharts数据的实现方法
2016/05/28 Javascript
JavaScript基础重点(必看)
2016/07/09 Javascript
jQuery监听文件上传实现进度条效果的方法
2016/10/16 Javascript
JS处理数据四舍五入(tofixed与round的区别详解)
2017/10/26 Javascript
详解如何制作并发布一个vue的组件的npm包
2018/11/10 Javascript
JavaScript实现表单验证功能
2020/12/09 Javascript
[54:25]Ti4 循环赛第三日LGD vs MOUZ
2014/07/12 DOTA
使用C语言来扩展Python程序和Zope服务器的教程
2015/04/14 Python
Python程序员面试题 你必须提前准备!(答案及解析)
2018/01/23 Python
numpy返回array中元素的index方法
2018/06/27 Python
python 文件查找及内容匹配方法
2018/10/25 Python
Django高级编程之自定义Field实现多语言
2019/07/02 Python
Python列表删除元素del、pop()和remove()的区别小结
2019/09/11 Python
Jupyter 无法下载文件夹如何实现曲线救国
2020/04/22 Python
详解使用Python写一个向数据库填充数据的小工具(推荐)
2020/09/11 Python
如何利用python读取micaps文件详解
2020/10/18 Python
CSS3中的transform属性进行2D和3D变换的基本用法
2016/05/12 HTML / CSS
个人廉洁自律承诺书
2014/03/27 职场文书
生态养殖创业计划书
2014/05/06 职场文书
高校师德师风自我剖析材料
2014/09/29 职场文书
先进事迹材料范文
2014/12/29 职场文书
农业项目合作意向书
2015/05/08 职场文书
thinkphp 获取控制器及控制器方法
2021/04/16 PHP
python-opencv 中值滤波{cv2.medianBlur(src, ksize)}的用法
2021/06/05 Python