이 기사의 예에서는 ThinkPHP에서 일반적으로 사용되는 두 가지 기능인 확인 코드와 페이징을 설명합니다. ThinkPHP 프로젝트 개발에서 매우 일반적이며 실용적인 가치가 높습니다. 전체 예제는 참조용으로 모든 사람과 공유됩니다. 세부 내용은 다음과 같습니다.
1. 인증코드:
인증 코드 클래스를 가져오세요. aoliThinkPHPLibORGUtilImage.class.php에 인증 코드 메서드가 있습니다.
1. 영문 인증번호 :
buildImageVerify($length,$mode,$type,$width,$height,$verifyName)
매개변수는 다음과 같습니다.
length: 인증코드의 길이, 기본값은 4자리
모드: 확인 문자열 유형, 기본값은 숫자, 기타 지원 유형은 0 글자 1 숫자 2 대문자 3 소문자 4
중국어 5개 혼합 (헷갈리는 문자 oOLl과 숫자 01 삭제)
유형: 인증 코드의 이미지 유형, 기본값은 png
너비: 인증 코드의 너비는 기본적으로 인증 코드의 길이에 따라 자동으로 계산됩니다.
height: 인증 코드의 높이, 기본값은 22
verifyName: 인증 코드의 SESSION 레코드 이름, 기본값은 verify
2. 중국어 인증코드:
GBVerify ($length,$type,$width,$height,$fontface,$verifyName)
매개변수는 다음과 같습니다.
length: 인증코드의 길이, 기본값은 4자리
유형: 인증 코드의 이미지 유형, 기본값은 png
너비: 인증 코드의 너비는 기본적으로 인증 코드의 길이에 따라 자동으로 계산됩니다.
height: 인증 코드의 높이, 기본값은 50
Fontface: 사용된 글꼴 파일입니다. 전체 파일 이름을 사용하거나 이미지 클래스가 있는 디렉터리에 넣습니다. 사용되는 기본 글꼴 파일은 simhei.ttf입니다(이 파일은 창의 Fonts 디렉터리에서 찾을 수 있습니다)
verifyName: 인증 코드의 SESSION 레코드 이름, 기본값은 verify
3. 인증코드가 표시되지 않는 경우 다음을 확인하세요.
①.PHP GD 라이브러리 지원 설치 여부
②.출력 전 출력이 있나요(특히 UTF8의 BOM 헤더 정보 출력)?
③.이미지 클래스 라이브러리를 올바르게 가져왔나요?
④.중국어 인증코드인 경우 클래스 라이브러리가 위치한 디렉토리에 폰트 파일이 복사되었는지 확인하세요.
CommonAction.class.php 페이지 코드는 다음과 같습니다.
<?php class CommonAction extends Action{ function verify(){ import('ORG.Util.Image'); //英文验证码 //Image::buildImageVerify(5,5,gif,90,30,'verify'); //中文验证码 Image::GBVerify(); } } ?>
템플릿 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>
컨트롤러 UserAction.class.php는 다음과 같습니다.
//验证码验证 if($_SESSION['verify']!=md5($_POST['verify'])){ $this->error('验证码不正确'); }
2. 페이지 매김:
1. 페이징 클래스를 가져옵니다. aoliThinkPHPLibORGUtilPage.class.php에 확인 코드 메서드가 있습니다2.액션 부분:
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(); }
템플릿 페이지 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}