2014-01-22 112 views
-2

我使用PHP密碼保護段從http://www.fullypixel.com/page/tutorials.html/_/fully-pixel-forum-faq/simple-php-password-protection-for-a-single-page-r27它看起來像....PHP密碼保護網頁 - 重定向

<?php  
if (!isset($_POST['txtAccCode'])) 
{ 
//If not isset -> set with dummy value 
$_POST['txtAccCode'] = "undefine"; 
} 
// Define your user array 
$access_codeArray = array("john","paul","george","ringo","b4dh39gsv55x"); 
$access_code = $_POST['txtAccCode']; 
$result = in_array($access_code, $access_codeArray); 
    if ($_POST['txtAccCode'] != $result) { 
    ?> 
    <style type="text/css"> 
    #login {margin:0 auto; width:500px;} 
    .login {font-family:"Verdana", sans-serif;border:2px solid #3753f5;} 
.login p {font-size:13.0px;} 
.login p {padding-left:10px;} 
h2.login {padding:10px;} 
</style> 
<div id="login"> 
<h2 class="login">Enter Access Code to view content</h2> 
<form class="login" name="form" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">  
<p><label for="txtAccCode">Enter Access Code:</label>  
<br /><input type="text" title="Enter Access Code" name="txtAccCode" /></p>  
<p><input type="submit" name="Submit" value="Login" /></p> 
</form> 
</div> 
<?php 
echo '<script> alert ("Please enter a valid access code to continue.");; </script>'; 
} else { ?> 

一切都很正常,但現在我想,這樣它重定向時,對其進行修改輸入正確的密碼而不是顯示隱藏的內容。

這是我應該在PHP做或我需要使用JavaScript來做到這一點?

回答

1

在您的例子結束,你有else,所以:

// ... 
} else { 
    header('Location: http://google.com'); 
    exit; 
} 
+0

這給了我一個頭已經發送錯誤。 – fightstarr20

+0

這是因爲在這行之前有些東西是打印出來的。你必須確保沒有'回聲'之前或純HTML顯示。 – hsz

+0

但這是我的原始觀點。這首先打印出一個登錄頁面,以便我應該使用jQuery來重定向嗎? – fightstarr20

1

一旦用戶滿足需要被記錄的情況下,你應該重定向:

if(empty($errors) && $_POST) #not erros, user validated then 
     { 
exit(header('Location: logeed_user_landing.php)); 
}