0%

[技能檢定]題組四 步驟10 製作後台管理者權限設置功能

這邊我們順著步驟六的功能接著把後台的一些簡單功能及頁面設置先做完,爭取更多的時間來製作比較麻煩的購物車及商品管理功能

  1. 先在類別中建立方法來載入管理者頁面
    /controller/Admin.php

    1
    2
    3
    4
    function backend(){
    $view['rows']=$this->all();
    return $this->view("./view/backend/admin.php",$view);
    }
  2. ./view/backend/admin.php 中直接利用js的語法來製作新增管理者的按鈕跳頁功能

    1
    2
    3
    <div class="ct">
    <button onclick="location.href='?do=add_admin'">新增管理員</button>
    </div>
  3. ./view/backend/admin.php 中建置讀出管理帳號的頁面,這邊要注意過濾 admin 帳號為沒有功能按鈕的項目

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    <table class="all">
    <tr class="ct">
    <td class="tt">帳號</td>
    <td class="tt">密碼</td>
    <td class="tt">管理</td>
    </tr>
    <?php
    foreach($rows as $row){
    ?>
    <tr class="ct">
    <td class="pp"><?=$row['acc'];?></td>
    <td class="pp"><?=str_repeat("*",strlen($row['pw']));?></td>
    <td class="pp">
    <?php if($row['acc']!='admin'){ ?>
    <button onclick="location.href='?do=edit_admin&id=<?=$row['id'];?>'">修改</button>
    <button onclick="del('Admin',<?=$row['id'];?>)">刪除</button>
    <?php }else {
    echo "此帳號為最高權限";
    }?>
    </td>
    </tr>
    <?php } ?>
    </table>
    <div class="ct">
    <button onclick="location.href='index.php'">返回</button>
    </div>
  4. 為了方便測試,可以先手動建置幾個管理者帳號在資料表中

  5. ./js/js.js 中建立一個javascript函式 del(table,id) 做為刪除資料的 ajax 共用函式功能,後台的所有刪除資料功能幾乎都能共用同樣的機制來處理,可以少寫很多程式碼

    1
    2
    3
    4
    5
    6
    // js/js.js
    function del(table,id){
    $.post("./api/del.php",{table,id},()=>{
    location.reload()
    })
    }
  6. ./api/del.php 中建立刪除api,這裏利用到可變變數的方式來快速取用類別中的del()方法

    1
    2
    3
    4
    // api/del.php
    include_once "../base.php";

    ${$_POST['table']}->del($_POST['id']);