2

PHPでイントラネットを構築しています。ユーザーごとに異なる権限があります (管理者、ユーザーなど)。PHP と MySql のデータベースのみを異なるテーブルで使用する予定です。

「ユーザー」と「管理者」を分離するために、イントラネットのコードを記述するための最も単純で「最適な」ソリューションはどれかを知りたいです。

1 つの「index.php」を使用してから、権限に基づいてコンテンツを表示するために if/else メソッドを使用しますか? このような:

if ($priv == 'admin')
  display content for admin

else if ($priv == 'user')
  display content for user

または、権限ごとに異なるファイルを用意する必要があります。たとえば、最初に 1 つのファイルを使用して権限を確認し、次にその権限に基づいて別のページを開きます。

If "admin"
    OPEN index_admin.php
else if "user"
    OPEN index_user.php

ここに行く方向についてアドバイスが必要です。

イントラネットは非常にシンプルで、企業の従業員が自分の時間を報告するための時間報告/時間追跡機能を備えています.

ありがとう

4

2 に答える 2

1

必要なものの基本的な要点はわかりましたが、自己処理ページを使用することをお勧めします。リダイレクトルートをたどると、人々はブラウザで index_admin.php にアクセスできます。

これにはログイン システムを使用していると想定しています。その場合は、SQL テーブルを設定し、admin に bool 値を設定してください。それでは、できるようになります。

$sql = SELECT admin FROM users WHERE username = '{$user}';
$admin = mysqli_query($sql);

if ($admin == 1)
{
    // load the admin page
}

else
{
    // load the normal user page
}

一定の SQL クエリを避けるために、管理ステータスをセッションに保存することで、これをより効率的にすることができます。

お役に立てれば。

  • エオガン
于 2012-06-26T07:37:57.573 に答える
1

セッションを調べて、すべてのページの上部にこれがあります

<?php session_start(); ?>

あなたのケースでセッション変数を使って何かをする

<?php if ($_SESSION['priv'] == $something) {
//Do stuff HERE
} else {
//And So Fourth
?>
于 2012-06-26T07:39:00.633 に答える