php - mysql数据库和php的用户权限

标签 php mysql privileges

我正在制作一个登录页面,我实际上已经完成了登录,但是我如何让网页根据用户权限显示不同的内容以及如何在我的 mysql 数据库中设置权限?然后在我的 php 代码中使用它们?

最佳答案

我通常在 users 表中创建一个名为 admin 的字段,或者在本例中可能是 privilege_level,然后在您的 php 中定义什么该字段的值对应于什么权限级别。

编辑(示例):

// start session on every page using $_SESSION array
session_start();
session_name("Your Site Name");
header("Cache-control: private");

// in login file:
$q = mysql_query("SELECT uid, privilege_level FROM users WHERE pw = 'escaped_and_preferrably_hashed_password' AND username = 'escaped_username' LIMIT 0,1");

// if row found:
if($q && mysql_num_rows($q) > 0){

    // get associative array
    $array = mysql_fetch_assoc($q);

    // set session vars
    $_SESSION['privilege_level'] = $array['privilege_level'];

}

然后,在您想要检查权限级别的页面上,您可以使用开关或其他控制结构/设计模式来动态加载内容,即:

switch($_SESSION['privilege_level']){
    default:
        echo 'you have no privileges';
    break;
    case "1":
        echo 'you have some privileges';
    break;
    case "2":
        echo 'you have lots of privileges';
    break;
}

关于php - mysql数据库和php的用户权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9049870/

相关文章:

windows - 在C :\Program Files (x86)\MyApp\myapp. cfg中写入配置文件,与管理员权限

php - 在html表格的每一行添加编辑按钮,以编辑数据库

mysql - 计算 Laravel 中的查询时间?

mysql - 同时在同一数据库上进行相同查询但结果不同?? [大查询]

ios - swift 3.0 和 iOS : How to set the delete privileges of a file in Swift

linux - 如何从进程中获取root权限

php - 添加重置按钮以使用 PHP 或 javascript 重置复选框

php - Sql 查询获取两个条件的匹配行

php - Laravel 5.1 - 当注册用户应用程序重定向到/dashboard 但不检查帐户是否已确认

mysql - 有可能的键时,为什么 MySQL 不使用键