为不同的Web用户(管理员,客户)提供不同的菜单视图以创建新帐户

时间:2015-11-28 17:54:38

标签: php html mysqli

我的网站有两级访问权限,管理员和客户。创建新帐户时,我希望管理员看到制作其他管理员或客户的选项。我希望客户只看到客户选项。我正在使用PHP。这是我尝试过的:

 <?php
 foreach ($types as $type) {
    if (!isset($_SESSION['user_id'])) { //Anyone on the web can see
        echo "<option value=\"" . $type['Customer'] . "\">". $type['Customer'] . "</option>\n";
    }
    else 
    {
        if ($is_admin) { //Only admin can see this option
            echo "<option value=\"" . $type['user_type_id']. "\">" . $type['type_name'] . "</option>\n";
        }

    //Only customer can see
        echo "<option value=\"" . $type['Customer']. "\">" . $type['Customer'] ." </option>\n";
    }
}
?>

它没有完成我的意图。如果有人建议我可以尝试,那将是伟大的。如果您希望我的其他任何代码更好地理解逻辑,请告诉我。

1 个答案:

答案 0 :(得分:3)

如果我正确理解了这个问题,管理员也可以看到客户菜单错误。要阻止这种情况,您只需忘记在第二个嵌套中添加“else”案例。

  <?php
 foreach ($types as $type) {
    if (!isset($_SESSION['user_id'])) { //Anyone on the web can see
        echo "<option value=\"" . $type['Customer'] . "\">". $type['Customer'] . "</option>\n";
    }
    else 
    {
        if ($is_admin) { //Only admin can see this option
            echo "<option value=\"" . $type['user_type_id']. "\">" . $type['type_name'] . "</option>\n";
        } else { // <-- here

    //Only customer can see
        echo "<option value=\"" . $type['Customer']. "\">" . $type['Customer'] ." </option>\n";
       }
    }
}
?>