2014-12-13 73 views
2

一切正常,但「上一頁」和「下一頁」鏈接不起作用。一旦我點擊「prev」或「next」頁面加載,但沒有最近或舊的圖像顯示。鏈接引用「php?page = -1」爲prev「php?page = 1」,對於next,但是像我說的那樣,新圖片或舊圖片僅顯示第一個「20」和其他第一個數量的$ record_count分頁「上一頁」和「下一頁」錯誤

<?php 
$dir = "."; 
opendir($dir); 
$file = ('uploaded/'); 

$files = glob("uploaded/*.*"); 
usort($files, function ($a, $b) { 
return filemtime($b) - filemtime($a); 
}); 

$record_count = **20**; 
$totla_pages = ceil(count($files)/$record_count); 

$home_script = $_SERVER['REQUEST_URI']; 
    if($_SERVER['REQUEST_URI'] == $home_script) { 
     $page = ""; 
} 

$offset  = ($page-1)*$record_count; 
$files_filter = array_slice($files, $offset,$record_count); 

foreach ($files_filter as $file) { 
echo "<a href='$dir/$file'><img src='$file' style='height:180px;width:180px; border:2px solid black; margin:20px 0px 10px 10px; *margin:10px 0px 10px 20px;'></a>"; 
} 

if($totla_pages > 1){ 
    if($page != 1){ 
     echo '<a href="?page='.($page-1).'">Prev</a>'; 
    } 
    if($page != $totla_pages){ 
     echo '<a href="?page='.($page+1).'">Next</a>'; 
    } 
} 
?> 
+0

您應該正確初始化您的'$ page'變量並始終將其設置爲整數。 – jeroen 2014-12-13 15:23:50

+0

@ jeroen你會怎麼做? – 2014-12-13 15:26:27

+0

@ jeroen *咳嗽*初學者在這裏......大聲笑,如果你可以重新編碼它會很棒 – 2014-12-13 15:29:35

回答

0

首先,您需要始終正確地初始化您的變量$page,並將其設置爲整數。

要做到這一點,你可以檢查查詢變量中,如果沒有發送,將其設置爲1

// somewhere at the top of your script 
if (empty($_GET['page'])) 
{ 
    $page = 1; 
} 
else 
{ 
    $page = (int) $_GET['page']; 
} 

你也可以做多一些檢查上$_GET['page']以確保它始終是一個數字大於0.

+0

它仍然不起作用 – 2014-12-13 18:37:17

相關問題