私のユーザがアクションを実行するために必要な権利を持っているが、条件がうまく動作しない場合、PHPコードをチェックインしようとしています。私はおそらくAND/ORを誤解しているでしょう。私はあなたの助けをお願いします。PHPの複数のOR条件の場合
実は、私が持っている:
if (!in_array('ADMIN',$_SESSION['roles']) || !in_array('MANAGEMENT',$_SESSION['roles']) || $requester != $_SESSION['tnumber']) {
echo "you are not allowed to XXXX !";
} else {
// allowed
}
私は論理和(||)でこれら3つの条件を入れてきましたが、それは失敗しています。
私が言いたいことはある:
- ユーザーが「ADMIN」または「管理者の権利(
$SESSION['roles']
配列の値) - を持っていない場合、またはユーザーが依頼者でない場合(
$requester
は、それから彼は彼が許可されていないというメッセージを持っている必要があり$_SESSION['tnumber']
と同じでなければなりません。
OTHE (もし彼がADMINの権利、または管理の権利を持っている、または彼が依頼者であるなら)うまくいくはずです。
この要求を満たすために私の状態を変更するにはどうすればよいですか?
ありがとう、 よろしく!
を持つことができるようですか? – hmrc87
echo $ _SESSION ['roles']と$ _SESSION ['tnumber']と$ requesterを使って、値を調べてみてください – coder