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页面如下:

 验证码:ThinkPHP验证码和分页实例教程,thinkphp实例教程_PHP教程-LMLPHP
登录后复制

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页面如下:


{$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% 页");$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', 'ThinkPHP验证码和分页实例教程,thinkphp实例教程_PHP教程-LMLPHP');//上一页 $page->setConfig('next', 'ThinkPHP验证码和分页实例教程,thinkphp实例教程_PHP教程-LMLPHP');//下一页 // $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的项目开发中非常常见,具...