У меня небольшая проблема. Я хочу создать оператор 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");
0
Oliver 'Oli' Jensen
28 Авг 2011 в 19:20
2 ответа
Лучший ответ
if ( isAdmin || (allowModerators && isModerator) || userID == ticketUser ) allowToSeeTicket
if ( ! (isAdmin || (allowModerators && isModerator) || userID == ticketUser) ) notAllowToSeeTicket
3
George Kastrinis
28 Авг 2011 в 15:28
Нельзя смешивать операторы and и or. друг друга испортят. вы должны группировать свои выражения, используя круглые скобки, как в арифметике
Было бы неплохо реорганизовать ваш код, чтобы сделать его читабельным
$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");
}
0
Your Common Sense
28 Авг 2011 в 15:33
Похожие вопросы
Новые вопросы
php
PHP - это широко используемый высокоуровневый, динамический, объектно-ориентированный и интерпретируемый язык сценариев, в первую очередь предназначенный для серверной веб-разработки. Используется для вопросов о языке PHP.