2

我正在使用 PHP 创建一个 Intranet。不同的用户(管理员、用户等)会有不同的权限。我计划在 MySql 中只使用 PHP 和一个具有不同表的数据库。

我想知道哪种方式是编写 Intranet 代码的最简单和“最适合”的解决方案,以将“用户”与“管理员”分开。

是否使用一个“index.php”,然后使用 if/else 方法根据权限显示内容?像这样:

if ($priv == 'admin')
  display content for admin

else if ($priv == 'user')
  display content for user

或者我应该为不同的权限设置不同的文件,例如,使用一个文件首先检查权限,然后根据它的权限打开另一个页面:

If "admin"
    OPEN index_admin.php
else if "user"
    OPEN index_user.php

只是需要一些关于去这里的方向的建议。

Intranet 将相当简单,具有时间报告/时间跟踪功能,供企业员工报告他们的时间。

谢谢

4

2 回答 2

1

您已经掌握了所需内容的基本要点,但我建议您使用自处理页面。如果你沿着重定向路线走,人们可以在他们的浏览器中访问比如 index_admin.php。

我假设您为此使用登录系统 - 如果是这样,只需设置一个 SQL 表,并为管理员设置一个布尔值。那么我们可以这样做;

$sql = SELECT admin FROM users WHERE username = '{$user}';
$admin = mysqli_query($sql);

if ($admin == 1)
{
    // load the admin page
}

else
{
    // load the normal user page
}

您可以通过将他们的管理员状态存储在 Session 中来提高效率,以避免不断的 SQL 查询。

希望这可以帮助。

  • 伊根
于 2012-06-26T07:37:57.573 回答
1

查看会话并在每个页面的顶部都有这个

<?php session_start(); ?>

在您的情况下处理会话变量

<?php if ($_SESSION['priv'] == $something) {
//Do stuff HERE
} else {
//And So Fourth
?>
于 2012-06-26T07:39:00.633 回答