当前位置:首页 > CMS教程 > Thinkphp > 列表

ThinkPHP验证码和分页实例教程

发布:smiling 来源: PHP粉丝网  添加日期:2021-04-08 20:58:25 浏览: 评论:0 

这篇文章主要介绍了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页面代码如下:

  1. <?php 
  2. class CommonAction extends Action{ 
  3.   function verify(){     
  4.     import('ORG.Util.Image'); 
  5.     //英文验证码 
  6.     //Image::buildImageVerify(5,5,gif,90,30,'verify'); 
  7.     //中文验证码 
  8.     Image::GBVerify(); 
  9.   }   
  10.     
  11. ?> 

5.view模板部分:

模板index.html页面如下:

  1. 验证码:<input type="text" name="verify" /><img src="__APP__/common/verify" onclick="show(this)" /><br /> 
  2.  <input type="submit" value="注册" /> 
  3. </form> 
  4.  
  5. <script type="text/javascript"
  6.   function show(obj){ 
  7.     obj.src="__APP__/common/verify/random/"+Math.random();     
  8.   } 
  9. </script> 

6.控制器:

控制器UserAction.class.php如下:

  1. //验证码验证 
  2. if($_SESSION['verify']!=md5($_POST['verify'])){ 
  3.   $this->error('验证码不正确');    

二、分页:

1.导入分页类,在aoli\ThinkPHP\Lib\ORG\Util\Page.class.php里有验证码方法 

2.action部分:

UserAction.class.php页面如下:

  1. function index(){ 
  2.   import('ORG.Util.Page');//引入分布类 
  3.   $user=M('user'); 
  4.   $count=$user->count(); 
  5.   $page=new Page($count,3);//一页显示5条 
  6.   $page->setConfig('theme','<div style="font-weight:bold;">总共:%totalRow%%header%&nbsp;%nowPage%/%totalPage%页&nbsp;%first%&nbsp;%upPage%&nbsp;%prePage%&nbsp;%linkPage%&nbsp;%nextPage%&nbsp;%downPage%&nbsp;%end%</div>'); 
  7.   $show=$page->show(); 
  8.   $list=$user->field(array('id','username','createip'))->order('id desc')->limit($page->firstRow.','.$page->listRows)->select(); 
  9.   $this->assign('alist',$list); 
  10.   $this->assign('page',$show); 
  11.   $this->display(); 

3.view模板部分:

模板页index.html页面如下:

  1. <volist name="alist" id="vo"
  2.  <li><span>ID:</span>{$vo['id']}<span>用户名:</span>{$vo['username']}<span>注册ip:</span>{$vo['createip']}<a href="__URL__/del/id/{$vo['id']}">删除</a>&nbsp;&nbsp;<a href="__URL__/edit/id/{$vo['id']}">编辑</a></li> 
  3. </volist> 
  4. {$page

感兴趣的读者可以调试运行一下本文ThinkPHP验证码与分页实例,相信会有新的收获。

Tags: ThinkPHP验证码

分享到: