Помощь с оператором PHP IF - ИЛИ И т.д. - PullRequest
0 голосов
/ 28 августа 2011

У меня маленькая проблема. Я хочу создать оператор IF, который будет реагировать так:

  • Если пользователь НЕ является администратором (forum_admin) И он не является владельцем заявки (ID пользователя), НО модераторам разрешено просматривать билеты (allow_moderator_tickets) И пользователь является модератором (forum_moderator), то ему следует разрешить просматривать билет.

Как я могу получить это с помощью оператора PHP if.

Пока у меня есть это:

 //If user is not allowed to view.  
    if($userdata['forum_admin']==0 && $ticketDetails['userid']!=$userdata['id'] || $sdata['allow_moderator_ticket']==0 && $userdata['forum_moderator']==1)
        redirect("?i=a");

Ответы [ 2 ]

3 голосов
/ 28 августа 2011
 if ( isAdmin || (allowModerators && isModerator) || userID == ticketUser ) allowToSeeTicket

 if ( ! (isAdmin || (allowModerators && isModerator) || userID == ticketUser) ) notAllowToSeeTicket
0 голосов
/ 28 августа 2011

вы не можете смешивать и и или или операторов.друг друга испортят друг друга.Вы должны сгруппировать свои выражения, используя круглые скобки, как в арифметике

было бы неплохо реорганизовать ваш код, чтобы сделать его читаемым

$admin = ($userdata['forum_admin']);
$owner = ($ticketDetails['userid'] == $userdata['id']);
$moder = ($sdata['allow_moderator_ticket'] == 1 AND $userdata['forum_moderator']==1)

if !($admin OR $moder OR $owner) {
    redirect("?i=a");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...