>백엔드 개발 >PHP 튜토리얼 >ThinkPHP 인증 코드 및 페이징 예시 tutorial_php 예시

ThinkPHP 인증 코드 및 페이징 예시 tutorial_php 예시

WBOY
WBOY원래의
2016-05-16 20:37:09893검색

이 기사의 예에서는 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 헤더 정보 출력)? ③.이미지 클래스 라이브러리를 올바르게 가져왔나요?
④.중국어 인증코드인 경우 클래스 라이브러리가 위치한 디렉토리에 폰트 파일이 복사되었는지 확인하세요.

4.액션 부분:

CommonAction.class.php 페이지 코드는 다음과 같습니다.

<&#63;php
class CommonAction extends Action{
  function verify(){    
    import('ORG.Util.Image');
    //英文验证码
    //Image::buildImageVerify(5,5,gif,90,30,'verify');
    //中文验证码
    Image::GBVerify();
  }  
  
}
&#63;>

5.뷰 템플릿 부분:

템플릿 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('验证码不正确');   
}

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();
}

3.뷰 템플릿 부분:

템플릿 페이지 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 확인 코드와 페이징 예제를 디버그하고 실행할 수 있습니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.