to:feel8(准备早起的鸟)
一、同时还需要注意:
1、当管理员需要改变某用户管理的栏目时,应马上列出此用户管理了那些,那些未管理。
2、一个栏目可多人管理。 二、能否粗略告之数据库要用那些表,那些字段,字段作用。
一、同时还需要注意:
1、当管理员需要改变某用户管理的栏目时,应马上列出此用户管理了那些,那些未管理。
2、一个栏目可多人管理。 二、能否粗略告之数据库要用那些表,那些字段,字段作用。
突然想起来加在"一"下面吧。
1、当管理员需要改变某用户管理的栏目时,应马上列出此用户管理了那些,那些未管理。
2、一个栏目可多人管理。
3、当管理这个栏目时,每页开头都要加段验证是否有权限管理的代码吗。(意思是每页都须重新从数据库查询,判断吗)
栏目表:包含栏目编号和栏目名两字段
说明:栏目编号 从0开始,不重复。设定后不能改变,以免影响设置用户表:包含用户名和权限字段
说明:权限字段可使用varchar类型可容纳255个栏目,如还嫌不够可使用text类型用户权限格式:(23)
"11111111111111111111111" 全部有权
"00000000000000000000000" 全部无权
即 某字节为"1"有权,某字节为"0"无权当用户访问时某栏目时
从栏目表中取得该栏目的栏目号
从用户表中取得该用户的权限
则
if(权限[栏目号] != "1")
无权访问时的操作
继续设置用户权限和增加栏目后
从栏目表中取得全部栏目的信息
从用户表中取得某用户或全部用户的信息
对用户权限做
preg_match_all("/./",权限,$ar);
$权限数组 = $ar[0];
将用户权限分割成数组,其下标为栏目号,值为相应的权限调整完毕后,用
$s = join("",$权限数组);
合并成串,修改用户表
用户权限可在登录后保存于session中
栏目号可直接写在处理程序中
http://www.chinaz.com/download/software.asp?SOFTWAREID=10182
表示具有这个角色的人可操作的栏目为1,2,3,4,6,23用explode,implode函数对role.operation进行处理管理员只需每次管理role表里东西……
在role表里id=3 , operation="2,4,6"
某栏目为5$result = mysql_query("select operation from role where id=$role_id");
$list = mysql_result($result, 0, 'operation');
$list = explode(",",$list);
$sign = 0;
while(list(, $val) = each($list))
{
$val = intval($val);
if($val==5)$sign=1;//本栏目为5,如果数组里有5则为可操作
}
if($sign==0)
{
//exit;不可操作...
}
$result = mysql_query("select operation from role where id=$role_id");
$list = mysql_result($result, 0, 'operation');
$list = explode(",",$list);
$sign = 0;
while(list(, $val) = each($list))
{
$val = intval($val);
if($val==5)$sign=1;//本栏目为5,如果数组里有5则为可操作
}
if($sign==0)
{
//exit;不可操作...
}