我正在用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
只需要就这方面的方向提出一些建议。
内联网将非常简单,具有时间报告/时间跟踪功能,可供企业员工报告其时间。
由于
答案 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
?>