第3章 管理员管理功能

1、管理员首页制作与数据导入

2、编辑模板的制作与数据导入

3、Ajax数据提交与管理员信息更新

代码如下

注意:原login.php中设置的Session::set('user_info',$data);修改为Session::set($admin->toArray);

数据库中添加两个字段分别维is_upadate int default 1 comment ‘可以更新’ ,update_time int(11) comment ' 修改时间';

admin.php

<?php

namespace app\admin\controller;

use app\admin\common\Base;
use think\Request;
use app\admin\model\Admin as AdminModel;


class Admin extends Base
{
    //现实管理员列表
    public function index()
    {
       // dump(Session::get());
        //$this->isLogin();
        //1、从数据库获取管理员数据
        $admin = AdminModel::get(['username'=>'admin']);
        //print_r($admin);
       /* $admin=[
            'id'=>1,
            'username'=>'admin',
            'email'=>'jsjd#@qq.com',
            'login_count'=>5,
            'last_time'=>154545
        ];*/
        //2、将当前的管理员信息赋值给模版
        $this->assign('admin',$admin);
        //3、渲染管理员页面
        return $this->fetch('admin_list');
    }

    //渲染编辑模版
    public function edit(Request $request)
    {
        //1、从数据库获取管理员数据
        $admin = AdminModel::get($request->param('id'));
        //2、将当前的管理员信息赋值给模版
        $this->assign('admin',$admin);
        return $this->fetch('admin_edit');
    }

    //执行更新操作
    public function update(Request $request)
    {
        if($request->isAjax(true)){
            
            //获取提交的数据自动过滤空值
            $data = array_filter($request->param());
            

            //设置更新条件
            $map = ['is_update'=>$data['is_update']];
            

            //更新用户列表
            $res = AdminModel::update($data,$map);


            //更新成功
            $status = 1;
            $message = '更新成功';

            if(is_null($res)){
                //更新失败
                $status = 0;
                $message = '更新失败';
            }

        }

        return ['status'=>$status,'message'=>$message];
    }


}

admin.php(Model 模型)

<?php

namespace app\admin\model;

use think\Model;

class Admin extends Model
{
    public function getLastTimeAttr($val)
    {
        return date('Y/m/d',$val);
    }

    public function setPasswordAttr($val)
    {
        return md5($val);
    }
}

admin_list.html

<!DOCTYPE html>
<html>
{include file='public/header' /}
    <body>
        <div class="x-nav">
            <span class="layui-breadcrumb">
              <a><cite>首页</cite></a>
              <a><cite>会员管理</cite></a>
              <a><cite>管理员列表</cite></a>
            </span>
            <a class="layui-btn layui-btn-small" style="line-height:1.6em;margin-top:3px;float:right"  href="javascript:location.replace(location.href);" title="刷新"><i class="layui-icon" style="line-height:30px">ဂ</i></a>
        </div>
        <div class="x-body">

            <table class="layui-table">
                <thead>
                    <tr>
                        <th>
                            ID
                        </th>
                        <th>
                            登录名
                        </th>
                        <th>
                            邮箱
                        </th>

                        <th>
                            登陆次数
                        </th>
                        <th>
                            最后登陆时间
                        </th>
                        <th>
                            操作
                        </th>
                    </tr>
                </thead>
                <tbody>
                    <tr>

                        <td>
                            {$admin.id}
                        </td>
                        <td>
                            {$admin.username}
                        </td>

                        <td >
                            {$admin.email}
                        </td>
                        <td>
                            {$admin.login_count}
                        </td>
                        <td >
                            {$admin.last_time}
                        </td>
                        <td class="td-manage">

                            <a title="编辑" href="javascript:;" onclick="admin_edit('编辑','{:url("admin/edit")}'+'?id='+{$admin.id},'4','','510')"
                            class="ml-5" style="text-decoration:none">
                                <i class="layui-icon">&#xe642;</i>
                            </a>

                        </td>
                    </tr>
                </tbody>
            </table>

            <div id="page"></div>
        </div>
        {include file="public/base_js" /}
        <script>
            layui.use(['laydate','element','laypage','layer'], function(){
                $ = layui.jquery;//jquery
                laydate = layui.laydate;//日期插件
                lement = layui.element();//面包导航

                layer = layui.layer;//弹出层

                //以上模块根据需要引入

                laypage({
                    cont: 'page'
                    ,pages: 100
                    ,first: 1
                    ,last: 100
                    ,prev: '<em><</em>'
                    ,next: '<em>></em>'
                });

            });


                //编辑
                function admin_edit(title, url, id, w, h) {
                    x_admin_show(title, url, w, h);
                }


        </script>


    </body>
</html>

admin_edit.html

<!DOCTYPE html>
<html>
    {include file='public/header' /}
    
    <body>
        <div class="x-body">
            <form class="layui-form">
                <div class="layui-form-item">
                    <label for="username" class="layui-form-label">
                        <span class="x-red">*</span>登录名
                    </label>
                    <div class="layui-input-inline">
                        <input type="text" id="username" name="username" required="" lay-verify="required" value="{$admin.username}"
                        autocomplete="off" class="layui-input" disabled>
                    </div>
                    <div class="layui-form-mid layui-word-aux">
                        <span class="x-red">*</span>用户名禁止修改
                    </div>
                </div>

                <div class="layui-form-item">
                    <label for="L_email" class="layui-form-label">
                        <span class="x-red">*</span>邮箱
                    </label>
                    <div class="layui-input-inline">
                        <input type="text" id="L_email" name="email" required="" lay-verify="email" value="{$admin.email}"
                        autocomplete="off" class="layui-input">
                    </div>
                    <div class="layui-form-mid layui-word-aux">
                        <span class="x-red">*</span>
                    </div>
                </div>

                <div class="layui-form-item">
                    <label for="L_pass" class="layui-form-label">
                        <span class="x-red">*</span>新密码
                    </label>
                    <div class="layui-input-inline">
                        <input type="password" id="L_pass" name="password" required="" lay-verify="password"
                        autocomplete="off" class="layui-input" value="" placeholder="密码">
                    </div>
                    <div class="layui-form-mid layui-word-aux">
                        6到16个字符
                    </div>
                </div>
                <!-- 添加隐藏字段 -->
                <input type="hidden" name="id" value="{$Think.session.user_info.id}">
                <input type="hidden" name="is_update" value="{$Think.session.user_info.is_update}">
                <div class="layui-form-item">
                    <label for="L_repass" class="layui-form-label">
                    </label>
                    <button  class="layui-btn" lay-filter="save" lay-submit="" id="submit"> 
                        保存
                    </button>
                </div>
            </form>
        </div>
       {include file="public/base_js" /}
        <script>
            layui.use(['form','layer'], function(){
                $ = layui.jquery;
              var form = layui.form()
              ,layer = layui.layer;
            });
        </script>
        <script>
            $(function(){
                $("#submit").on('click',function(){
                    $.ajax({
                        type: 'POST',
                        url: "{:url('admin/update')}",
                        data: $(".layui-form").serialize(),
                        dataType: "json",
                        success: function(data){
                            if (data.status == 1) {
                                alert(data.message);
                                window.location.href = "{:url('admin/index')}";
                            } else {
                                alert(data.message);
                                window.location.href = "{:url('admin/edit')}";
                            }
                        }
                    })
                })
            })
        </script>
    </body>

</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值