没有做测试,思路大概如下:function Check_Session($Right)
{

$msg = '';

//判断是否已经登录,在用户登录时用session保存登录标识
if (!$_SESSION['is_login'])
{
$msg = "您还没有登录";
}
//判断是否超时,用session记录上一次操作时间, 当前操作时间 - 上次操作时间  > 5分钟,则超时
else if ((time() - $_SESSION['last_time'])/60 > 5)
{
$msg = "操作超时";
}
//判断权限,用户的操作权限从数据库中读出,保存在session中,用数组形式,如果当前操作的ID $Right不在用户权限数组中,视为无权限
else if (in_array($Right,$_SESSION['permission']))
{
$msg = "没有权限";
}

if ($msg)
{
$js  = "<script language='javascript'>";
$js .= "alert('".$msg."');"; //提示信息
$js .= "history.back();"; //退回上一页
$js .= "</script>";
}
else
{
$_SESSSION['last_time'] = time(); //记录操作时间
 
  //其他处理
  }
    
}

解决方案 »

  1.   

    谢谢楼上的,但我还想问一下:$Right需要另外定义一下吗?还是关于权限那块,麻烦你再多说几句!谢谢!
      

  2.   

    Check_Session($Right)
    {
    if (!$_SESSION['Right])
    {
    $msg = "您还没有登录";
    }
    else if()
    {
    $msg = "登录成功";
    }}
    最简单吧
      

  3.   

    对于权限。
    每一个操作你在数据库中定义一个ID
    系统的权限表如下
    ID 操作
    1  添加
    2  修改
    3  删除用户的权限表
    user_id 拥有权限
    1       1,2,3
    2       1用户1具有添加,修改,删除的权限。
    用户2只有添加的权限。如用户1执行添加(ID为1)操作时,用户1的权限数组$_SESSION['permission']的各个值为1 2 3。
    $Right = 1;
    check_session($Right);
    //这个函数检查 $Right 是否在 $_SESSION['permission'] 这个数组中,如果在就有权限,否则没权限。