我有一个用户管理系统,其中用户类型是“管理员”和“用户”。如果登录用户是admin,则可以访问少量页面。如果角色是用户,则他只能访问一个页面。我需要保存admin / user的会话,并且每次检查他是否为“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();
}
答案 0 :(得分:1)
使用此
if($res['ROLE']=='user')
{
$_SESSION['ROLE'] = "user";
//Accessible only by user.
print "<h3><a href='user.php'>View Users</a></h3>";
logout();
}
if($res['ROLE']=='admin')
{
$_SESSION['ROLE'] = "admin";
//Redirected
dashboard();
}
用于在其他页面中使用ROLE
echo $_SESSION['ROLE'];
答案 1 :(得分:1)
添加这是必需的
$_SESSION['role']= role of the user;
在其他页面中获取$ _SESSION ['role']。