2012-04-12 19 views
0

私はアカウントがない場合、または私にアカウントがない場合はリダイレクトしたい2。またはステートメントが正しく機能していない

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

をそれが正常に動作し、私はOR含まれていないときに私はaccount1を持っているときに私をリダイレクトしません:

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

を問題は、それが私をリダイレクトしているaccount1私が持っているとしても、私は、偶然にaccount2を持っていればリダイレクトしないようにする必要もあります。

私は間違っていますか?

答えて

5

ロジックが間違っています。おそらくORの代わりにANDを意味するでしょう。 $_SESSION['account']は常に1つの値しか持つことができないので、常にaccount1またはaccount2と異なる場合があります。

ので、コードが

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

パーフェクト、それです!ありがとうございました! – Jason

-1

あなたは($ _SESSION ['account']!= "account2")を確認したいと思います。あなたは、2番目の状態でそれらを逆にしているようです。

2

をお読みくださいあなたは

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

恐ろしい、あなたの応答をありがとう – Jason

2

を必要とするあなたの条件が間違っている:)あなたはaccount2を持っていると仮定すると、最初の比較が真である、とあなたがリダイレクトされます。条件をAND(& &)と組み合わせる必要があります。

+0

Congrates!あなたは最初にupvote –

+0

ありがとうありがとう:) – Rob

関連する問題