我有一个用户管理系统,用户类型是“管理员”和“用户”。如果登录的用户是管理员,他可以访问几页。如果角色是用户,他只能访问一个页面。我需要保存管理员/用户的会话并每次检查他是否为“admin”,以便用户不通过传递URL来非法访问信息。现在我可以保存用户的名字,但不能保存他的角色。我该怎么做才能将ROLE传递给下一组页面。保存会话传递给其他页面
Home.php
session_start();
if($_SESSION["logging"] && $_SESSION["logged"])
{
echo $_SESSION[user];
//Can be accessed only by admin
dashboard();
}
if(!$_SESSION["logging"])
{
$number_of_rows=checkpass();
if($number_of_rows==1)
{
$_SESSION[user]=$_GET[userlogin];
$_SESSION[logged]=true;
print"<h1>you have loged in successfully</h1>";
if($res['ROLE']=='user')
{
//Accessible only by user.
print "<h3><a href='user.php'>View Users</a></h3>";
logout();
}
}
else
{
print "Please enter your log in information!";
loginform();
}
}
function checkpass()
{
//Database query
if($res['ROLE']=='admin')
{
//Redirected
dashboard();
}
你也可以保存角色在会话中,这样的事情: '$ _SESSION [“用户”] [“角色”] = $的作用;' 你可以检查它是这样的:'如果($ _SESSION ['user'] ['role']!='admin')exit;' – Perry 2013-02-22 10:36:22