Php - 会话变量
Php - Session Variables
我正在尝试为我的网站制作一个管理面板。当没有足够的权限重定向时,我想检查当前登录用户的权限。
我尝试了很多方法,但无法正常工作!
当我用这段代码回显所有会话变量时会出现:
echo '<pre>';
var_dump($_SESSION);
echo '</pre>';
这显示:
array(2) {
["usr_id"]=>
string(1) "1"
["usr_name"]=>
string(13) "rombie18"
}
现在想获取session变量的权限,看看权限是否够高
我想要这个:
array(2) {
["usr_id"]=>
string(1) "1"
["usr_name"]=>
string(13) "rombie18"
["usr_permission"]=>
string(13) "admin"
}
并检查权限:
if(!$_SESSION['permission'] == 'admin') {
//redirect
exit();
}else{
//do something here.
}
根据您的代码,您应该使用 $_SESSION['usr_permission']
而不是 $_SESSION['permission']
At first you have to assign your required information in $_SESSION
variable while login process execute.
示例:登录过程(定义usr_permission
)
$result = mysqli_query(..........); //Your user chhecking query
//check if found in data_base by userId and Pass.
$_SESSION["usr_id"] = $result[0]['usr_id']; //assign usr_id
$_SESSION["usr_name"] = $result[0]['usr_name']; //assign usr_name
$_SESSION["usr_permission"]= $result[0]['usr_permission']; //assign usr_permission
示例:通过 $_SESSION['usr_permission']
检查权限
if(!$_SESSION['usr_permission'] == 'admin') { //here user same variable name
//redirect
exit();
}else{
//do something here.
}
You have made 2 mistake: you don't assign
$_SESSION["usr_permission"]
and checking by undefined variable
$_SESSION['permission']
我正在尝试为我的网站制作一个管理面板。当没有足够的权限重定向时,我想检查当前登录用户的权限。
我尝试了很多方法,但无法正常工作! 当我用这段代码回显所有会话变量时会出现:
echo '<pre>';
var_dump($_SESSION);
echo '</pre>';
这显示:
array(2) {
["usr_id"]=>
string(1) "1"
["usr_name"]=>
string(13) "rombie18"
}
现在想获取session变量的权限,看看权限是否够高
我想要这个:
array(2) {
["usr_id"]=>
string(1) "1"
["usr_name"]=>
string(13) "rombie18"
["usr_permission"]=>
string(13) "admin"
}
并检查权限:
if(!$_SESSION['permission'] == 'admin') {
//redirect
exit();
}else{
//do something here.
}
根据您的代码,您应该使用 $_SESSION['usr_permission']
而不是 $_SESSION['permission']
At first you have to assign your required information in
$_SESSION
variable while login process execute.
示例:登录过程(定义usr_permission
)
$result = mysqli_query(..........); //Your user chhecking query
//check if found in data_base by userId and Pass.
$_SESSION["usr_id"] = $result[0]['usr_id']; //assign usr_id
$_SESSION["usr_name"] = $result[0]['usr_name']; //assign usr_name
$_SESSION["usr_permission"]= $result[0]['usr_permission']; //assign usr_permission
示例:通过 $_SESSION['usr_permission']
if(!$_SESSION['usr_permission'] == 'admin') { //here user same variable name
//redirect
exit();
}else{
//do something here.
}
You have made 2 mistake: you don't assign
$_SESSION["usr_permission"]
and checking by undefined variable$_SESSION['permission']