>PHP 프레임워크 >ThinkPHP >thinkphp 페이지 매김이 잘못된 문제 해결

thinkphp 페이지 매김이 잘못된 문제 해결

尚
앞으로
2020-06-02 09:06:372545검색

thinkphp 페이지 매김이 잘못된 문제 해결

Thinkphp에 내장된 페이징 클래스에 버그가 있습니다. 예를 들어 키워드를 검색하면 키워드가 중국어로 두 번째로 페이징을 클릭하면 코드가 깨져서 필요한 페이지 번호가 표시되지 않습니다. 보통. 이 문서에서는 이 문제에 대한 해결책을 제공합니다.

문자가 깨지는 문제는 URL을 구성할 때 thinkphp 페이징 클래스의 문제로 인해 발생합니다. Thinkphp의 페이징 URL은 "/"를 사용하여 URL에 데이터가 전달될 때 두 번째로 암호화됩니다. 첫 번째 단계에서는 코드가 깨질 수 있지만 "?"와 "&"를 사용하여 매개변수를 구분하면 이 문제가 발생하지 않습니다.

그래서 수정할 내용은 thinkphp의 페이징 클래스 파일: /ThinkPHP/Extend/Library/ORG/Util/Page.class.php 파일입니다.

구체적으로 수정된 코드는 다음과 같습니다.

1 thinkphp 페이징 클래스 파일 Page.class.php 끝에 사용자 정의 함수를 추가하여 URL의 매개변수 구분 기호를 대체합니다.

private function clin_page_url($parameter){
  $url = U('');
  $url = str_replace('.html', '?', $url);
  foreach ($parameter as $key => $value) {
     $url .= $key.'='.$value.'&';
  }
  $url = substr($url, 0,-1);
  return $url;
}

2 .최종 생성된 URL을 수정하세요

Page.class.php 파일의 99번째 줄에서 원본

$url=U('',$parameter);

를 다음으로 변경하세요.

$url=$this->clin_page_url($parameter); // 生成标准的url

이 두 단계의 수정 후에 thinkphp 페이징 문자가 왜곡되는 문제가 해결될 수 있습니다.

추천 튜토리얼: "TP5"

위 내용은 thinkphp 페이지 매김이 잘못된 문제 해결의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 zixuephp에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제