У меня есть две группы пользователей — Admin (A) и Moderator (M) — и меню навигации. Некоторые из ссылок должны быть видны только для администратора, а другие видны для обеих. Вот мой текущий код:
<? if($_SESSION["LogedInAdminId"] && $_SESSION['AdminStatus']=="M") { ?>
<ul>
<li>...</li>
<li>...</li>
<? if($_SESSION["LogedInAdminId"] && $_SESSION['AdminStatus']=="A") { ?>
<li>...</li>
<li>...</li>
<? { ?>
</ul>
<? } ?>
В настоящее время меню отображается только для модераторов из-за первой строки:
<? if($_SESSION["LogedInAdminId"] && $_SESSION['AdminStatus']=="M") { ?>
Поэтому я попытался включить группу Admin, чтобы это было так:
<? if($_SESSION["LogedInAdminId"] && $_SESSION['AdminStatus']=="M" || "A") { ?>
Однако это нарушает код и отображает меню для всех — Admin, Mod, guest и т. Д. Как правильно включить две группы пользователей?
Во-первых, убедитесь, что сессия был запущен для всех страниц с использованием сессий.
Теперь этот синтаксис || "A"
не правильно Вам необходимо добавить новое условие.
Вот что вам нужно сделать и заключить в скобки второе условие:
if( $_SESSION["LogedInAdminId"]
&& ($_SESSION['AdminStatus']=="M" || $_SESSION['AdminStatus']=="A")
)
Вы должны объединить свои группы пользователей, как это, чтобы проверить, если AdminStatus
является M ИЛИ (||)
<? if($_SESSION["LogedInAdminId"] && ($_SESSION['AdminStatus']=="M" || $_SESSION['AdminStatus']=="A")) { ?>