鍍金池/ 問答/PHP/ 獲取分頁get值失敗

獲取分頁get值失敗

點(diǎn)擊分頁碼,跳轉(zhuǎn)頁面為空白的頁面。
正常的頁碼是1的情況下圖片如下:
圖片描述

開始跳轉(zhuǎn)頁面為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('親,您確認(rèn)下輸入!');
    } 
    
    $keyword = explode(" ", $key); //拆分關(guān)鍵字為數(shù)組
    $keycount = count($keyword); //統(tǒng)計(jì)關(guān)鍵字個數(shù)

    $files = "taobao.dat";
    
    $filer = fopen($files, "r") or webalert('無法打開文件!');
    
    $data = []; // 最終的數(shù)據(jù)
    
    while (!feof($filer)) {//檢測是否已到達(dá)文件末尾

        $row = fgets($filer);//從文件指針中讀取一行
        $rows = trim(charaget($row));//轉(zhuǎn)UTF-8,并移除字符串兩側(cè)的空白字符或其他預(yù)定義字符
        //var_dump($rows);
        if ($rows) {
            $e_rows = explode("\t", $rows);
    
            $b=0;    //初始化關(guān)鍵字,比對次數(shù)

            foreach($keyword as $val){                 
                if (strstr( $e_rows[0] , $val ) !== false ){    //搜索框中的關(guān)鍵字和數(shù)據(jù)庫中的標(biāo)題匹配            

                    $b++;
                    
                    if ($b == $keycount) {//篩選出多個關(guān)鍵字出現(xiàn)在同一個標(biāo)題中
                        $c++;//篩選后,查詢結(jié)果進(jìn)行編號
                        
                        //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>沒有查詢到相關(guān)信息哦。<br>";
        echo "<strong>可能原因及建議:</strong><br>";
        echo "1. 如果沒有結(jié)果請嘗試減少或更換查詢關(guān)鍵詞。<br>";
        echo "2. 多關(guān)鍵詞用空格隔開,參考:毛衣 加厚 男。<br>";
        echo "3. 只涵蓋部分類目:有些類目的商品查詢不到。</td>";
        echo '</tr></table>';
    }else {    
        //var_dump($data);
        //計(jì)算篩選出來的數(shù)組條數(shù)
        $num = count($data); 
        
        //規(guī)定每頁顯示的條數(shù)
        $display = 5;
        
        //計(jì)算總頁面數(shù) 
        $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) ;
        //計(jì)算每次分頁的開始位置 
        $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>優(yōu)惠券面額:<?php echo  $v['7']; ?></td>
            <td>優(yōu)惠券開始時間:<?php echo  $v['8']; ?></td>
            <td>優(yōu)惠券結(jié)束時間:<?php echo  $v['9']; ?></td>
            <td><a target="_blank" href="<?php echo  $v['10']; ?>">商品優(yōu)惠券推廣鏈接</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>";
    }     



    
    }
    
}




?>
回答
編輯回答
孤毒

因?yàn)?code>$_SERVER['REQUEST_METHOD'] != 'POST'

2018年2月1日 09:20
編輯回答
神曲

還有人知道這個問題嗎?

2018年4月12日 22:17