第一次開啟的時候,會出現一個警告提示。原因是Undefined index: page
怎麼解決傳值的問題啊?
代碼如下
include("conn.php");
$perNumber=10; //每頁顯示的記錄數
$page=$_GET['page']; //獲得當前的頁面值
$count=mysqli_query($conn,"select count(*) from user"); //獲得記錄總數
$rs=mysqli_fetch_array($count);
$totalNumber=$rs[0];
$totalPage=ceil($totalNumber/$perNumber); //計算出總頁數
if (!isset($page)) {
$page=1;
} //如果沒有值,則賦值1
$startCount=($page-1)*$perNumber; //分頁開始,根據此方法計算出開始的記錄
$result=mysqli_query($conn,"select * from user limit $startCount,$perNumber"); //根據前面的計算出開始的記錄和記錄數
while ($row=mysqli_fetch_array($result)) {
echo "user_id:".$row['user_id']." ";
echo "user_name:".$row['user_name']."
"; //顯示資料庫的內容
}
if ($page != 1) { //頁數不等於1
?>
">上一頁
}
for ($i=1;$i<=$totalPage;$i++) { //迴圈顯示出頁面
?>
">
}
if ($page<$totalPage) { //如果page小於總頁數,顯示下一頁連結
?>
">下一頁
}
?>
回複討論(解決方案)
$page=$_GET['page']; //獲得當前的頁面值
改為
$page=isset($_GET['page'])? $_GET['page'] : 1; //獲得當前的頁面值
$page= @$_GET['page']; //獲得當前的頁面值
改成
$page=isset($_GET['page']) ? $_GET['page'] : 1; //獲得當前的頁面值
也可以,但是
if (!isset($page)) {
$page=1;
} //如果沒有值,則賦值1
就多餘了
你沒有檢查 page 小於或等於 0 的情況,程式存在潛在的問題
感謝樓上2位大大!