對於我的測試環境網站,我希望任何查看它的人都必須在每個會話中輸入一次密碼。當他們的會話開始時,他們輸入密碼並被重定向到他們試圖查看的頁面。所以,我必須在每一頁簡單的密碼保護頁面:我在這裏做錯了什麼?
// For test site, require login
if (!$_SESSION['loggedIn'])
{
$pagetarget = $_SERVER['REQUEST_URI'];
include "test_login.php";
die();
}
的頂部,然後test.login.php
是
<?php
if ($_POST['password'] == '091u233j12j3')
{
$_SESSION['loggedIn'] = true;
header("Location: " . $pagetarget);
die();
}
?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Test Environment Login</title>
</head>
<body>
<form method="POST">
<p>Enter password to unlock <b>test.mysite.com</b>: <input type="text" name="password" /><input type="submit" /></p>
<p>You will be redirected to the page you tried to access.</p>
<input type="hidden" name="pagetarget" value="<?php echo $pagetarget; ?>" />
</form>
</body>
</html>
但網頁重定向無法工作。我究竟做錯了什麼?
只是一個想法,但你不能使用JavaScript和document.location重定向的頁面? ...例如document.location.href =「http://www.google.com」; – DivineChef
您是否檢查頁面重定向的值,因爲您不在同一個文件中? –
你有沒有['session_start()'](http://php.net/manual/en/function.session-start.php)? –