Zend Framework生成驗(yàn)證碼并實(shí)現(xiàn)驗(yàn)證碼驗(yàn)證功能(附demo源碼下載)
本文實(shí)例講述了Zend Framework生成驗(yàn)證碼并實(shí)現(xiàn)驗(yàn)證碼驗(yàn)證功能的方法。分享給大家供大家參考,具體如下:
今天講述如何在留言本中實(shí)現(xiàn)驗(yàn)證碼的功能..這樣有利于我們網(wǎng)站減少一些垃圾留言或是廣告留言..在這是我沒(méi)有運(yùn)用Zend Framework自帶的Zend_Captcha組件..我只是找到ThinkPHP這個(gè)框架里的驗(yàn)證碼類(lèi)..就把它運(yùn)用到了..我們留言本驗(yàn)證碼的實(shí)現(xiàn)上...我在這里..是把它寫(xiě)成一個(gè)插件的形式...當(dāng)然Zend Framework有很多方式運(yùn)用其它代碼..我現(xiàn)在只會(huì)運(yùn)用其中一種...所以有好的方法的朋友..可以一起討論一下下..大家一起進(jìn)步嘛..呵呵....
第一步:在我們?cè)瓉?lái)教程找到library文件夾..這里原來(lái)是存放我們Zend類(lèi)庫(kù)文件夾的地方..現(xiàn)在我們?cè)趌ibrary文件夾里加上項(xiàng)目中的幾個(gè)文件夾:library/Custom/Controller/Plugin/
文件夾我們加入完成.這時(shí)候我們就要找到我們的驗(yàn)證碼文件了..這里我命名為ImgCode.php文件名..這個(gè)文件就是我們將要用到生成驗(yàn)證碼的類(lèi)文件.當(dāng)然這文件我是改寫(xiě)成了Zend Framework里的插件形式...ImgCode.php部分文件說(shuō)明如下:
<?php
//ImgCode.php部分程序說(shuō)明
//程序生成的驗(yàn)證碼數(shù)據(jù)
$randval = $this->rand_string($length,$mode);
//把這個(gè)數(shù)據(jù)存貯在Zend_Session中...
//這里有一個(gè)Session命名空間的問(wèn)題,朋友們可以去看一下手冊(cè)
$authCode = new Zend_Session_Namespace('Auth_Code');
$authCode->imagecode = $randval;
?>
第二步:在我們留言本的控制器里(IndexController.php),加入一個(gè)如下的動(dòng)作(Action).這個(gè)動(dòng)作就是為了生成驗(yàn)證驗(yàn)的運(yùn)用.
程序如下所示:
<?php
public function imgcodeAction() {
$this->getFrontController()->setParam('noViewRenderer', true);
//調(diào)用我們的驗(yàn)證碼類(lèi)
Zend_Loader::loadClass('Custom_Controller_Plugin_ImgCode');
$imagecode=new Custom_Controller_Plugin_ImgCode();
//返回驗(yàn)證碼圖片
$imagecode->image2();
}
?>
第三步:在我們的留言模板中加入驗(yàn)證碼的功能:打開(kāi)留言本顯示頁(yè)面的模板,message/index.phtml 我們?cè)谔顚?xiě)留言區(qū)加入下面html代碼..這個(gè)時(shí)候請(qǐng)大家看源文件里面的JS代碼..像更換驗(yàn)證碼圖片什么的功能..這小東西我就不多說(shuō)了..我只是比上次教程多加了一些JS的功能..
最后..就是在我們的控制器(IndexController.php)里找到messageAction這個(gè)功能..我們?cè)诶锩婕酉滦枰玫津?yàn)證碼的功能..也就是檢驗(yàn)用戶(hù)填寫(xiě)的驗(yàn)證碼是否和我們存在Session里面的驗(yàn)證碼相同..如果相同..我們就讓他發(fā)表留言..否則就不讓他留言..我想這個(gè)基本的思想大家都有的.
完整實(shí)例代碼點(diǎn)擊此處本站下載。
更多關(guān)于zend相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Zend FrameWork框架入門(mén)教程》、《php優(yōu)秀開(kāi)發(fā)框架總結(jié)》、《Yii框架入門(mén)及常用技巧總結(jié)》、《ThinkPHP入門(mén)教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》、《php+mysql數(shù)據(jù)庫(kù)操作入門(mén)教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家基于Zend Framework框架的PHP程序設(shè)計(jì)有所幫助。
- zen cart新進(jìn)商品的隨機(jī)排序修改方法
- php 修改zen-cart下單和付款流程以防止漏單
- Zend Framework開(kāi)發(fā)入門(mén)經(jīng)典教程
- Zend Framework教程之Zend_Config_Ini用法分析
- Zend Framework教程之Zend_Config_Xml用法分析
- Zend Framework教程之Zend_Registry對(duì)象用法分析
- Zend Framework框架路由機(jī)制代碼分析
- Zend Framework入門(mén)之環(huán)境配置及第一個(gè)Hello World示例(附demo源碼下載)
- zen_cart實(shí)現(xiàn)支付前生成訂單的方法
相關(guān)文章
Laravel5.1 框架登錄和注冊(cè)實(shí)現(xiàn)方法詳解
這篇文章主要介紹了Laravel5.1 框架登錄和注冊(cè)實(shí)現(xiàn)方法,結(jié)合實(shí)例形式詳細(xì)分析了laravel5.1框架登錄與注冊(cè)相關(guān)配置、路由、實(shí)現(xiàn)方法與操作注意事項(xiàng),需要的朋友可以參考下2020-01-01
詳細(xì)解讀PHP的Yii框架中登陸功能的實(shí)現(xiàn)
這篇文章主要介紹了詳細(xì)解讀PHP的Yii框架中登陸功能的實(shí)現(xiàn),包括通過(guò)cookie實(shí)現(xiàn)自動(dòng)登錄的功能,需要的朋友可以參考下2015-08-08
thinkphp 抓取網(wǎng)站的內(nèi)容并且保存到本地的實(shí)例詳解
這篇文章主要介紹了thinkphp 抓取網(wǎng)站的內(nèi)容并且保存到本地的實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-08-08
Laravel 5使用Laravel Excel實(shí)現(xiàn)Excel/CSV文件導(dǎo)入導(dǎo)出的功能詳解
這篇文章主要給大家介紹了關(guān)于在Laravel 5中如何使用Laravel Excel實(shí)現(xiàn)Excel/CSV文件導(dǎo)入導(dǎo)出功能的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下。2017-10-10
Yii2學(xué)習(xí)筆記之漢化yii設(shè)置表單的描述(屬性標(biāo)簽attributeLabels)
這篇文章主要介紹了Yii2學(xué)習(xí)筆記之漢化yii設(shè)置表單的描述(屬性標(biāo)簽attributeLabels),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-02-02
Yii2基于Ajax自動(dòng)獲取表單數(shù)據(jù)的方法
這篇文章主要介紹了Yii2基于Ajax自動(dòng)獲取表單數(shù)據(jù)的方法,涉及Yii結(jié)合ajax調(diào)用鼠標(biāo)事件動(dòng)態(tài)查詢(xún)表單的相關(guān)技巧,需要的朋友可以參考下2016-08-08
PHP中使用FFMPEG獲取視頻縮略圖和視頻總時(shí)長(zhǎng)實(shí)例
這篇文章主要介紹了PHP中使用FFMPEG獲取視頻縮略圖和視頻總時(shí)長(zhǎng)實(shí)例,需要的朋友可以參考下2014-05-05

