我試圖檢查我的PHP代碼,如果我的用戶有必要的權利來執行一個操作,但我的條件不會工作。我可能誤解了AND/OR。我可否需要你的幫助?PHP多個或在if條件
其實,我有:
if (!in_array('ADMIN',$_SESSION['roles']) || !in_array('MANAGEMENT',$_SESSION['roles']) || $requester != $_SESSION['tnumber']) {
echo "you are not allowed to XXXX !";
} else {
// allowed
}
我已經把這些3個條件與OR值(||),但它的失敗。
我想說的是:
- 如果用戶沒有(在
$SESSION['roles']
數組中值),「管理員」或「管理」權限 - 或者,如果用戶不是請求者(
$requester
應該是相同的$_SESSION['tnumber']
那麼他應該有一個消息,說他是不允許的。
行吟rwise(如果他有ADMIN權限,或管理權限,或者他是請求者),那麼它應該工作。
如何更改我的條件以滿足此要求?
謝謝, 關心!
你爲什麼不只是讓兩個嵌套的if語句出來的嗎? – hmrc87
嘗試使用echo $ _SESSION ['roles']和$ _SESSION ['tnumber']和$ requester找出你正在得到的值 – coder