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

Posted

技术标签:

【中文标题】为不同的 Web 用户(管理员、客户)提供不同的菜单视图以创建新帐户【英文标题】:Giving different web users (admin, customer) different menu views for creating a new account 【发布时间】: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";
    

?>

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

【问题讨论】:

【参考方案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 - 不用担心,很高兴我能帮上忙!

以上是关于为不同的 Web 用户(管理员、客户)提供不同的菜单视图以创建新帐户的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Lotus Domino 中为不同的数据库设置不同的 Web 身份验证模式

如何在贝宝中为不同的商家创建“立即购买”按钮

如何在 Visual Studio 负载测试中为每个用户从不同的客户端 IP 向服务器发送请求

13.Azure流量管理器(上)

13.Azure流量管理器(上)

Symfony 4:如何在防火墙中为用户/管理员提供多个提供者?