0

我有一个用 php-html-mysql 设计的网站。有一个用户登录系统。用户类型为 3。

  1. 行政
  2. 用户
  3. 访客

这 3 种类型的用户在页面中具有不同类型的访问权限。MENU 项目不同。比如说,管理员可以编辑、删除、更新一些信息,但免费用户不能。

我已经创建了页面。但是我怎样才能区分每个页面的访问权限?我的意思是,我必须在每个页面中加载菜单。但是对于管理员来说,菜单项会有所不同,而不是用户,而且访问者也会有所不同。

我正在尝试使用 SESSION,但不确定如何使用它。以及我如何申请我的方案。

4

3 回答 3

0

您需要在用户表中的数据库中创建“user_level”或另一个字段,具有 0 或 1 个可能的值...如果用户级别为 0,则用户为简单用户,否则为 1,则用户为管理员。在用户登录时,从“user_level”字段保存会话“user_level”。

然后在每一页检查:

<?
if($_SESSION['user_level'] == 1) { display_menu_for_admin(); }
?>
于 2012-04-25T08:58:15.047 回答
0

您需要首先创建访问级别。首先,请为处理会话、菜单创建单独的文件。创建一个将确定对文件的访问权限的类。在每一页上,调用这个类函数,你就完成了访问级别。

例如,创建一个用于处理菜单项的文件。如果它们完全不同,则根据访问级别,在文件之间切换。另外,如果菜单有细微的变化,只需添加 if else 条件。这样,您将获得更简单的菜单系统。将此应用于其他站点功能。例如管理站点变量等。仅授予管理员用户访问权限。

于 2012-04-25T09:03:57.537 回答
0

在任何页面中检查用户。因此,如果您有一个edit.php脚本,请在顶部检查它:

<?php

if ($_SESSION['user']['user_type'] != 'admin') {
    die('You do not have permission to view this page.');
}

// continue showing edit form

我不知道您存储用户的会话结构或数据库结构的设置,因为您没有提供它们,所以这是我或任何人可以提供的最好的。

于 2012-04-25T08:56:31.830 回答