我正在制作一个登录页面,我实际上已经完成了登录,但是我如何让网页根据用户权限显示不同的内容以及如何在我的 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/