1,验证码
在ThinkPHP中已经封装好了验证码类,放到 ThinkPHP/Extends/Library/ORG/Util/ 保存的是tp框架给我们封装好的一些类
如何使用这个验证码类:
(1)加载 类库
之前说加载一个文件 require require_once()
TP使用import() 这个方法有一个特点:
直接找到当前的类库目录
在ThinkPHP中,有一个基类类库(ThinkPHP目录下面的Library目录)
同时还有一个当前项目的类库: 项目的Lib目录
注意:在import方法中,以 。号代替 /
通过观察这个类库,我们发现 这个类的方法大部分都是静态方法,根据之前复习的类与对象,只能通过类来调用静态方法
(2)实例化对象
(3)调用对象的方法
主要说一下验证码类的参数:
参数1,验证码的长度 字符个数
参数2,验证码的模式,以阿拉伯数字标记的,1代表生成的是数字类型的验证码,2,大写字母;3,小写字母;4,大小写混合;5,数字,大写,小写混合的验证码
(2)如何生成中文验证码
需要调用封装好的GBVerify()这个方法,但是需要保证类库中有中文字体
字体类型保存在 C/Windows/font\
(3)如何验证验证码是否正确
1,验证码为什么要保存到session中?
跨页面访问 肯定要设计到数据的传输,从一个页面条到另外一个页面
$_GET $_POST
还可以通过session保存,session是保存到服务器端的
在TP框架中,验证码也是保存到session中的,如何访问这个验证码呢?
$verifyName 就是保存到session中的验证码名称
$_SESSION[‘verify’]
2,而且该验证码还是通过MD5加密的
验证码的参数:
通过参数可以修改验证码的宽度和高度
(4)
1,如何生成验证码,
2,设置它的参数来实现验证码的格式,
3,如何验证验证码是否正确,
4,点击刷新验证码
如果提示 图像因其本身有错而无法显示:
在输出验证码之前:增加一个 ob_end_clean(); 方法
ob缓存
(2)重新靠一份 image.class.php文件
2,分页:
封装好的类
(1)加载分页类文件
import(‘ORG’) 加载类文件,
@代表我们项目的类库
基类类库: Library
通过查看分页类的类库文件,发现它的方法不是静态的,我们需要实例化对象来调用对象的方法
$firstRow -- 起始 行数---- 每页掠过的记录数
$listRows 每页显示的记录数
定制分页信息的展示
调用当前page对象的 setConfig()方法
如何将记录改成新闻
//1,总的记录数
$total_rows = $page_model->count('*');
//2,获得每页显示的记录数
$page_size = 3;
$page = new Page($total_rows,$page_size);
$page -> setConfig('header','条新闻');
$info = $page -> show();
//获得每页对应的信息
$list = $page_model->field('news_id,new_name,path')->order('news_id desc')->limit($page->firstRow.','.$page->listRows)->select();
$this->assign('list',$list);
$this->assign('info',$info);
$this->display();