国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

php后臺多用戶權限組思路與實現程序代碼

2024-05-04 21:48:43
字體:
來源:轉載
供稿:網友

網站開發少不了有網站后臺,有了后臺自然要對用戶有同角色來分配一下,特別是多用戶系統的情況下,如我一個系統要有多個管理員,那么我這些管理要分成,編輯,友情連接,管理員等,那我們要有權限和角色分配,今天我們就來看我以前做的一個系統吧.

先介紹一下文件:

adminconfig.php 這是后臺系統中所有文件權限配置。

fun.php 這是一個功能函數

left.php 網站后臺根據用戶登錄的ID來加載相對應的功能菜單

op.php 調用adminconfig.php 默認權限文件

opsava.php  保存用戶權限成一個php文件

好了我們先來看看 fun.php文件吧,代碼如下:

  1. <?php 
  2. function findsub($keys ,$userid='abc' ) //此函數重要就是為了調用用戶的權限信息 
  3.  include('user/'.$userid.'.php');  
  4.  foreach($bb as $key=>$submenu
  5.  {     
  6.   foreach($submenu  as $subkey=>$menuitem
  7.   { 
  8.    if$subkey == $keys ) 
  9.    { 
  10.     return 1;     
  11.    } 
  12.   }   
  13.  } 
  14.  
  15. //下面為生成用戶的php權限文件 
  16. //寫入  
  17. function cache_write($name$var$values) {  
  18.  $cachefile = 'op/user/'.$name.'.php';  
  19.  $cachetext = "<?phprn".'$'.$var.'='.arrayeval($values)."rn?>";  
  20.  if(!swritefile($cachefile$cachetext))  
  21.  {  
  22.   exit("File: $cachefile write error.");  
  23.  }  
  24.  
  25. //數組轉換成字串  
  26. function arrayeval($array$level = 0) {  
  27. $space = '';  
  28.  for($i = 0; $i <= $level$i++) {  
  29.   $space .= "t";  
  30.  }  
  31. $evaluate = "Arrayn$space(n";  
  32. $comma = $space;  
  33.  foreach($array as $key => $val) {  
  34.   $key = is_string($key) ? '''.addcslashes($key, ''/').''' : $key;  
  35.   $val = !is_array($val) && (!preg_match("/^-?d+$/"$val) || strlen($val) > 12) ? '''.addcslashes($val, ''/').''' : $val;  
  36.   if(is_array($val)) {  
  37.    $evaluate .= "$comma$key => ".arrayeval($val$level + 1);  
  38.   } else { //開源代碼Vevb.com 
  39.    $evaluate .= "$comma$key => $val";  
  40.   }  
  41.    $comma = ",n$space";  
  42.  }  
  43.   $evaluate .= "n$space)";  
  44.   return $evaluate;  
  45.  
  46. //寫入文件  
  47. function swritefile($filename$writetext$openmod='w') {  
  48.  if(@$fp = fopen($filename$openmod)) {  
  49.   flock($fp, 2);  
  50.   fwrite($fp$writetext);  
  51.   fclose($fp);  
  52.   return true;  
  53.  } else {  
  54.   exit("File: $filename write error.");  
  55.   return false;  
  56.  }  
  57.  
  58. ?> 

adminconfig.php 后臺權限配置文件,以一個數組形式保存,代碼如下:

  1. <?php 
  2. $menus = array
  3.  
  4.   'news' => array
  5.    'caption'=>'資訊管理'
  6.    'icon'=>'admin/icon_15.gif'
  7.    'sub' => array
  8.     'newsaddtype' => array('caption' => '分類增加''url' => 'news/addtype.php'), 
  9.     'newstypemange' => array('caption' => '分類管理''url' => 'news/typemange.php'),     
  10.     'newsnewsend' => array('caption' => '發布資訊''url' => 'news/newsend.php'), 
  11.     'newsnewmange' => array('caption' => '資訊管理''url' => 'news/newmange.php'), 
  12.     'newscomments' => array('caption' => '評論管理''url' => 'news/comments.php'), 
  13.      
  14.    ), 
  15.   ), 
  16.    
  17.   'ask' => array
  18.    'caption'=>'問卷調查'
  19.    'icon'=>'admin/icon_15.gif'
  20.    'sub' => array
  21.     'voteadmin_subject_add' => array('caption' => '添加投票主題''url' => 'vote/admin_subject_add.php'), 
  22.     'voteadmin_subject' => array('caption' => '管理投票主題''url' => 'vote/admin_subject.php'), 
  23.     'voteadmin_title_add' => array('caption' => '添加投票問題''url' => 'vote/admin_title_add.php'), 
  24.     'voteadmin_title' => array('caption' => '管理投票問題''url' => 'vote/admin_title.php'), 
  25.     'voteadmin_question_add' => array('caption' => '添加投票答案''url' => 'vote/admin_question_add.php'), 
  26.     'voteadmin_question' => array('caption' => '管理投票答案''url' => 'vote/admin_question.php'), 
  27.     'voteadmin_system' => array('caption' => '投票初始配置''url' => 'vote/admin_system.php'
  28.    ), 
  29.   ), 
  30.   'ads' => array
  31.    'caption'=>'廣告管理'
  32.    'icon'=>'admin/icon_15.gif'
  33.    'sub' => array
  34.     'ada' => array('caption' => '增加廣告''url' => 'ada.php'), 
  35.     'adm' => array('caption' => '廣告管理''url' => 'adm.php'),    
  36.     'flashadd' => array('caption' => '焦點圖廣告增加''url' => 'flashadd.php'), 
  37.     'flashad' => array('caption' => '焦點圖廣告管理''url' => 'flashad.php'
  38.    ), 
  39.   ),  
  40.    
  41.    
  42.   'mange' => array
  43.    'caption'=>'系統管理員'
  44.    'icon'=>'admin/icon_15.gif'
  45.    'sub' => array
  46.     'adminuser' => array('caption' => '管理員添加''url' => 'adminuser.php'), 
  47.     'modpass' => array('caption' => '密碼修改''url' => 'modpass.php')     
  48.    ), 
  49.   ), 
  50.  );  
  51. ?> 

