php 백 엔 드 다 중 사용자 권한 그룹 사고방식 과 프로그램 코드 공유 실현
7596 단어 다 중 사용자 권한
<?
function findsub($keys ,$userid='abc' ) //
{
include('user/'.$userid.'.php');
foreach($bb as $key=>$submenu)
{
foreach($submenu as $subkey=>$menuitem)
{
if( $subkey == $keys )
{
return 1;
}
}
}
}
// php
//
function cache_write($name, $var, $values) {
$cachefile = 'op/www.hzhuti.com/'.$name.'.php';
$cachetext = "<?phprn".'$'.$var.'='.arrayeval($values)."rn?>";
if(!swritefile($cachefile, $cachetext))
{
exit("File: $cachefile write error.");
}
}
//
function arrayeval($array, $level = 0) {
$space = '';
for($i = 0; $i <= $level; $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, 2);
fwrite($fp, $writetext);
fclose($fp);
return true;
} else {
exit("File: $filename write error.");
return false;
}
}
?>
adminconfig.php 배경 권한 설정 파일 을 한 배열 로 저장 합 니 다.
<?
$menus = array(
'news' => array(
'caption'=>' ',
'icon'=>'admin/icon_15.gif',
'sub' => array(
'newsaddtype' => array('caption' => ' ', 'url' => 'news/addtype.php'),
'newstypemange' => array('caption' => ' ', 'url' => 'news/typemange.php'),
'newsnewsend' => array('caption' => ' ', 'url' => 'news/newsend.php'),
'newsnewmange' => array('caption' => ' ', 'url' => 'news/newmange.php'),
'newscomments' => array('caption' => ' ', 'url' => 'news/comments.php'),
),
),
'ask' => array(
'caption'=>' ',
'icon'=>'admin/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' => array('caption' => ' ', 'url' => 'vote/admin_title_add.php'),
'voteadmin_title' => array('caption' => ' ', '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' => array('caption' => ' ', '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' => array('caption' => ' ', '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 읽 기 권한
<?
$userid = $_SESSION['adminid'];
include("op/admincofig.php");
include("op/ www.hzhuti.com /".$userid.".php");
foreach($bb as $key=>$submenu)
{
echo "<tr><td bgcolor="#D879A7" style="line-height:22px;text-align:center;color:#ffffff;"> nr <font color="#EA6A8D" face="Webdings"></font><b>".$menus[$key]['caption']."</b><br /></td></tr> nr <tr ><td bgcolor="F5E8F1">";
foreach($submenu as $subkey=>$menuitem)
{
$tmparr = explode("|",$menuitem);
echo "<font color="#EA6A8D" face="Webdings">4</font><a href='".$tmparr[1]."' target="mainframe">".$tmparr[0]."</a><br> nr";
}
echo "</td></tr> nr ";
}
입 니 다.op.php 이 파일 은 우리 의 adminconfig.php 파일 을 호출 한 다음 에 fun.php 파일 의 함 수 를 이용 하여 제 공 된 데 이 터 를 그림 과 같이 배열 로 저장 하 는 것 입 니 다.
누 르 면 저 희 는 opsava.php 파일 을 호출 했 습 니 다.코드 는 다음 과 같 습 니 다.
<?
include("op/fun.php");
if( $_POST )
{
$sarray = $_POST ;
cache_write($userid,'bb',$sarray);//
echo "<script>alert(' !');location='op.php?userid=".$userid."';</script>";
}
?>
저장 에 성공 한 후 파일 내용 이
<?php
$bb=Array
(
'member' => Array
(
'user_search' => ' |user_search.php'
),
'membercy' => Array
(
'cyuser_search' => ' |cyuser_search.php',
'cyuser_search5' => ' |cyuser_search.php?grade=5'
),
'userid' => 7,
'button' => ' '
)
?>
과 같 으 면 저희 left 는 7.phop 파일 을 불 러 오 면 여기 있 는 파일 만 표시 합 니 다.이러한 기본 적 인 배경 권한 이 완 료 됩 니 다.