您好,登錄后才能下訂單哦!
怎么在ThinkPHP中實現一個驗證碼和分頁功能?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
php是一個嵌套的縮寫名稱,是英文超級文本預處理語言,它的語法混合了C、Java、Perl以及php自創新的語法,主要用來做網站開發,許多小型網站都用php開發,因為php是開源的,從而使得php經久不衰。
一、驗證碼:
導入驗證碼類,在aoli\ThinkPHP\Lib\ORG\Util\Image.class.php里有驗證碼方法
1.英文驗證碼:
buildImageVerify($length,$mode,$type,$width,$height,$verifyName)
參數如下:
length :驗證碼的長度,默認為 4 位數
mode :驗證字符串的類型,默認為數字,其他支持類型有 0 字母 1 數字 2 大寫字母 3 小寫字母 4
中文 5 混合(去掉了容易混淆的字符 oOLl 和數字 01 )
type :驗證碼的圖片類型,默認為 png
width :驗證碼的寬度,默認會自動根據驗證碼長度自動計算
height :驗證碼的高度,默認為 22
verifyName :驗證碼的 SESSION 記錄名稱,默認為 verify
2.中文驗證碼:
GBVerify ($length,$type,$width,$height,$fontface,$verifyName)
參數如下:
length :驗證碼的長度,默認為 4 位數
type :驗證碼的圖片類型,默認為 png
width :驗證碼的寬度,默認會自動根據驗證碼長度自動計算
height :驗證碼的高度,默認為 50
fontface :使用的字體文件,使用完整文件名或者放到圖像類所在的目錄下面,默認使用的字體文件是 simhei.ttf (該文件可以從 window 的 Fonts 目錄下面找到)
verifyName :驗證碼的 SESSION 記錄名稱,默認為 verify
3.如果無法顯示驗證碼,請檢查:
①.PHP 是否已經安裝 GD 庫支持;
②.輸出之前是否有任何的輸出(尤其是 UTF8 的 BOM 頭信息輸出);
③.Image 類庫是否正確導入;
④.如果是中文驗證碼檢查是否有拷貝字體文件到類庫所在目錄;
4.action部分:
CommonAction.class.php頁面代碼如下:
<?php class CommonAction extends Action{ function verify(){ import('ORG.Util.Image'); //英文驗證碼 //Image::buildImageVerify(5,5,gif,90,30,'verify'); //中文驗證碼 Image::GBVerify(); } } ?>
5.view模板部分:
模板index.html頁面如下:
驗證碼:<input type="text" name="verify" /><img src="__APP__/common/verify" onclick="show(this)" /><br /> <input type="submit" value="注冊" /> </form> <script type="text/javascript"> function show(obj){ obj.src="__APP__/common/verify/random/"+Math.random(); } </script>
6.控制器:
控制器UserAction.class.php如下:
//驗證碼驗證 if($_SESSION['verify']!=md5($_POST['verify'])){ $this->error('驗證碼不正確'); }
二、分頁:
1.導入分頁類,在aoli\ThinkPHP\Lib\ORG\Util\Page.class.php里有驗證碼方法
2.action部分:
UserAction.class.php頁面如下:
function index(){ import('ORG.Util.Page');//引入分布類 $user=M('user'); $count=$user->count(); $page=new Page($count,3);//一頁顯示5條 $page->setConfig('theme','<div >總共:%totalRow%%header% %nowPage%/%totalPage%頁 %first% %upPage% %prePage% %linkPage% %nextPage% %downPage% %end%</div>'); $show=$page->show(); $list=$user->field(array('id','username','createip'))->order('id desc')->limit($page->firstRow.','.$page->listRows)->select(); $this->assign('alist',$list); $this->assign('page',$show); $this->display(); }
3.view模板部分:
模板頁index.html頁面如下:
<volist name="alist" id="vo"> <li><span>ID:</span>{$vo['id']}<span>用戶名:</span>{$vo['username']}<span>注冊ip:</span>{$vo['createip']}<a href="__URL__/del/id/{$vo['id']}">刪除</a> <a href="__URL__/edit/id/{$vo['id']}">編輯</a></li> </volist> {$page}
關于怎么在ThinkPHP中實現一個驗證碼和分頁功能問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。