我想根据用户的角色显示下面的下拉菜单:
<nav id="topNav">
<ul>
<li><a href="#">Applications</a>
<ul>
<li><a href="app1.php">App1</a></li>
<li><a href="app2.php">App2</a></li>
<li class="last"><a href="app3.php">App3</a></li>
</ul>
<li><a href="#">Corporate</a>
<ul>
<li><a href="corporate1.php">Corporate1</a></li>
<li><a href="corporate2.php">Corporate2</a></li>
<li class="last"><a href="corporate3.php">Corporate3</a></li>
</ul>
</li>
<li class="last"><a href="#">I.T.</a>
<ul>
<li><a href="IT1.php">IT 1</a>
<li class="last"><a href="IT2.php">IT 2</a></li>
</ul>
</li>
</ul>
</nav>
在我的数据库中,我有一个包含字段ID,电子邮件和角色的表。 我的应用程序将首先检查用户是否应该进行身份验证,然后检查用户的角色(Staff / Agent)以显示下拉菜单的不同内容。代理不需要查看所有项目。
目前我正在使用简单的“If else”语句来执行此操作。
<?php
If($checkrole == "Staff") {?>
<nav>
display staff items
</nav>
<?php}?>
<?else {?>
<nav>
display agent items
</nav>
<?php } ?>
是否有任何javascript或php函数可以让我更动态地显示这些菜单项?如果我将来有更多的角色,让我们说10个角色,我当前的方法不是一个很好的选择,有点静态或硬编码。谁能给我一些例子或帮助?感谢
答案 0 :(得分:0)
在数据库中创建一个表格,并为每个菜单项提供唯一的ID,并添加一个表格,您可以使用其唯一的菜单ID定义您的角色。然后在PHP页面中创建一个多维数组,如1 => 'home', 2 => 'anotherPage'
。从数据库中获取数据并使用foreach循环遍历它们。
表'roles'=&gt;字段:'role',field =&gt; “许可”值为'agent','1 | 2 | 3'
在您的PHP文件中: