可能我会这么写:
1,session    
  boardid  roleid   priv
   4        3      0,0,0 
全部都包含一共有5个 priv分3个session变量
具体操作是:根据用户名得到数据库里的相关信息,然后和session进行比较,如果一致不做任何操作,如果不一直把相应的session改变成数据库里的信息,这样是考虑到用户在不同的版块间运动;
2,验证是否为注册用户,如果是,是什么级别的(权限)
3,设置斑竹就改priv权限1,1,0(你有这样的问题让我很诧异,难道你的操作不是用权限来控制?)
4,不会出现这样的问题,除非数据库异常(或者就是你在数据库设计的时候不合理,正确的应该是每个用户对每个版块的权限在数据库里都是有明确说明的,你可以写一个通用代码就是到数据库里去根据用户名和版块号来取得相应的priv,非注册用户直接就1,0,0)
5,同2(include一个验证的头文件就可以了,不用重复写代码)

解决方案 »

  1.   

    谢谢 anybody999 兄的回答
    能不能再具体点
    就是说写一个完整的(include)验证访问当前版面的文件!
      

  2.   

    <?
    //连接数据库
    $sql="select....................where user=$_SESSION["user_id"] and 版块。。";
    //得到prv,然后用唠叨的程序得到prv[1]。。prv[3]
    //下面进行权限判断
    if($_SESSION["prv1"]=1)
    {
    if($_SESSION["prv2"]=1 )
     {



    。  }
    }
    ?>
      

  3.   

    1、登录时
    $rs = mysql_qrery("select role.priv from account, role where account.roleid=role.roleid and username='$username'");
    list($priv) = mysql_fetch_row($rs);
    session_start();
    $_SESSION['username'] = $username;
    $_SESSION['priv'] = $priv;2、当进入页面时进行哪些验证看是否有权限进行操作(能不能拿user3访问版块4为例)
    $rs = mysql_qrery("select ....不对了你的数据分布有点问题,好象太烦琐了点
    要查的表太多,应该简化一下