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 중국어 웹사이트의 기타 관련 기사를 참조하세요!