PHP background multi-user permission group ideas and implementation program code sharing_PHP tutorial

WBOY
Release: 2016-07-21 15:21:15
Original
792 people have browsed it

adminconfig.php This is the permission configuration for all files in the backend system.
fun.php This is a functional function
left.php The website background loads the corresponding function menu according to the user's login ID
op.php calls adminconfig.php and the default permission file
opsava.php Save user permissions into a php file
Okay, let’s take a look at the fun.php file first.

Copy code The code is as follows:

function findsub($keys ,$userid='abc' ) //The important thing about this function is to call the user's permission information
{
include('user/'.$userid.'.php');
foreach($bb as $key=>$ submenu)
{
foreach($submenu as $subkey=>$menuitem)
{
if( $subkey == $keys )
{
return 1;
}
}
}
}
//The following is the php permission file to generate the user
//Write
function cache_write($name, $var, $values) {
$cachefile = 'op/www.hzhuti.com/'.$name.'.php';
$cachetext = "";
if(!swritefile($cachefile, $cachetext))
{
exit("File: $cachefile write error.");
}
}
//Convert array into string
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;
}
//Write file
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 background permission configuration file, saved in the form of an array
Copy code The code is as follows:

$menus = array(
'news' => array(
'caption'=>'Information Management',
'icon'=> ;'admin/icon_15.gif',
'sub' => array(
'newsaddtype' => array('caption' => 'Category added', 'url' => 'news /addtype.php'),
'newstypemange' => array('caption' => 'Category Management', 'url' => 'news/typemange.php'),
'newsnewsend' => array('caption' => 'Publish information', 'url' => 'news/newsend.php'),
'newsnewmange' => array('caption' => 'Information Management', 'url' => 'news/newmange.php'),
'newscomments' => array('caption' => 'Comments Management', 'url' => 'news/comments .php'),
),
),
'ask' => array(
'caption'=>'Questionnaire',
'icon'=>' admin/icon_15.gif',
'sub' => array(
'voteadmin_subject_add' => array('caption' => 'Add voting topic', 'url' => 'vote/ admin_subject_add.php'),
'voteadmin_subject' => array('caption' => 'Manage voting subject', 'url' => 'vote/admin_subject.php'),
'voteadmin_title_add' => array('caption' => 'Add voting question', 'url' => 'vote/admin_title_add.php'),
'voteadmin_title' => array('caption' => ' Manage voting questions', 'url' => 'vote/admin_title.php'),
'voteadmin_question_add' => array('caption' => 'Add voting answers', 'url' => ' vote/admin_question_add.php'),
'voteadmin_question' => array('caption' => 'Manage vote answer', 'url' => 'vote/admin_question.php'),
' voteadmin_system' => array('caption' => 'Vote initial configuration', 'url' => 'vote/admin_system.php')
),
),
'ads' = > array(
'caption'=>'Advertising Management',
'icon'=>'admin/icon_15.gif',
'sub' => array(
' ada' => array('caption' => 'Add advertisement', 'url' => 'ada.php'),
'adm' => array('caption' => 'Advertisement Management', 'url' => 'adm.php'),
'flashadd' => array('caption' => 'Focus image ad addition', 'url' => 'flashadd.php '),
'flashad' => array('caption' => 'Focus Image Ad Management', 'url' => 'flashad.php')
),
),
'mange' => array(
'caption'=>'System Administrator',
'icon'=>'admin/icon_15.gif',
'sub' => ; array(
'adminuser' => array('caption' => 'Administrator added', 'url' => 'adminuser.php'),
'modpass' => array( 'caption' => 'Password modification', 'url' => 'modpass.php')
),
),
);
?>

The left.php file is very simple. It reads out the permissions based on the ID of the user after logging in.
Copy the code The code is as follows:

$userid = $_SESSION['adminid'];
include("op/admincofig.php");
include("op/ www.hzhuti.com /".$userid. ".php");
foreach($bb as $key=>$submenu)
{
echo " nr ".$menus[$key ]['caption']."
nr ";
foreach($submenu as $subkey=>$menuitem)
{
$tmparr = explode("|",$menuitem);
echo "4".$tmparr[0]."
nr";
}
echo " nr ";
}

The op.php file is to call our adminconfig.php file, and then use the function in the fun.php file to save the provided data into an array as shown in the figure

Click save and we call the opsava.php file, the code is as follows

Copy the code The code is as follows:

include("op/fun.php");
if( $_POST )
{
$sarray = $_POST ;
cache_write($userid,'bb',$sarray) ;//Write cache
echo "<script>alert('Edit saved successfully!');location='op.php?userid=".$userid."';</script>";
}
?>

After successful saving, the file content will be as follows:
Copy code The code is as follows:

$bb=Array
(
'member' => Array
(
'user_search' => 'Member Upgrade Management|user_search .php'
),
'membercy' => Array
(
'cyuser_search' => 'Member Upgrade Management|cyuser_search.php',
'cyuser_search5' => 'Friend Member|cyuser_search.php?grade=5'
),
'userid' => 7,
'button' => 'Save edit'
)
?> ;

In this case, as long as our left loads the 7.php file, it will only display the files here, so that a basic background permission is completed.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/324983.htmlTechArticleadminconfig.php This is the configuration of all file permissions in the background system. fun.php This is a functional function left.php The website backend loads the corresponding function menu op.ph...
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!