资讯专栏INFORMATION COLUMN

thinkphp分页bug--解决thinkphp分页乱码问题

Jrain / 2421人阅读

摘要:本文就这一问题给出解决方案。具体修改的代码是在分页类文件的最后加上一个自定义函数,用于替换中的参数分隔符号,函数内容如下自学博客修改最终生成的在文件的第行,将原来的修改为生成标准的经过这两步修改就可以解决分页乱码的问题了。

thinkphp自带的分页类存在bug,例如当我们搜索关键词时,关键词为中文,第二次点击分页的时候,就会乱码,不能正常的显示我们需要的页码。本文就这一问题给出解决方案。
出现乱码的问题是因为thinkphp分页类中的,构造url时存在的问题,thinkphp的分页url是使用"/"来分隔参数的,在将数据传递到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;
}

自学php博客
2、修改最终生成的url
在Page.class.php文件的第99行,将原来的

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

修改为:

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

经过这两步修改就可以解决thinkphp分页乱码的问题了。


原文地址:自学PHP博客[1]: http://www.zixuephp.cn/index....

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/22574.html

相关文章

  • 一步步实现thinkphp上的ajax无刷新分页

    摘要:信息列表循环赋值分页信息部分这一步是实现无刷新分页的重点,用到了的通信,通过与数据库的交互,将获取到的数据写到模板中,替换掉之前的数据集,达到分页的目的。 前言 thinkphp框架自带的分页类是每次翻页都要刷新一下整个页面,这种翻页的用户体验显然是不太理想的,我们希望每次翻页只刷新我们想要的数据集部分的数据,这样我们很容易想到ajax异步通信,用ajax与数据库(本人在开发过程中使用...

    张迁 评论0 收藏0
  • ThinkPHP5踩过的坑

    摘要:函数在框架初始化方法中无效当初做权限控制在判断是否有权限如果无权限就执行跳转跳转的函数是但是无论如何都无法跳转出去当时的版本是手册还不太完善后来得知必须得才可以跳转重定向完整代码分页参数的问题如果是普通分页没毛病但是分页后面有其他参数比 01:redirect函数在框架初始化方法中无效当初做权限控制,在initialize判断是否有权限,如果无权限就执行跳转,跳转的函数是redirec...

    enali 评论0 收藏0
  • ThinkPHP验证码不显示的解决方案

    摘要:今天遇到一个很奇怪的,就是我写了一个程序本地运行正常,但是发布到甲方的服务器上出现无法显示验证码的。适用于验证码图片在新窗口打开的时候显示了报错信息以及一堆乱码的情况下,如果有报错信息,请根据报错信息进行检查验证码所调用的字体是否缺失。 今天遇到一个很奇怪的BUG,就是我写了一个PHP程序本地运行正常,但是发布到甲方的服务器上出现无法显示验证码的BUG。 showImg(https:/...

    Meils 评论0 收藏0
  • 论初级PHPer如何点亮技能树

    摘要:此篇文章并未如何教你怎么面试的时候吹逼,而是给一点点建议,如何更聪明地达到目的。据不完全统计,基本都是做管理后台改。不要太沉溺和纠结于技术,把重心移到业务能力上,踏踏实实做事。 前言   对于很多刚毕业或者大四的同学,都会有个困惑,我如何学PHP,为什么知识会那么杂,然后实习中公司大概需要哪些要求。此篇文章并未如何教你怎么面试的时候吹逼,而是给一点点建议,如何更聪明地达到目的。 实习可...

    eternalshallow 评论0 收藏0
  • 一个前端写的php博客系统--支持markdown哦

    摘要:部署的地址我的博客地址起因最近买了个新的域名,同时在阿里云申请了免费的虚拟主机。。。一个前端写的博客系统前台展示后台登录一个前端写的博客系统文章的修改和删除 部署的地址 我的博客地址:http://www.weber.pub/ 起因 最近买了个新的域名,同时在阿里云申请了免费的虚拟主机。。。借此机会就想搞个自己的博客站点,虽然之前也使用了hexo + github 、 WordPres...

    wenhai.he 评论0 收藏0

发表评论

0条评论

Jrain

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<