我对这个会话代码做错了什么?

时间:2015-04-15 13:26:45

标签: php mysql permissions

我试图让页面无法访问,除非用户具有特定的权限级别并且是系统的用户。

我在下面提供了我的代码。

<?php
session_start();

        include 'login/config.php';

        if($_SESSION['username']=='user' && $_SESSION['permissionlevel']!='one');{
            echo "<script>you dont have permission to access this page</script>";
            header:("location:dashboard.php");
        }



?>

我的代码在哪里错了?

编辑:

在Neelesh的帮助下修改了代码,但它仍无效。

2 个答案:

答案 0 :(得分:1)

我认为您搜索ACL实现或其工作原理。 Zend Framework有一个很好的实现。看这里:http://framework.zend.com/manual/current/en/modules/zend.permissions.acl.intro.html它是如何工作的。

问候

答案 1 :(得分:1)

如果您认为自己拥有管理员和用户

等用户角色

和权限级别一,二和三

根据此用户角色和权限级别,如果您在登录时将其转换为会话,则可以检查该页面

if($_SESSION['USERROLE']=='USER' && $_SESSION['PERMISSIONLEVEL']!='THREE')
{
echo "<script>you dont have permission to access this page</script>";
header:("location:index.php")
}

通过这个简单的检查,您可以访问特定页面,如果没有将他重定向到带有警报信息的主页