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程序实现支持页面后退的两种方法
Jun 30 PHP
php 购物车实例(申精)
May 11 PHP
php常用Output和ptions/Info函数集介绍
Jun 19 PHP
php下载excel无法打开的解决方法
Dec 24 PHP
ubuntu12.04使用c编写php扩展模块教程分享
Dec 25 PHP
关于URL最大长度限制的相关资料查证
Dec 23 PHP
一个非常完美的读写ini格式的PHP配置类分享
Feb 12 PHP
PHP MVC框架路由学习笔记
Mar 02 PHP
php实现水印文字和缩略图的方法示例
Dec 29 PHP
PHP中实现中文字串截取无乱码的解决方法
May 29 PHP
thinkPHP5框架设置404、403等http状态页面的方法
Jun 05 PHP
浅谈PHP SHA1withRSA加密生成签名及验签
Mar 18 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
十大催泪虐心动漫,你能坚持看到第几部?
2020/03/04 日漫
PHP Array交叉表实现代码
2010/08/05 PHP
PHP跳转页面的几种实现方法详解
2013/06/08 PHP
解析zend studio中直接导入svn中的项目的方法步骤
2013/06/21 PHP
使用ThinkPHP生成缩略图及显示
2017/04/27 PHP
Yii2 如何在modules中添加验证码的方法
2017/06/19 PHP
IE与Firefox在JavaScript上的7个不同写法小结
2009/09/14 Javascript
jquery键盘事件介绍
2011/01/31 Javascript
javascript的函数、创建对象、封装、属性和方法、继承
2011/03/10 Javascript
jquery入门—访问DOM对象方法
2013/01/07 Javascript
js模拟select下拉菜单控件的代码
2013/05/08 Javascript
js onload处理html页面加载之后的事件
2013/10/30 Javascript
js判断IE浏览器版本过低示例代码
2013/11/22 Javascript
Jquery uploadify图片上传插件无法上传的解决方法
2013/12/16 Javascript
JavaScript转换二进制编码为ASCII码的方法
2015/04/16 Javascript
JQuery插件jcarousellite的参数中文说明
2015/05/11 Javascript
在Mac OS上安装使用Node.js的项目自动化构建工具Gulp
2016/06/18 Javascript
jQuery文本框得到与失去焦点动态改变样式效果
2016/09/08 Javascript
js滚轮事件兼容性问题需要注意哪些
2016/11/15 Javascript
Vue开发Html5微信公众号的步骤
2019/04/11 Javascript
利用Python实现在同一网络中的本地文件共享方法
2018/06/04 Python
CentOS下Python3的安装及创建虚拟环境的方法
2018/11/28 Python
Python基础之文件读取的讲解
2019/02/16 Python
python中eval与int的区别浅析
2019/08/11 Python
python是怎么被发明的
2020/06/15 Python
Python切片列表字符串如何实现切换
2020/08/06 Python
html5 css3实例教程 一款html5和css3实现的小机器人走路动画
2014/10/20 HTML / CSS
整理HTML5中表单的常用属性及新属性
2016/02/19 HTML / CSS
html2canvas生成清晰的图片实现打印的示例代码
2019/09/30 HTML / CSS
HTML5 通过Vedio标签实现视频循环播放的示例代码
2020/08/05 HTML / CSS
在阿联酋购买翻新手机和平板电脑:Teckzu
2021/02/12 全球购物
大学生村官任职感言
2014/01/09 职场文书
个人自我评价范文
2014/02/05 职场文书
代收款委托书范本
2014/10/01 职场文书
公司离职证明范本
2014/10/17 职场文书
简单的离婚协议书范本
2014/11/16 职场文书