各位大虾们,小弟基于角色的权限管理这方面还未接触过;也刚接触PHP,现在得用PHP实现一个资源管理系统,需要不同的角色用户登录进去导航条菜单中显示不同的功能模块。所以想请教大家一下:在PHP怎么实现对页面中模块的隐藏?

解决方案 »

  1.   

    数据库结构id    username   password   flag
    ---------------------------------
    3     admin         hjhgjftR     1
    4     user1         *******    2
    登陸的時候把flag的值存入session或cookie,判斷的時候如下:
    if($_SESSION["flag"]==1){
    echo '1';
    }
    if($_SESSION["flag"]==2){
    echo '2';
    }或者
    Switch ($_SESSION["flag"]){
    Case 1:
    echo '1';
    Break;
    Case 2:
    echo '2';
    Break;
    Default:
    Break;
    }
      

  2.   

    記得,如果你要用session,那么记得一定要在判断之前开启session,即:Session_start();
      

  3.   

    你应该去看看acl控制给你一个acl全集角色表
    角色id - 用户组id - 特殊权限id(其中特殊权限 > 用户组所包含权限)用户组表 
    用户组id - 用户组信息权限表
    权限表id - 权限信息 - 与功能模块的关系用户组-权限关联表
    用户组id - 权限集合特殊权限表
    特殊权限id - 权限集合1、设置权限的删除、添加主要围绕在 用户组-权限关联表、特殊权限表
    2、用户的权限获取则是验证登陆的时候通过用户组和特殊权限获取权限集合
    3、展示的时候,根据2获取的权限集合从权限表获取所有功能模块的导航菜单
      

  4.   

    你应该先去看看 基于角色的访问控制(RBAC)
      

  5.   

    数据库用户表中加个字段,给不同权限用户赋值。在PHP代码中按指定值输出模块就好了呗。
      

  6.   

    $_SESSION["flag"](权限值)Switch ($_SESSION["flag"]){
    Case 1:
        echo '1';
        Break;
    Case 2:
        echo '2';
        Break;
    Default:
        Break;
    }
      

  7.   

    请教个初级问题:
    比如javascript中定义了一个function add(id,pid,text) ,在PHP中将
    如果使用 add(1, 0,'helloWorld');这样是OK的
    但如果 使用
     $id=1;$pid=0;$text='helloWorld' ;  
    add($id,$pid,$text); 
    这样不行,问题出在哪里?
      

  8.   

    add($id,$pid,$text); 当然不行啦  这样写就是调用php中的add函数啦  不是js的了