后台登陆日志,搜素后分页功能用不了。

301次浏览 更新日期:2026-09-06 23:38:22 分类:程序交流 评论:5

后台登陆日志,按照需求搜素后,分页功能用不了, 点击下一页,提示“您要找的资源已被删除、已更名或暂时不可用。”


如何处理。谢 谢


image.png


image.png

我来说两句
  • sxsmlj
    sxsmlj 1月前
    搜素后分页功能使用有错误?
    1
    回复
  • sxsmlj
    sxsmlj 22天前
    以上问题修复
    1.在控制器代码中:
    把 $page->limit() 改成手动 $offset.','.$pagesize,并新增自定义分页 HTML 构建(用 http_build_query(..., PHP_QUERY_RFC3986) 严格编码所有参数,彻底绕开分页类对带空格/冒号时间参数的编码缺陷)
    
    2.在视图文件中将:$page->getfull() 改为 $page_html,并追加分页样式  
    
    3.以下为具体修复代码
    // ========== 自定义分页 HTML:解决带时间参数搜索后翻页 404 ==========
        $total_pages = $total > 0 ? (int)ceil($total / $pagesize) : 1;
        if ($current_page > $total_pages) $current_page = $total_pages;
        
        $page_params = $_GET;
        unset($page_params['page']);
        $page_qs = http_build_query($page_params, '', '&', PHP_QUERY_RFC3986);
        
        $page_path = isset($_SERVER['REQUEST_URI']) ? strtok($_SERVER['REQUEST_URI'], '?') : '';
        if (empty($page_path)) {
            $page_path = isset($_SERVER['SCRIPT_NAME']) ? $_SERVER['SCRIPT_NAME'] : '';
        }
        
        $mk_page_url = function($p) use ($page_path, $page_qs) {
            $sep = ($page_qs === '') ? '?' : '?' . $page_qs . '&';
            return $page_path . $sep . 'page=' . $p;
        };
        
        $page_html = '';
        if ($total_pages > 1) {
            if ($current_page > 1) {
                $page_html .= '<a href="' . htmlspecialchars($mk_page_url(1), ENT_QUOTES, 'UTF-8') . '">首页</a>';
                $page_html .= '<a href="' . htmlspecialchars($mk_page_url($current_page - 1), ENT_QUOTES, 'UTF-8') . '">上一页</a>';
            } else {
                $page_html .= '<span class="disabled">首页</span>';
                $page_html .= '<span class="disabled">上一页</span>';
            }
            $sp = max(1, $current_page - 3);
            $ep = min($total_pages, $current_page + 3);
            for ($i = $sp; $i <= $ep; $i++) {
                if ($i == $current_page) {
                    $page_html .= '<span class="current">' . $i . '</span>';
                } else {
                    $page_html .= '<a href="' . htmlspecialchars($mk_page_url($i), ENT_QUOTES, 'UTF-8') . '">' . $i . '</a>';
                }
            }
            if ($current_page < $total_pages) {
                $page_html .= '<a href="' . htmlspecialchars($mk_page_url($current_page + 1), ENT_QUOTES, 'UTF-8') . '">下一页</a>';
                $page_html .= '<a href="' . htmlspecialchars($mk_page_url($total_pages), ENT_QUOTES, 'UTF-8') . '">末页</a>';
            } else {
                $page_html .= '<span class="disabled">下一页</span>';
                $page_html .= '<span class="disabled">末页</span>';
            }
        }
    0
    回复
  • sxsmlj
    sxsmlj 22天前
    将搜索栏的开始,结束时间输入框删除,搜索分布功能是正常的,但加入就显示以上错误。
    0
    回复
  • sxsmlj
    sxsmlj 28天前
    折腾了几天,还是没有发现是哪的问题。
    0
    回复
  • yzmcms
    yzmcms 官网认证 1月前
    @sxsmlj yzmcms系统这块没有问题,请检查网站服务器配置或检查防火墙
    0
    回复
作者信息
发布见解
发内容 回顶部