我寫了一個簡單的登錄系統,並且正在工作。我已經設置了幾個頁面,只有在登錄後才能看到。我想限制一個頁面到特定的會話ID。我會怎麼做呢?這正是我用來限制頁面的時間:將頁面限制爲特定會話ID
<?php
session_start();
if (!isset($_SESSION['u_id'])) {
header("Location: ../index.php?index=mustlogin");
exit();
}
?>
我該如何限制這從任何u_id到特定的u_id?
我寫了一個簡單的登錄系統,並且正在工作。我已經設置了幾個頁面,只有在登錄後才能看到。我想限制一個頁面到特定的會話ID。我會怎麼做呢?這正是我用來限制頁面的時間:將頁面限制爲特定會話ID
<?php
session_start();
if (!isset($_SESSION['u_id'])) {
header("Location: ../index.php?index=mustlogin");
exit();
}
?>
我該如何限制這從任何u_id到特定的u_id?
您可以創建一個特定ID的數組,然後使用in_array來驗證用戶。
例
<?php
session_start();
$sessionIds = array('1','2'); //for example i have inserted 1 and 2 as ids
if (!isset($_SESSION['u_id']) || in_array($_SESSION['u_id'], $sessionIds)) {
header("Location: ../index.php?index=mustlogin");
exit();
}
說明
在這裏,我創建了一個數組$ sessionIds特定的ID,將不會允許訪問頁面的。然後用in_array檢查當前會話用戶標識存在於$ sessionIds數組中,然後重定向到用戶。
這工作。謝謝。 –
您需要將您的$ _SESSION ['uid']與您的特定ID相匹配。爲此,您需要某種特定用戶ID的數據。有多種方法可以做到這一點,但我會用數組來做到這一點。你需要的是您的特定ID
//Should've come from database of your users
$specific= array(
"id" => 1
);
然後數組只是數組通過搜索in_array()
if (!in_array($_SESSION['u_id'], $specific)) {
header("Location: ../index.php?index=mustlogin");
exit();
}
會話ID來來去去,你可能要重新考慮你在做什麼試圖完成。 – Difster
我想限制一個頁面給特定的用戶。會話ID當前設置爲用戶唯一ID,理論上應該只有一個唯一ID。有沒有更好的方法來完成這一點? –
檢查'if($ _SESSION ['u_id'] =='specific id'){/ *加載你的視圖* /}',之後只加載視圖,否則重定向到其他頁面/如你所願。 – Sinto