没有做测试,思路大概如下: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(); //记录操作时间
//其他处理
}
}
{
$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(); //记录操作时间
//其他处理
}
}
{
if (!$_SESSION['Right])
{
$msg = "您还没有登录";
}
else if()
{
$msg = "登录成功";
}}
最简单吧
每一个操作你在数据库中定义一个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'] 这个数组中,如果在就有权限,否则没权限。