以下のエディターは、PHP 担当者権限管理(RBAC) の例 (推奨) を示します。編集者はこれがとても良いものだと思ったので、皆さんの参考として今から共有します。編集者をフォローして見てみましょう
php-人事権限管理(RBAC)
権限管理はVIP機能として利用可能 一般ユーザーとVIPユーザーでは機能が異なります。 5 つの関数が使用されます: ユーザー テーブル、ロール テーブル、関数テーブル、および相互に関連するテーブル: ユーザーとロール テーブル、ロールと関数テーブル
使用する 5 つのテーブルは次のとおりです。
1. 最初に書くのは管理者ページです
1.ユーザー名 <p>
<select id="user">
<?php
require"../DBDA.class.php";
$db = new DBDA();
$sql = "select * from users";
$arr = $db->query($sql,1);
foreach($arr as $v)
{
echo"<option value='{$v[0]}'>{$v[2]}</option>";
}
?>
</select>
</p>
2. 上記で新しいオブジェクトが作成されたので、ロール名を表示する際にSQL文から直接書き始めます
3.保存ボタンを確認して権限を変更します
<p>请选择角色:
<?php
$sql = "select * from juese";
$arr = $db->query($sql,1);
foreach($arr as $v)
{
echo "<input type='checkbox' class='ck' value='{$v[0]}'/>{$v[1]}";
}
?>
</p>
<br/>
4. このようにして、データベース内のユーザーの元の役割を表示する方法、つまり、
ドロップダウン リストとチェックボックスの値 メソッドに書き込んでこのメソッドを呼び出すことができます<input type="button" value="保存" id="baocun" />
5. 各値の処理ページ
function Xuan()
{
var uid = $("#user").val();
$.ajax({
url:"chuli.php",
data:{uid:uid},
type:"POST",
dataType:"TEXT",
success: function(data){
var js = data.trim().split("|");
var ck = $(".ck");
ck.prop("checked",false);
for(var i=0;i<ck.length;i++)
{
var v = ck.eq(i).val();
if(js.indexOf(v)>=0)
{
ck.eq(i).prop("checked",true);
}
}
}
})
}
6. 最後に、変更した値を保存します。すべて削除して値を選択するメソッドを直接使用できます。保存ボタンにクリック イベントを追加します
7。 効果は次のとおりです:
次のコードはコピー用です。
AJAXはJqueryを参照する必要があることに注意してください
1.guanli.php
<?php
require"../DBDA.class.php";
$db = new DBDA();
$uid = $_POST["uid"];
$sql = "select jueseid from userinjuese where userid='{$uid}'";
echo $db->strquery($sql);
Xuan();
$("#user").change(function(){
Xuan();
})
$("#baocun").click(function(){
var uid = $("#user").val();
var str = "";
var ck = $(".ck");
for(var i=0;i<ck.length;i++)
{
if(ck.eq(i).prop("checked"))
{
str = str + ck.eq(i).val()+",";
}
}
str = str.substr(0,str.length-1);
$.ajax({
url:"add.php",
data:{uid:uid,js:str},
type:"POST",
dataType:"TEXT",
success: function(data){
alert("保存成功!");
}
})
})
<?php
require "../DBDA.class.php";
$db = new DBDA();
$uid = $_POST["uid"];
$js = $_POST["js"];
//清空原有角色
$sql = "delete from userinjuese where userid='{$uid}'";
$db->query($sql);
//添加选中的角色
$ajs = explode(",",$js);
foreach($ajs as $v)
{
$sql = "insert into userinjuese values('','{$uid}','{$v}')";
$db->query($sql);
}
1.基本ページへ login.php
2. ログイン 処理済みページ dlchuli.php
无标题文档 用户角色对应
<p> <select id="user"> <?php require"../DBDA.class.php"; $db = new DBDA(); $sql = "select * from users"; $arr = $db->query($sql,1); foreach($arr as $v) { echo"<option value='{$v[0]}'>{$v[2]}</option>"; } ?> </select> </p>
<p>请选择角色: <?php $sql = "select * from juese"; $arr = $db->query($sql,1); foreach($arr as $v) { echo "<input type='checkbox' class='ck' value='{$v[0]}'/>{$v[1]}"; } ?> </p> <br/> <input type="button" value="保存" id="baocun" />
3. メインページ main.php
以上がphp の例 - php 人事権限管理 (RBAC) の例 (推奨)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。