2015-04-05 17 views
-1

我希望它重定向基於if語句的用戶,但它似乎並沒有工作。有任何想法嗎?用戶登錄重定向使用PHP不工作

<?php 
$username = $_POST['username']; 
$password = $_POST['password']; 

if ($username == 'co323'){ 
if($password == 'marking'){ 
    $link = "menu.php"; 
} 
else{ 
    echo "Wrong Username/Password"; 
    $link = "loginform.html"; 
} 
} 
else{ 
echo "Wrong Username/Password"; 
$link = "loginform.html"; 
} 
header($link); 

?> 
+0

屏幕上或日誌中的任何錯誤? – GolezTrol 2015-04-05 21:27:09

+0

'「它似乎不起作用」 - 這只是你的感覺嗎?或者有一些實際的*表示*表示這種「不起作用」?描述問題。 – David 2015-04-05 21:28:38

+0

在頭重定向之後使用exit()是個好習慣,因爲腳本不會立即停止執行。這與您的腳本無關,但有時會導致您遇到問題。 – Whirlwind 2015-04-05 21:40:36

回答

2

要重定向,你需要Location頭,所以正確的路線將是:

header("Location: $link"); 

請注意,你不能呼應重定向頭之前的任何輸出,所以移除所有echo s到做這個工作。

+0

非常感謝! – Identicon 2015-04-05 21:30:46

+2

他/她也應該評論'回聲'。 – chris85 2015-04-05 21:37:58

+0

之後,拋出'exit;'也是一個好主意,以阻止腳本的任何進一步執行(我知道它確實看起來是這種情況下的最後一行) – rjdown 2015-04-05 21:38:49