本文实例讲述了ThinkPHP常用的两个功能:验证码与分页。在ThinkPHP的项目开发中非常常见,具有很高的实用价值。完整实例分享给大家,供大家参考。具体如下:
一、验证码:
导入验证码类,在aoli\ThinkPHP\Lib\ORG\Util\Image.class.php里有验证码方法
1.英文验证码:
buildImageVerify($length,$mode,$type,$width,$height,$verifyName)
参数如下:
length :验证码的长度,默认为 4 位数
mode :验证html" target="_blank">字符串的类型,默认为数字,其他支持类型有 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% %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表单自动提交验证实例教程,包括了ThinkPHP表单自动提交验证实例教程的使用技巧和注意事项,需要的朋友参考一下 本文以实例讲述了ThinkPHP表单自动提交验证的实现过程,详细步骤如下所示: 一、模板部分: 二、模型部分form类程序代码: 三、控制器部分indexaction类程序代码:
本文向大家介绍ThinkPHP令牌验证实例,包括了ThinkPHP令牌验证实例的使用技巧和注意事项,需要的朋友参考一下 ThinkPHP内置了表单令牌验证功能,可以有效防止表单的远程提交等安全防护。 表单令牌验证相关的配置参数有: 如果开启表单令牌验证功能,系统会自动在带有表单的模板文件里面自动生成以TOKEN_NAME为名称的隐藏域,其值则是TOKEN_TYPE方式生成的哈希字符串,用于实现表单
本文向大家介绍ThinkPHP快速入门实例教程之数据分页,包括了ThinkPHP快速入门实例教程之数据分页的使用技巧和注意事项,需要的朋友参考一下 数据分页可能是web编程里最常用到的功能之一。ThinkPHP实现分页功能十分简洁。只需要定义几个参数就可以实现。并且扩展也十分方便。 下面让我们从零开始实现ThinkPHP的分页程序吧。 1.首先,我们得创建一个用于分页测试的数据库 test.sql
本文向大家介绍ThinkPHP表单自动验证实例,包括了ThinkPHP表单自动验证实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了ThinkPHP表单自动验证的实现方法。分享给大家供大家参考。具体方法如下: 该示例代码采用TP 3.2框架实现。具体代码如下: 其中的验证规则也可以写到模型里,但笔者感觉有些麻烦,一是有时候不同页面验证的方式会不一样,二是看到这个add_post事件里的代
本文向大家介绍ThinkPHP实例教程2:ThinkPHP安装,包括了ThinkPHP实例教程2:ThinkPHP安装的使用技巧和注意事项,需要的朋友参考一下 ThinkPHP是一个快速、兼容而且简单的轻量级国产PHP开发框架。ThinkPHP诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP,遵循Apache2开源协议发布,从Struts结构移植过来并做了改进和完善,同时也
本文向大家介绍ThinkPHP实现带验证码的文件上传功能实例,包括了ThinkPHP实现带验证码的文件上传功能实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了ThinkPHP实现带验证码的文件上传功能。分享给大家供大家参考。具体实现方法如下: ThinkPHP上传文件非常的简单我们只要调用一个文件上传类UploadFile就可以快速的实现上传功能了,下面我来给大家整理了一个上传文件时需