0
到目前爲止,我已經通過編碼我的網站上顯示的登錄頁面(使用GET數據): 網站Q =佔& REQ =登錄重定向在Firefox沒有
如果它們已通過認證,它重定向使用PHP ()他們的帳戶頁面: 網站?q =帳戶
出於某種原因,我想出了一個'該頁面沒有正確重定向'的消息在Firefox,其中Internet Explorer似乎工作...這裏代碼片段:
case 'account':
if($req=="login") {
if($user->isLoggedIn())
header("Location: /?p=account");
else {
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$form_data = array('username' => $_POST['username'], 'password' => $_POST['password']);
$user->login($form_data);
if($user->isLoggedIn()) {
header("Location: /?p=account");
}
}
$pagearr=array('css' => "login.css", 'content' => "login.php");
}
}
else {
if(!$user->isLoggedIn())
header("Location: /?p=account&req=login");
}
break;
而下面是我的User類的一個片段:
function User() {
session_start();
$this->user_id = isset($_SESSION['user_id']) ? $_SESSION['user_id'] : null;
if($this->user_id) {
$database= new Database;
if($database->checkUserSession($this->user_id,session_id())) {
$this->logged_in=true;
}
else {
$this->addSessionError('global','Your login session has timed out, you may login by <a href="/syn/?p=account&req=login">clicking here</a>.');
unset($_SESSION['user_id']);
}
}
}
的成功驗證用戶身份(如果我回到主頁,它顯示了他們登錄),我做了什麼錯?
也許有些東西是在標題設置之前打印的。或..你有沒有設置ob_start()? – 2012-03-10 02:17:04
您遇到的錯誤類型會提示重定向「循環」,其中此頁面將重定向到最終重定向回此頁面的頁面,等等。 – 2012-03-10 02:22:32
在header(「Location(位置)」後面顯式調用'exit()'。 。「);'防止腳本進一步執行。 – 2012-03-10 02:24:50