ホームページ  >  記事  >  バックエンド開発  >  PHP バックグラウンド マルチユーザー権限グループのアイデアと実装プログラム コード_PHP チュートリアル

PHP バックグラウンド マルチユーザー権限グループのアイデアと実装プログラム コード_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-20 11:10:50917ブラウズ

Web サイトの開発には Web サイトのバックエンドが不可欠であり、特にシステム内に複数の管理者がいる場合、バックエンドでは同じ役割をユーザーに割り当てることが自然です。編集、フレンドリー接続、管理者などに分割するには、権限と役割の割り当てが必要です。今日は、以前に作成したシステムを見ていきます。

まず、ファイル

adminconfig.php を紹介します。これは、バックグラウンド システムのすべてのファイルの権限設定です。

fun.php これは関数関数です

left.php ウェブサイトのバックグラウンドは、ユーザーのログイン ID に従って、対応する機能メニューをロードします

op.php は、adminconfig.php のデフォルトの権限ファイルを呼び出します

opsava.php ユーザー権限を保存しますphp ファイル

それでは、まず fun.php ファイルを見てみましょう。

コードは次のとおりです コードをコピー

function findsub($keys ,$userid='abc' ) //この関数はユーザーの権限情報を呼び出すために重要です
{
include(' user/'.$userid.'.php');
foreach($bb as $key=>$submenu)
{
foreach($submenu as $subkey=>$menuitem)
{
if ( $subkey ***
$cachefile = 'op/user/'.$name.'.php';
$cachetext = "";
if(!swritefile($cachefile, $cachetext))
{
exit("File: $cachefile write error.");
}

}


// 配列を次のように変換しますstring
function arrayeval( $array, $level = 0) {
$space = '';
for($i = 0; $i $space .= "t";
}
$evaluate = "Arrayn$space(n";
$comma = $space;
foreach($array as $key => $val) {

$key = is_string($key) ? ''。 addcslashes($key, '').'' : $key;

$val = !is_array($val) && (!preg_match("/^-?d+$/", $val) || strlen($val) ) > 12 ) ? ''.addcslashes($val, '').'' : $val; if(is_array($val)) {
$evaluate .= "$comma$key => ".arrayeval( $val, $level + 1);
} else {
$evaluate .= "$comma$key => $val";
}
$comma = ",n$space";
}
$evaluate .= "n$space)";
return $evaluate
}

//ファイルを書き込む
function swritefile($filename, $writetext, $openmod='w') {
if(@$fp = fopen) ($filename , $openmod)) {
flock($fp, $writetext);
fclose($fp);
exit("ファイル: $ファイル名書き込みエラー .");
Return false;
}
}

?>




adminconfig.php バックグラウンド権限設定ファイル、配列形式で保存

コードは次のとおりです コードをコピー

$menus = array(

'news' => ; array(
' caption'=>'情報管理',
'icon'=>'admin/icon_15.gif',
'sub' => array(
'newsaddtype' => array('caption ' => ' 分類を追加しました', 'url' => 'news/addtype.php'),
'newstypemange' => 'カテゴリ管理', 'url' => 'news/typemange.php'),
'newsnewsend' => array('caption' => '公開情報', 'url' => 'news/newsend.php'),
'newsnewmange' => ; array('caption ' => '情報管理', 'url' => 'news/newmange.php'),
'newscomments' => 'コメント管理', ' url' => 'news/comments.php'),

),
),

'ask' => array(
'caption'=>'アンケート',
'icon'=>'管理者/icon_15.gif',
'sub' => array(
'voteadmin_subject_add' => array('caption' => '投票対象を追加', 'url' => 'vote/admin_subject_add.php') ,
' voteadmin_subject' => array('caption' => '投票対象の管理', 'url' => 'vote/admin_subject.php'),
'voteadmin_title_add' => > ' 投票の質問を追加', 'url' => 'vote/admin_title_add.php'),
'voteadmin_title' => '投票の質問を管理', 'url' => 'vote/ admin_title.php'),
'voteadmin_question_add' => array('caption' => '投票回答を追加', 'url' => 'vote/admin_question_add.php'),
'voteadmin_question' = > array('caption' => '投票回答の管理', 'url' => 'vote/admin_question.php'),
'voteadmin_system' => '投票の初期設定', ' url' => 'vote/admin_system.php')
),
),
'ads' => array(
'caption'=>'広告管理',
'icon'=> 'admin/ icon_15.gif',
'sub' => array(
'ada' => array('caption' => '広告を追加', 'url' => 'ada.php'),
'adm ' => array('caption' => '広告管理', 'url' => 'adm.php'),
'flashadd' => '追加フォーカス イメージ広告 ', 'url' => 'flashadd.php'),
'flashad' => array('caption' => 'フォーカス イメージ広告管理', 'url' => 'flashad.php ')
),
),


'mange' => array(
'caption'=>'システム管理者',
'icon'=>'admin/icon_15.gif',
'sub' => ; array(
'adminuser' => array('caption' => '管理者追加', 'url' => 'adminuser.php'),
'modpass' => array('caption' = > 'パスワード変更', 'url' => 'modpass.php')
),
),
);

left.php ファイルは非常にシンプルで、ユーザーがログインした後に ID に基づいて権限を読み出すだけです

nr ";
foreach($submenu as $subkey=>$menuitem)
{
$tmparr = 爆発("|",$menuitem);
echo "4".$tmparr[0]."< nr adminconfig.php ファイルを呼び出し、fun.php ファイル内の関数を使用して、図に示すように、提供されたデータを配列に保存します


[保存] をクリックします opsava.php ファイルを呼び出しました。コードは次のとおりです
コードは次のとおりです コードをコピーします

$userid = $_SESSION['adminid'];
include(" op/admincofig.php");
include("op/user/".$userid.".php");

foreach($bb as $key=> ;$submenu)
{
echo " nr ".$menus[$key]['caption']."
;

コードは次のとおりです

コードをコピー

include("op/fun.php") ;

if( $_POST )

{ $sarray = $_POST ;cache_write($userid,'bb',$sarray );//書き込みキャッシュ ?>$bb=Array

(

'member' => Array
echo "<script>alert('編集して保存しました! ');location='op.php?userid=".$userid."';</script>";

}


保存成功後のファイルの内容は以下の通りです:



コードは次のとおりです

コードをコピーします


( 'user_search' => 'メンバーアップグレード管理|user_search.php' 'membercy' => Array 'cyuser_search' => 'メンバーアップグレード管理|cyuser_search.php', 'cyuser_search5' => 'デートメンバー|cyuser_search.php? Grade=5' ),http://www.bkjia.com/PHPjc/444699.html
), (
'userid' => 7,

'button' => 'Save edit'
)
?>




この場合、左側が 7 をロードしている限り、 .php ファイルを開くと、ここでファイルが表示されるだけです。このような基本的なバックグラウンド権限は完了です。



http://www.bkjia.com/PHPjc/444699.html

www.bkjia.com

tru​​e

技術記事

ウェブサイトの開発にはウェブサイトのバックエンドが不可欠です。バックエンドでは、特にマルチユーザー システムの場合、同じ役割をユーザーに割り当てるのが自然です。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。