久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

thinkphp自定義權限管理之名稱判斷方法

下面小編就為大家帶來一篇thinkphp自定義權限管理之名稱判斷方法。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

權限管理,就是給不同的用戶分配不同的權限。當用戶登錄或者操作時候進行判斷,來阻止用戶進行權限以外的操作。本次講的是當用戶登錄一刻,只顯示權限開啟的內容。

一、建立數據庫。

1、權限表funcla。來存儲錄入所有權限,也是避免因權限名稱修改了,權限失效的問題。

      

    

2、管理員表admin。主要存儲管理員用戶名等信息。

      

 

3、管理員對應權限表funadmin。主要存儲已開啟的管理員id與權限id。

      

 

二、輸出權限列表。

1、通過管理員列表進入權限分配。

      

2、權限分配列表。

      

關于權限分配列表,因為權限板塊的不同,我們需要區別頂級分類與其子集。并且還需要顯示權限狀態。在權限狀態判斷中也使用了一層循環判斷。代碼中采用了三層嵌套循環輸出。

具體代碼如下

         
<div>分配管理員{$username}的權限</div>
  <table width="100%" border="0" cellpadding="0" cellspacing="0" class="list_table mt10">
    <tr>
      <th>權限名稱</th>
      <th>狀態</th>

    </tr>
    <volist name="funcla" id="v" key="j">
       <tr class="tr">
         <td>{$v.claname}</td>
         <td><input <volist name="funadmin" id="d"><if condition="$d['funclaid'] eq $v['id']">checked</if></volist> type="checkbox" id="{$v.id}" name="{$userid}" onchange="return setfun(this,seturl)" /></td>
       </tr>
      <volist name="fun" id="vo">
        <if condition="$vo['clapid'] eq $v['id']">
          <tr class="tr">
            <td style="padding-left: 40px;" >{$vo.claname}</td>

            <td>

              <input <volist name="funadmin" id="d"><if condition="$d['funclaid'] eq $vo['id']">checked</if></volist> type="checkbox" id="{$vo.id}" name="{$userid}" onchange="return setfun(this,seturl)" />

            </td>

          </tr>
        </if>
      </volist>
    </volist>
  </table>
循環示例圖如:

3、具體控制器如下:

       
public function setfun(){
    $uid=I('get.id',0,'int');
    $a=M('admin');
    $user=$a->where(array(id=>$uid))->field('username,id')->find();

    $this->username=$user['username'];
    $this->userid=$user['id'];

    $m=M('funcla');
    $funcla=$m->where(array(clapid=>'0'))->field(true)->select();
    $fun=$m->field(true)->select();
    $this->fun=$fun;
    $this->funcla=$funcla;

    $fd=M('funadmin');
    $funadmin=$fd->where(array(adminid=>$uid))->field(true)->select();
    $this->funadmin=$funadmin;
    $this->display();
  }

4、js。當用戶權限發生改變時,即觸發js提交json,向控制器傳遞數據參數。

       
function setfun(t,u){
  var id=$(t).attr('id');
  var uid=$(t).attr('name');
  var type=$(t).is(":checked")?1:0;
  var url=u;
  $.ajax({
    url:url,
    type:'post',
    data:{
      id:id,
      type:type,
      uid:uid
    },
    success:function(data){
    },
    error:function(data){
    }

  })
}

json傳遞的url地址用過頁面中實例化地址獲取。如:

<script type="text/javascript">
       var seturl="{:U("Admin/chanefun")}";
</script>
【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。

相關文檔推薦

下面小編就為大家分享一篇ThinkPHP整合datatables實現服務端分頁的示例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
下面小編就為大家分享一篇thinkphp3.2.0 setInc方法 源碼全面解析,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
這篇文章主要介紹了tp5(thinkPHP5)操作mongoDB數據庫的方法,結合實例形式簡單分析了mongoDB數據庫及thinkPHP5連接、查詢MongoDB數據庫的基本操作技巧,需要的朋友可以參考下
thinkphp官網在去年的時候發布了tp的顛覆版本thinkphp5,tp5確實比之前的版本好用了很多,那么下面這篇文章就來給大家介紹關于在云虛擬主機部署thinkphp5項目的相關資料,需要的朋友可以
這篇文章主要介紹了Thinkphp5行為使用方法匯總,需要的朋友可以參考下
這篇文章主要介紹了thinkphp5 加載靜態資源路徑與常量的方法的相關資料,需要的朋友可以參考下
主站蜘蛛池模板: 521av网站| 亚洲综合视频 | 中文字幕一区二区三区四区五区 | 成人蜜桃av| 免费视频二区 | 国产精品久久网 | 日韩有码一区二区三区 | 一区二区三区在线免费观看 | 亚洲欧美另类在线 | 国产欧美一区二区三区日本久久久 | 久久国产一区二区三区 | 亚洲品质自拍视频 | 最新国产精品精品视频 | 成人一区二区三区在线观看 | 成人午夜性成交 | 亚洲高清电影 | 一级黄色录像片子 | 91精品国产自产精品男人的天堂 | 中文字幕一区二区三区四区五区 | 国产91丝袜在线播放 | 成人国产精品久久久 | 91免费版在线观看 | 美女露尿口视频 | 97天天干| 中文字幕三区 | www.亚洲免费 | 午夜视频一区 | 久久久精品 | 国产伦精品一区二区三区高清 | 一区二区在线不卡 | 成人小视频在线观看 | 午夜精品久久久久久久99黑人 | 久久精品国产一区老色匹 | 九九精品在线 | 蜜桃在线视频 | 精品久久久久久亚洲精品 | 中文字幕福利 | 国产精品a免费一区久久电影 | 久久精品国产99国产精品亚洲 | 国产探花在线观看视频 | 日本人麻豆|