ThinkPHP驗證碼和分頁執行個體教程,thinkphp執行個體教程
本文執行個體講述了ThinkPHP常用的兩個功能:驗證碼與分頁。在ThinkPHP的項目開發中非常常見,具有很高的實用價值。完整執行個體分享給大家,供大家參考。具體如下:
一、驗證碼:
匯入驗證碼類,在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頁面代碼如下:
<?phpclass CommonAction extends Action{ function verify(){ import('ORG.Util.Image'); //英文驗證碼 //Image::buildImageVerify(5,5,gif,90,30,'verify'); //中文驗證碼 Image::GBVerify(); } }?>
5.view模板部分:
模板index.html頁面如下:
驗證碼:
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','總共:%totalRow%%header% %nowPage%/%totalPage%頁 %first% %upPage% %prePage% %linkPage% %nextPage% %downPage% %end%'); $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頁面如下:
ID:{$vo['id']}使用者名稱:{$vo['username']}註冊ip:{$vo['createip']}刪除 編輯{$page}
感興趣的讀者可以調試運行一下本文ThinkPHP驗證碼與分頁執行個體,相信會有新的收穫。
怎更改網頁分頁,THINKPHP核心,例子如:http://wwwttplmgcom/special/8html
用分頁類中的setConfig方法進行自訂分頁樣式:
我這有個之前用的自訂分頁類,你看這改吧。
/** * * Enter 公用分頁類 * @param array $map分頁過濾的條件 * @param class $Form 資料模型 * @param integer $limit 分頁顯示的條數 * @param string $order排序 * @return array */ public function _list($map,$Form,$limit=9,$order='add_time'){ $res=array(); $p=empty($_GET['p']) ? 0 : (int)$_GET['p']; $res['list'] = $Form->field(true)->where($map)->order($order)->page($p.','.$limit)->select();import('ORG.Util.Page'); // 匯入分頁類$count = $Form->where($map)->count();// 查詢滿足要求的總記錄數$Page = new Page($count,$limit);// 執行個體化分頁類 傳入總記錄數和每頁顯示的記錄數$Page->rollPage=3;$Page->setConfig('theme'," %upPage% %linkPage% %downPage%
%nowPage%/%totalPage% 頁</a></li>");$res['page'] = $Page->show();// 分頁顯示輸出return $res; }
thinkphp分頁時 怎取得 上一頁下一頁的傳遞變數 就是我想不用原來的分頁效果 把上下頁效果附到圖片上
public function index() {//把表徵圖改一下樣式就可以了 $user = M('User'); import('ORG.Util.Page'); $count = $user->count(); $listRows = 5; $page = new Page($count, $listRows); $list = $user->limit("{$page->firstRow},{$page->listRows}")->select(); $page->setConfig('prev', '');//上一頁 $page->setConfig('next', '');//下一頁 // $page->setConfig('first', ''); // $page->setConfig('last', ''); $page->setConfig('theme', '%upPage% %downPage%');//只顯示上下頁選項 $this->assign('page', $page->show()); $this->assign('list', $list); $this->display();}
http://www.bkjia.com/PHPjc/868240.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/868240.htmlTechArticleThinkPHP驗證碼和分頁執行個體教程,thinkphp執行個體教程 本文執行個體講述了ThinkPHP常用的兩個功能:驗證碼與分頁。在ThinkPHP的項目開發中非常常見,具...