left.php文件很簡單就是根據用戶登錄后ID讀出權限,代碼如下:

  1. <?php 
  2. $userid = $_SESSION['adminid']; 
  3. include("op/admincofig.php"); 
  4. include("op/user/".$userid.".php"); 
  5.  
  6. foreach($bb as $key=>$submenu
  7. {     
  8.  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">"
  9.  foreach($submenu  as $subkey=>$menuitem
  10.  { 
  11.   $tmparr = explode("|",$menuitem); 
  12.   echo "<font color="#EA6A8D" face="Webdings">4</font><a href='".$tmparr[1]."' target="mainframe">".$tmparr[0]."</a><br> nr"
  13.  } 
  14.  echo "</td></tr> nr ";  
  15. ?> 

op.php這個文件就是要調用我們的adminconfig.php文件,然后利用fun.php文件中函數把提供過來的數據保存成數組,點擊保存我們調用了opsava.php 文件,代碼如下:

  1. <?php 
  2. include("op/fun.php"); 
  3. if$_POST ) 
  4.  $sarray =  $_POST ; 
  5.  cache_write($userid,'bb',$sarray);//寫入緩存  
  6.  echo "<script>alert('編輯保存成功!');location='op.php?userid=".$userid."';</script>"
  7.  
  8. ?> 

保存成功后文件代碼如下:

  1. <?php 
  2. $bb=Array 
  3.  ( 
  4.  'member' => Array 
  5.   ( 
  6.   'user_search' => '會員升級管理|user_search.php' 
  7.   ), 
  8.  'membercy' => Array 
  9.   ( 
  10.   'cyuser_search' => '會員升級管理|cyuser_search.php'
  11.   'cyuser_search5' => '交友會員|cyuser_search.php?grade=5' 
  12.   ), 
  13.  'userid' => 7, 
  14.  'button' => '保存編輯' 
  15.  ) 
  16. ?> 

這樣的話我們的left只要加載 7.php文件就只會顯示這里在的文件,這樣一個基本的后臺權限就完成了.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平昌县| 德惠市| 巫溪县| 盐源县| 鄂伦春自治旗| 株洲县| 陇西县| 达日县| 建宁县| 奉新县| 洪泽县| 鹤峰县| 平邑县| 湛江市| 龙里县| 专栏| 新竹市| 渭源县| 中江县| 大英县| 昌吉市| 麟游县| 盐边县| 井研县| 奉贤区| 吉首市| 胶南市| 太仆寺旗| 汤原县| 房产| 鹰潭市| 乌什县| 舞钢市| 闽清县| 工布江达县| 新郑市| 焦作市| 黎城县| 新源县| 冕宁县| 牡丹江市|