获取分页get值失败

点击分页码,跳转页面为空白的页面。
正常的页码是1的情况下图片如下:
图片描述

开始跳转页面为2的情况下(空白):
图片描述

<?php
ini_set("error_reporting","E_ALL & ~E_NOTICE");
function webalert($Key){
    $html="<script>\r\n";
    $html.="alert('".$Key."');\r\n";
    $html.="history.go(-1);\r\n";
    $html.="</script>";
    exit($html);
}

function charaget($data){
    if(!empty($data) ){    
        $fileType = mb_detect_encoding($data , array('UTF-8','GBK','LATIN1','BIG5')) ;   
        if( $fileType != 'UTF-8'){   
            $data = mb_convert_encoding($data ,'UTF-8' , $fileType);   
        }   
    }   
    return $data;    
}




if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $trimmed = array_map('trim', $_POST);
    $key=$trimmed['key'];
    if(empty($key)) {
        webalert('亲,您确认下输入!');
    } 
    
    $keyword = explode(" ", $key); //拆分关键字为数组
    $keycount = count($keyword); //统计关键字个数

    $files = "taobao.dat";
    
    $filer = fopen($files, "r") or webalert('无法打开文件!');
    
    $data = []; // 最终的数据
    
    while (!feof($filer)) {//检测是否已到达文件末尾

        $row = fgets($filer);//从文件指针中读取一行
        $rows = trim(charaget($row));//转UTF-8,并移除字符串两侧的空白字符或其他预定义字符
        //var_dump($rows);
        if ($rows) {
            $e_rows = explode("\t", $rows);
    
            $b=0;    //初始化关键字,比对次数

            foreach($keyword as $val){                 
                if (strstr( $e_rows[0] , $val ) !== false ){    //搜索框中的关键字和数据库中的标题匹配            

                    $b++;
                    
                    if ($b == $keycount) {//筛选出多个关键字出现在同一个标题中
                        $c++;//筛选后,查询结果进行编号
                        
                        //var_dump($e_rows);
                        
                        array_push($data,$e_rows);
                    }                         
                }    
            }                        
        }
    }
    fclose($filer);
    //echo "$c";
    if ($c < 1) {
        echo '<table cellspacing="0"><tr>';
        echo "<td colspan=2>没有查询到相关信息哦。<br>";
        echo "<strong>可能原因及建议:</strong><br>";
        echo "1. 如果没有结果请尝试减少或更换查询关键词。<br>";
        echo "2. 多关键词用空格隔开,参考:毛衣 加厚 男。<br>";
        echo "3. 只涵盖部分类目:有些类目的商品查询不到。</td>";
        echo '</tr></table>';
    }else {    
        //var_dump($data);
        //计算筛选出来的数组条数
        $num = count($data); 
        
        //规定每页显示的条数
        $display = 5;
        
        //计算总页面数 
        $countpage = ceil($num/$display);
        echo "$num == $display === $countpage";
        $get =  $_REQUEST ['page']; 
        echo "$get";
        //exit; 
        
        if(is_numeric($_REQUEST['page'])){
            if($_REQUEST['page']<1){
                $page = 1;
            }elseif($_REQUEST['page']>$countpage){
                $page = $countpage;
            }else{
                $page = $_REQUEST['page'];
            }
        }else{
            $page = 1;
        }
        var_dump($page) ;
        //计算每次分页的开始位置 
        $start = ($page-1)*$display;
        $pagedata=array();
        $pagedata = array_slice($data,$start,$display,true); 
        //var_dump($pagedata);exit;
?>

<?php
foreach($pagedata as $k => $v){    
?>    
        <table>
        <tbody>
        <tr>
    
            <td><?php echo  $v['0']; ?></td>
            <td><img src="<?php echo  $v['1']; ?>" width="100" /></td>
            <td><a target="_blank" href="<?php echo  $v['2']; ?>">购买链接</a></td>
            <td>商品价格(单位:元):<?php echo  $v['3']; ?></td>
            <td>商品月销量:<?php echo  $v['4']; ?></td>
            <td>店铺名称:<?php echo  $v['5']; ?></td>
            <td>平台类型:<?php echo  $v['6']; ?></td>
            <td>优惠券面额:<?php echo  $v['7']; ?></td>
            <td>优惠券开始时间:<?php echo  $v['8']; ?></td>
            <td>优惠券结束时间:<?php echo  $v['9']; ?></td>
            <td><a target="_blank" href="<?php echo  $v['10']; ?>">商品优惠券推广链接</a></td>        
        </tr>
        </tbody>
        </table>

<?php
}
?>    
    
<?php
    
    if($page>1){
        echo "<a href='?page=1'>首页</a>";
        echo "<a href='?page=".($page-1)."'>上一页</a>";
    }
    if($page<$countpage)
    {
        echo "<a href='?page=".($page+1)."'>下一页</a>";
        echo "<a href='?page=".$countpage."'>末页</a>";
    }     



    
    }
    
}




?>
阅读 2.1k
2 个回答

因为$_SERVER['REQUEST_METHOD'] != 'POST'

还有人知道这个问题吗?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题