【问题标题】:Giving different web users (admin, customer) different menu views for creating a new account为不同的 Web 用户(管理员、客户)提供不同的菜单视图以创建新帐户
【发布时间】:2016-03-02 16:01:05
【问题描述】:

我的网站有两个访问级别,管理员和客户。创建新帐户时,我希望管理员看到创建另一个管理员或客户的选项。我希望客户只看到客户选项。我正在使用 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";
    }
}
?>

这并没有达到我的预期。如果有人建议我可以尝试什么,那就太好了。如果您希望我的任何其他代码更好地理解逻辑,请告诉我。

【问题讨论】:

    标签: php html mysqli


    【解决方案1】:

    如果我正确理解了问题,管理员也可以看到错误的客户菜单。为了阻止这种情况,您只是忘记在第二个嵌套中添加“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";
           }
        }
    }
    ?>
    

    【讨论】:

    • 太棒了。谢谢你。我完全忽略了这一点。
    • @RichHall - 不用担心,很高兴我能帮上忙!
    猜你喜欢
    • 2011-03-31
    • 2019-10-11
    • 1970-01-01
    • 2017-05-20
    • 1970-01-01
    • 2020-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多