1

複数のユーザー タイプを必要とする Web サイトを開発しています。ログイン後のユーザーロール/タイプに基づいて、ユーザータイプをさまざまなオマージュにリダイレクトできました。ただし、サイトの管理者部分を管理者ロール タイプのみに制限する必要があります。ユーザーのタイプ/役割に基づいて、「1」または「2」をデータベースに保存しています。「session_start」と「session_is_registered」を使用してユーザー情報を確認しています。ロール タイプが「1」のユーザーがページを表示できないようにするには、このコードに何を追加する必要がありますか。

session_start();
if(!session_is_registered(username)){
header('Location: ../admin/index.php');
}
4

2 に答える 2

5

ユーザーの役割をセッション変数に保存する

$_SESSION["role"]=1;

また

$_SESSION["role"]=2; 

保存されたユーザー情報に応じて。

次に、権限を確認するときに、次の変数を確認します。

if($_SESSION["role"]==2){
  header('Location: ../admin/index.php');
} else {
  echo "you need the admin role to view this page!";
}

別のアドバイス: ../admin/index.php の権限を確認し、ユーザーが管理者ロールを持っていない場合はデフォルト ページにリダイレクトすることをお勧めします。そうしないと、ユーザーが URL を知っていれば、../admin/index.php を直接参照できる可能性があります。

于 2012-06-25T19:34:44.253 に答える
0

if ステートメントをネストするだけです。彼らが管理者である場合は、管理者ページに誘導します。そうでない場合は、別の場所に移動します。

于 2012-06-25T19:33:16.960 に答える