php中的管理员权限

时间:2012-09-18 02:35:30

标签: php admin

我有一个PHP脚本,可以让用户根据user_level查看页面。如果用户级别设置为1 ..允许用户查看页面。如果没有,那么将它们重定向到index.php ...由于某种原因它不起作用。它给我的信息是“你不能访问这个页面”。无论谁登录,管理员或普通用户,它都会给我这条消息。有什么想法吗?

<?php
include 'init.php';
include('core/init.inc.php');

var_dump($_SESSION)

if(!logged_in()){
header('Location: index.php');
exit();
}

if(!isset($_SESSION['user_level'])) {
echo 'You are not allowed to access this page. Click <a href="index.php">here</a> to go back to the home page';
exit();
}elseif(1 == (int)$_SESSION['user_level']){
header('Location: create_album.php');
exit;
}


include 'template/header.php';
?>

3 个答案:

答案 0 :(得分:1)

isset返回一个布尔值,将其删除。

if(!isset($_SESSION['user_level'])) {
  echo 'You are not allowed to access this page. Click <a href="index.php">here</a> to go back to the home page';
  exit();
}elseif(1 == (int)$_SESSION['user_level'])){
  header('Location: create_album.php');
  exit;
}

答案 1 :(得分:1)

isset($_SESSION['user_level'])就是问题所在。

PHP函数isset返回一个bool值,您正在测试它。

答案 2 :(得分:1)

不要在那里使用isset()。它是boolean而不是整数。相反,你可以这样做:

替换

if(1 !==(int)(isset($_SESSION['user_level']))) {

使用

if(isset($_SESSION['user_level']) && $_SESSION['user_level'] == 1) {