ThinkPHP验证码和分页实例教程

 更新时间:2014年08月22日 15:40:05   投稿:shichen2014  
这篇文章主要介绍了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 style="font-weight:bold;">总共:%totalRow%%header%&nbsp;%nowPage%/%totalPage%页&nbsp;%first%&nbsp;%upPage%&nbsp;%prePage%&nbsp;%linkPage%&nbsp;%nextPage%&nbsp;%downPage%&nbsp;%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>&nbsp;&nbsp;<a href="__URL__/edit/id/{$vo['id']}">编辑</a></li>
</volist>
{$page}

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

相关文章

  • ThinkPHP之M方法实例详解

    ThinkPHP之M方法实例详解

    这篇文章主要介绍了ThinkPHP的M方法,需要的朋友可以参考下
    2014-06-06
  • PHP随机生成18位不重复的订单号代码实例

    PHP随机生成18位不重复的订单号代码实例

    这篇文章主要介绍了PHP随机生成18位不重复的订单号代码实例,代码很简单但是很实用,有需要的同学可以参考下
    2021-03-03
  • PHP命令空间namespace及use的用法小结

    PHP命令空间namespace及use的用法小结

    命名空间一个最明确的目的就是解决重名问题,PHP中不允许两个函数或者类出现相同的名字,否则会产生一个致命的错误。这篇文章主要介绍了PHP命令空间namespace及use的用法实践总结,需要的朋友可以参考下
    2017-11-11
  • PHP中文分词 自动获取关键词介绍

    PHP中文分词 自动获取关键词介绍

    用了大家熟知的scws 还有phpanalysis ,需要的朋友可以参考下
    2012-11-11
  • 深入理解PHP+Mysql分布式事务与解决方案

    深入理解PHP+Mysql分布式事务与解决方案

    这篇文章主要介绍了深入理解PHP+Mysql分布式事务与解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • php实现网站留言板功能

    php实现网站留言板功能

    这篇文章主要介绍了php实现网站留言板功能,主要仿照了畅言留言板和网易跟帖样式进行制作,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2015-11-11
  • PHP输出日历表代码实例

    PHP输出日历表代码实例

    这篇文章主要介绍了PHP输出日历表代码实例,本文直接给出代码实例,需要的朋友可以参考下
    2015-03-03
  • Laravel框架模板继承操作示例

    Laravel框架模板继承操作示例

    这篇文章主要介绍了Laravel框架模板继承操作,结合实例形式分析了Laravel框架模板继承的实现方法及相关操作注意事项,需要的朋友可以参考下
    2018-06-06
  • php die()与exit()的区别实例详解

    php die()与exit()的区别实例详解

    php中die()与exit()的真正区别是什么因,我们百度一下发现die是退出并释放内存,exit是退出但不释放内存了,那么真的是这样吗,需要的朋友可以参考下
    2016-12-12
  • Yii2配置Nginx伪静态的方法

    Yii2配置Nginx伪静态的方法

    这篇文章主要介绍了Yii2配置Nginx伪静态的方法,结合实例形式分析了Yii2框架针对Nginx伪静态的相关配置技巧,需要的朋友可以参考下
    2017-05-05

最新评论