我正在嘗試製作身份驗證腳本,以將記錄的/未記錄的用戶重定向到適當的頁面,但會導致重定向循環。我有兩個頁面index.php,它具有登錄表單和mobile.php,其中包含有效用戶的內容。爲了驗證我對的index.php使用會話的用戶身份驗證會導致重定向循環
session_start();
if (isset($_SESSION["username"]) && isset($_SESSION["userid"])) {
header("location: mobile.php");
exit();
}
和mobile.php的第一個行的第一個行這個代碼是
session_start();
if(!isset($_SESSION["username"])){
header("location: index.php");
}
但我不知道爲什麼它引起重定向循環。 以下是一些截圖。 謝謝你的時間。
下面是一些的index.php代碼,這些代碼線被隨後的形式登錄。在驗證功能中,我所做的只是檢查用戶名和密碼是否有效,如果是,則重新生成會話ID,並設置會話變量用戶名和用戶ID。並返回true。
if(isset($username) && isset($password)){
$username = preg_replace('/[^a-zA-Z0-9]/', '', $username);
$password = preg_replace('/[^a-zA-Z0-9]/', '', $password);
$returnmsg = validate($username,$password);
if($returnmsg===true){
// header("location: mobile.php");
exit;
} else {
$returnmsg = 'Invalid username or password.';
}
}
在index.php重定向後添加'exit();'。同時在index.php中轉儲掉沒有重定向的會話變量 – vaso123 2014-12-03 08:43:17
適合我!清除所有cookie並重新啓動瀏覽器後,必須在其他代碼行 – Rizier123 2014-12-03 08:44:41
中使用var_dump($ _ SESSION);在session_start()之後;結果是空數組。所以索引頁面不應該重定向並繼續,但它會重定向,爲什麼? – rkrara 2014-12-03 08:54:55