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)站減少一些垃圾留言或是廣告留言..在這是我沒有運(yùn)用Zend Framework自帶的Zend_Captcha組件..我只是找到ThinkPHP這個(gè)框架里的驗(yàn)證碼類..就把它運(yùn)用到了..我們留言本驗(yàn)證碼的實(shí)現(xiàn)上...我在這里..是把它寫成一個(gè)插件的形式...當(dāng)然Zend Framework有很多方式運(yùn)用其它代碼..我現(xiàn)在只會運(yùn)用其中一種...所以有好的方法的朋友..可以一起討論一下下..大家一起進(jìn)步嘛..呵呵....
第一步:在我們原來教程找到library文件夾..這里原來是存放我們Zend類庫文件夾的地方..現(xiàn)在我們在library文件夾里加上項(xiàng)目中的幾個(gè)文件夾:library/Custom/Controller/Plugin/
文件夾我們加入完成.這時(shí)候我們就要找到我們的驗(yàn)證碼文件了..這里我命名為ImgCode.php文件名..這個(gè)文件就是我們將要用到生成驗(yàn)證碼的類文件.當(dāng)然這文件我是改寫成了Zend Framework里的插件形式...ImgCode.php部分文件說明如下:
<?php //ImgCode.php部分程序說明 //程序生成的驗(yàn)證碼數(shù)據(jù) $randval = $this->rand_string($length,$mode); //把這個(gè)數(shù)據(jù)存貯在Zend_Session中... //這里有一個(gè)Session命名空間的問題,朋友們可以去看一下手冊 $authCode = new Zend_Session_Namespace('Auth_Code'); $authCode->imagecode = $randval; ?>
第二步:在我們留言本的控制器里(IndexController.php),加入一個(gè)如下的動作(Action).這個(gè)動作就是為了生成驗(yàn)證驗(yàn)的運(yùn)用.
程序如下所示:
<?php public function imgcodeAction() { $this->getFrontController()->setParam('noViewRenderer', true); //調(diào)用我們的驗(yàn)證碼類 Zend_Loader::loadClass('Custom_Controller_Plugin_ImgCode'); $imagecode=new Custom_Controller_Plugin_ImgCode(); //返回驗(yàn)證碼圖片 $imagecode->image2(); } ?>
第三步:在我們的留言模板中加入驗(yàn)證碼的功能:打開留言本顯示頁面的模板,message/index.phtml 我們在填寫留言區(qū)加入下面html代碼..這個(gè)時(shí)候請大家看源文件里面的JS代碼..像更換驗(yàn)證碼圖片什么的功能..這小東西我就不多說了..我只是比上次教程多加了一些JS的功能..
最后..就是在我們的控制器(IndexController.php)里找到messageAction這個(gè)功能..我們在里面加下需要用到驗(yàn)證碼的功能..也就是檢驗(yàn)用戶填寫的驗(yàn)證碼是否和我們存在Session里面的驗(yàn)證碼相同..如果相同..我們就讓他發(fā)表留言..否則就不讓他留言..我想這個(gè)基本的思想大家都有的.
完整實(shí)例代碼點(diǎn)擊此處本站下載。
更多關(guān)于zend相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Zend FrameWork框架入門教程》、《php優(yōu)秀開發(fā)框架總結(jié)》、《Yii框架入門及常用技巧總結(jié)》、《ThinkPHP入門教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家基于Zend Framework框架的PHP程序設(shè)計(jì)有所幫助。
- zen cart新進(jìn)商品的隨機(jī)排序修改方法
- php 修改zen-cart下單和付款流程以防止漏單
- Zend Framework開發(fā)入門經(jīng)典教程
- Zend Framework教程之Zend_Config_Ini用法分析
- Zend Framework教程之Zend_Config_Xml用法分析
- Zend Framework教程之Zend_Registry對象用法分析
- Zend Framework框架路由機(jī)制代碼分析
- Zend Framework入門之環(huán)境配置及第一個(gè)Hello World示例(附demo源碼下載)
- zen_cart實(shí)現(xiàn)支付前生成訂單的方法
相關(guān)文章
php導(dǎo)出word文檔與excel電子表格的簡單示例代碼
本篇文章主要是對php導(dǎo)出word文檔與excel電子表格的簡單示例代碼進(jìn)行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助2014-03-03PHP實(shí)現(xiàn)微信公眾平臺音樂點(diǎn)播
首先說一下思路,微信提供了接口,只要數(shù)據(jù)格式滿足它所給的接口的XML格式即可以發(fā)送給關(guān)注者對應(yīng)的音樂2014-03-03php實(shí)現(xiàn)中文轉(zhuǎn)數(shù)字
這里給大家分享的是一則使用php實(shí)現(xiàn)的中文轉(zhuǎn)數(shù)字的代碼,非常智能,也很完美,有需要的小伙伴可以參考下。2016-02-02