程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> ThinkPHP驗證碼和分頁實例教程,thinkphp實例教程

ThinkPHP驗證碼和分頁實例教程,thinkphp實例教程

編輯:關於PHP編程

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頁面代碼如下:

<?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驗證碼與分頁實例,相信會有新的收獲。


怎更改網頁分頁,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% <li style='width:50px;'><a href='javascript:void(0)'>%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', '<img id="prev" src="/Public/img/prev.png" />');//上一頁 $page->setConfig('next', '<img id="next" src="/Public/img/next.png" />');//下一頁 // $page->setConfig('first', ''); // $page->setConfig('last', ''); $page->setConfig('theme', '%upPage% %downPage%');//只顯示上下頁選項 $this->assign('page', $page->show()); $this->assign('list', $list); $this->display();}
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved