PHP网站具有特权结构

时间:2012-06-26 07:30:19

标签: php mysql html privileges

我正在用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

只需要就这方面的方向提出一些建议。

内联网将非常简单,具有时间报告/时间跟踪功能,可供企业员工报告其时间。

由于

2 个答案:

答案 0 :(得分:1)

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

我假设您正在使用登录系统 - 如果是这样,只需设置一个SQL表,并为admin设置一个bool值。那么我们就可以做到;

$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
}

您可以通过将其管理状态存储在会话中来提高效率,以避免持续的SQL查询。

希望这有帮助。

  • 锐衡

答案 1 :(得分:1)

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

<?php session_start(); ?>

在你的案例中用会话变量来做事情

<?php if ($_SESSION['priv'] == $something) {
//Do stuff HERE
} else {
//And So Fourth
?>