SQL中的用户级别

时间:2012-10-06 23:20:50

标签: php mysql

好的,所以我在我的数据库中创建了一个用户表来保存所有用户数据

CREATE TABLE `user` (
`id` INT NOT NULL auto_increment,
`username` VARCHAR(50) NOT NULL default '',
`nicename` VARCHAR(255) NOT NULL default '',
`email` VARCHAR(255) NOT NULL default '',
`password` VARCHAR(255) NOT NULL default '',
`permissions` INT NOT NULL default '1',
UNIQUE KEY `user_n` (`username`),
UNIQUE KEY `user_e` (`email`),
    PRIMARY KEY (`id`)
);

我希望权限字段指示用户可以看到和看不到的内容。 IE浏览器。 ACP的权限要求权限级别为3,而1是注册用户,0是访问该站点的访客。如何根据用户权限级别获取阻止自身的页面?提前致谢。 使用MySQL / PHP

2 个答案:

答案 0 :(得分:0)

让用户登录,从表中获取他的权限,并根据权限将他/她重定向到适当的页面,例如

$dbh = new PDO("mysql:dbname=dbname;host=hostname", "username", "password" );
$result = $dbh->prepare("select check_user_exists(?) as retval");
$result->bindParam(1, $value, PDO::PARAM_STR, 2);
$result->setFetchMode(PDO::FETCH_CLASS, 'stdClass');
$result->execute(); 
switch($result) {
 case 1 : $header('Location:x.php');
 case 2 : $header('Location:y.php');
 case 3 : $header('Location:z.php'); 
 default 'no suitable page found');
 break;
}

答案 1 :(得分:0)

如果您不想使用MySQL user-account-management您可以使用switch case

$permissions = $_GET["permissions"];//Or Post from html page
switch ($permissions)
{
case 1:
  //Level 1 code
  break;
case 2:
  //level 2 code
 break;
case 3:
 //level 3 code
  break;
default:
  //default code

}

相关问题