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 项目的方法
Jan 02 PHP
php 防止单引号,双引号在接受页面转义
Jul 10 PHP
用PHP即时捕捉PHP中的错误并发送email通知的实现代码
Jan 19 PHP
解决phpmyadmin中缺少mysqli扩展问题的方法
May 06 PHP
PHP实现多进程并行操作的详解(可做守护进程)
Jun 18 PHP
PHP中怎样保持SESSION不过期 原理及方案介绍
Aug 08 PHP
php使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符串
Apr 05 PHP
PHP判断IP并转跳到相应城市分站的方法
Mar 25 PHP
解决ThinkPHP下使用上传插件Uploadify浏览器firefox报302错误的方法
Dec 18 PHP
PHP面向对象程序设计类的定义与用法简单示例
Dec 27 PHP
PHP使用 Pear 进行安装和卸载包的方法详解
Jul 08 PHP
PHP设计模式(六)桥连模式Bridge实例详解【结构型】
May 02 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
BBS(php &amp; mysql)完整版(四)
2006/10/09 PHP
PHP+Mysql实现多关键字与多字段生成SQL语句的函数
2014/11/05 PHP
Laravel 5框架学习之Blade 简介
2015/04/08 PHP
CodeIgniter集成smarty的方法详解
2016/05/26 PHP
laravel migrate初学常见错误的解决方法
2017/10/11 PHP
php求斐波那契数的两种实现方式【递归与递推】
2019/09/09 PHP
JavaScript中的Document文档对象
2008/01/16 Javascript
jquery 弹出层注册页面等(asp.net后台)
2010/06/17 Javascript
jQuery修改li下的样式以及li下的img的src的值的方法
2014/11/02 Javascript
jQuery中remove()方法用法实例
2014/12/25 Javascript
jquery仿百度经验滑动切换浏览效果
2015/04/14 Javascript
javascript中判断json的方法总结
2015/08/27 Javascript
基于Jquery和html5的7款个性化地图插件
2015/11/17 Javascript
JavaScript的new date等日期函数在safari中遇到的坑
2016/10/24 Javascript
BootStrap 弹出层代码
2017/02/09 Javascript
webpack项目调试以及独立打包配置文件的方法
2018/02/28 Javascript
js指定日期增加指定月份的实现方法
2018/12/19 Javascript
uniapp,微信小程序中使用 MQTT的问题
2020/07/11 Javascript
Vue-cli打包后如何本地查看的操作
2020/09/02 Javascript
[06:38]DOTA2怒掀电竞风暴 2013Chinajoy
2013/07/27 DOTA
Python函数学习笔记
2008/10/07 Python
布同自制Python函数帮助查询小工具
2011/03/13 Python
举例介绍Python中的25个隐藏特性
2015/03/30 Python
python计算对角线有理函数插值的方法
2015/05/07 Python
pycharm 将django中多个app放到同个文件夹apps的处理方法
2018/05/30 Python
Python并行分布式框架Celery详解
2018/10/15 Python
Django中多种重定向方法使用详解
2019/07/17 Python
Pytorch 多维数组运算过程的索引处理方式
2019/12/27 Python
django API 中接口的互相调用实例
2020/04/01 Python
python 输入字符串生成所有有效的IP地址(LeetCode 93号题)
2020/10/15 Python
美国便宜的横幅和标志印刷在线:Best of Signs
2019/05/29 全球购物
岗位安全生产责任书
2014/07/28 职场文书
80后婚前协议书范本
2014/10/24 职场文书
2014年单位工作总结范文
2014/11/27 职场文书
Oracle 临时表空间SQL语句的实现
2021/09/25 Oracle
CSS使用Flex和Grid布局实现3D骰子
2022/08/05 HTML / CSS