2014-01-22 5 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

Это потому, что перед этой строкой было что-то напечатанное. Вы должны быть уверены, что не отображается «echo» до или простой HTML. – hsz

+0

Но это мой первоначальный момент. Это сначала выводит страницу входа в систему, поэтому, чтобы выполнить перенаправление, я должен использовать jQuery вместо этого? – fightstarr20

1

После того, как пользователь выполняет условия, необходимые для быть авторизованы, вы должны перенаправить:

if(empty($errors) && $_POST) #not erros, user validated then 
     { 
exit(header('Location: logeed_user_landing.php)); 
} 
Смежные вопросы