具有权限结构的PHP网站

标签 php mysql html privileges

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

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

是使用一个“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

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

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

谢谢

最佳答案

您已经掌握了所需的基本要点,但我建议使用自处理页面。如果您沿着重定向路线走下去,人们就可以在浏览器中访问例如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
}

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

希望这有帮助。

  • 欧根

关于具有权限结构的PHP网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11202607/

相关文章:

javascript - jQuery Ajax 提交帖子未收到成功消息

php - Mysql 查询没有返回任何输出?

mysql - 从 Xoops 数据库中计算并插入评论

mysql - MariaDB 配置更改不生效

html - contenteditable div 上的字体大小更改

javascript - 如何使用 "for loop"更改变量名称?

html - 如何在不影响文本的情况下设置背景不透明度

PHP stdClass 对象,使用常量访问

mysql - 对于不存在的 ID,我是否需要在 SQL 表中使用 NULL 值

php - Mysql数据库是否关闭