2012-04-12 60 views
0

如果我沒有account1或者我沒有account2,我想要重定向。問題是,即使我有帳戶1被重定向我:或聲明無法正常運作

if(($_SESSION['account'] != "account1") || ($_SESSION['account'] != "account2")){ 
    header("location:/home"); 
    exit(); 
} 

它可以正常工作,並且不重定向我時,我有帳戶1的時候,不包括OR:

if($_SESSION['account'] != "account1"){ 
    header("location:/home"); 
    exit(); 
} 

但如果他們有機會擁有account2,我也需要它不重定向。

我在做什麼錯?

回答

5

邏輯錯誤;你可能是指AND而不是OR。 $_SESSION['account']在任何給定的時間只能有一個值,所以它總是會不同於account1或不同於account2

因此,代碼應閱讀

if(($_SESSION['account'] != "account1") && ($_SESSION['account'] != "account2")){ 
    header("location:/home"); 
    exit(); 
} 
+0

完美,就是這樣!謝謝! – Jason 2012-04-12 13:35:11

-1

我相信你想檢查($ _SESSION ['account']!=「account2」)。你似乎在第二種情況下將它們顛倒過來。

2

你需要

if(($_SESSION['account'] != "account1") && ($_SESSION['account'] != "account2")){ 
    header("location:/home"); 
    exit(); 
} 
+0

太棒了,謝謝你的回覆 – Jason 2012-04-12 13:35:25

2

你的條件是錯誤的:)假設你有一個帳戶2,第一個比較虛的,你重定向。您需要將條件與AND結合起來(& &)。

+0

Congrates!你得到第一個upvote – 2012-04-12 13:16:15

+0

非常感謝你:) – Rob 2012-04-12 13:20:45