1

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

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

4

2 回答 2

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;
}
于 2012-10-06T23:32:13.547 回答
0

如果您不想使用 MySQL用户帐户管理您可以使用 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

}

于 2012-10-06T23:37:08.957 回答