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ユーザーアカウント管理を使用したくない場合switchcaseを使用できます

$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 に答える