摘要:管理员控制器代码<?php /** * Created by PhpStorm. * User: Administrator * Date: 2019/2/5 * Time: 1:12 */ namespace app\admin\
管理员控制器代码
<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2019/2/5
* Time: 1:12
*/
namespace app\admin\controller;
use think\Controller;
use think\facade\Request;
use app\admin\model\UserModel;
class User extends Controller
{
public function list()
{
$data = UserModel::paginate(1);
$this->view->assign('data',$data);
return $this->view->fetch();
}
//渲染添加页面
public function add()
{
return $this->view->fetch();
}
//执行添加操作
public function doAdd()
{
$data = Request::param();
$username = $data['username'];
$res = UserModel::get(function ($query) use($username){
$query->where('username',$username);
});
if($res){
return ['status'=>1,'msg'=>'用户名已存在'];
}
$data['add_time'] = time();
$data['password'] = sha1($data['password']);
if(UserModel::create($data,true)){
return ['status'=>0,'msg'=>'添加成功'];
}else{
return ['status'=>1,'msg'=>'添加失败'];
}
}
//编辑页面
public function edit()
{
$user_id = Request::param('user_id');
$user = UserModel::get($user_id);
$this->view->user = $user;
return $this->view->fetch();
}
//编辑
public function doEdit()
{
$data = Request::param();
if(UserModel::update($data)){
return ['status'=>0,'msg'=>'修改成功'];
}else{
return ['status'=>1,'msg'=>'修改失败'];
}
}
//删除
public function delete()
{
$user_id = Request::param();
UserModel::destroy($user_id);
return ['status'=>0,'msg'=>'删除成功'];
}
}管理员模型代码
<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2019/2/11
* Time: 23:24
*/
namespace app\admin\model;
use think\Model;
class UserModel extends Model
{
protected $table = 'user';
protected $pk = 'user_id';
}管理员列表页面
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>PHP中文网后台管理系统</title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" />
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
<link rel="stylesheet" href="__ADMIN__/css/font.css">
<link rel="stylesheet" href="__ADMIN__/css/xadmin.css">
<script type="text/javascript" src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript" src="__ADMIN__/lib/layui/layui.js" charset="utf-8"></script>
<script type="text/javascript" src="__ADMIN__/js/xadmin.js"></script>
<!-- 让IE8/9支持媒体查询,从而兼容栅格 -->
<!--[if lt IE 9]>
<script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
<script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div class="x-nav">
<span class="layui-breadcrumb">
<a href="">首页</a>
<a href="">演示</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>
<xblock>
<button class="layui-btn" onclick="x_admin_show('添加用户','{:url(\'user/add\')}')"><i class="layui-icon"></i>添加</button>
<span class="x-right" style="line-height:40px">共有数据:88 条</span>
</xblock>
<table class="layui-table">
<thead>
<tr>
<th>ID</th>
<th>登录名</th>
<th>手机</th>
<th>邮箱</th>
<th>加入时间</th>
<th>操作</th>
</thead>
<tbody>
{volist name="data" id="vo"}
<tr>
<td>{$vo.user_id}</td>
<td>{$vo.username}{if $vo.delete_time}<span style="color:red;">(已删除)</span>{/if}</td>
<td>{$vo.phone}</td>
<td>{$vo.email}</td>
<td>{$vo.add_time|date='Y-m-d H:i:s'}</td>
<td class="td-manage">
<a title="编辑" onclick="x_admin_show('编辑','{:url(\'edit\')}?user_id={$vo.user_id}')" href="javascript:;">
<i class="layui-icon"></i>
</a>
<a title="删除" onclick="member_del(this,'{$vo.user_id}')" href="javascript:;">
<i class="layui-icon"></i>
</a>
</td>
</tr>
{/volist}
</tbody>
</table>
<div class="page">
{$data|raw}
</div>
</div>
<script>
layui.use('laydate', function(){
var laydate = layui.laydate;
//执行一个laydate实例
laydate.render({
elem: '#start' //指定元素
});
//执行一个laydate实例
laydate.render({
elem: '#end' //指定元素
});
});
/*用户-停用*/
function member_stop(obj,id){
layer.confirm('确认要停用吗?',function(index){
if($(obj).attr('title')=='启用'){
//发异步把用户状态进行更改
$(obj).attr('title','停用')
$(obj).find('i').html('');
$(obj).parents("tr").find(".td-status").find('span').addClass('layui-btn-disabled').html('已停用');
layer.msg('已停用!',{icon: 5,time:1000});
}else{
$(obj).attr('title','启用')
$(obj).find('i').html('');
$(obj).parents("tr").find(".td-status").find('span').removeClass('layui-btn-disabled').html('已启用');
layer.msg('已启用!',{icon: 5,time:1000});
}
});
}
/*用户-删除*/
function member_del(obj,id){
layer.confirm('确认要删除吗?',function(index){
//发异步删除数据
$.post('{:url("delete")}',{user_id:id},function (res) {
if(res.status==0){
$(obj).parents("tr").remove();
layer.msg('已删除!',{icon:6,time:1000});
}
});
});
}
function delAll (argument) {
var data = tableCheck.getData();
layer.confirm('确认要删除吗?'+data,function(index){
//捉到所有被选中的,发异步进行删除
layer.msg('删除成功', {icon: 1});
$(".layui-form-checked").not('.header').parents('tr').remove();
});
}
</script>
<script>var _hmt = _hmt || []; (function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?b393d153aeb26b46e9431fabaf0f6190";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();</script>
</body>
</html>管理员添加页面
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>PHP中文网后台管理系统</title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" />
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
<link rel="stylesheet" href="__ADMIN__/css/font.css">
<link rel="stylesheet" href="__ADMIN__/css/xadmin.css">
<script type="text/javascript" src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript" src="__ADMIN__/lib/layui/layui.js" charset="utf-8"></script>
<script type="text/javascript" src="__ADMIN__/js/xadmin.js"></script>
</head>
<body>
<div class="x-body">
<form class="layui-form" action="{:url('user/doAdd')}" method="post">
<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"
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="phone" class="layui-form-label">
<span class="x-red">*</span>手机
</label>
<div class="layui-input-inline">
<input type="text" id="phone" name="phone" required="" lay-verify="phone"
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="email" class="layui-form-label">
<span class="x-red">*</span>邮箱
</label>
<div class="layui-input-inline">
<input type="text" id="email" name="email" required="" lay-verify="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="pass"
autocomplete="off" class="layui-input">
</div>
<div class="layui-form-mid layui-word-aux">
6到16个字符
</div>
</div>
<div class="layui-form-item">
<label for="L_repass" class="layui-form-label">
<span class="x-red">*</span>确认密码
</label>
<div class="layui-input-inline">
<input type="password" id="L_repass" name="repass" required="" lay-verify="repass"
autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<button class="layui-btn" lay-filter="add" lay-submit="">
增加
</button>
</div>
</form>
</div>
<script>
layui.use(['form','layer'], function(){
$ = layui.jquery;
var form = layui.form
,layer = layui.layer;
//自定义验证规则
form.verify({
nikename: function(value){
if(value.length < 5){
return '昵称至少得5个字符啊';
}
}
,pass: [/(.+){6,12}$/, '密码必须6到12位']
,repass: function(value){
if($('#L_pass').val()!=$('#L_repass').val()){
return '两次密码不一致';
}
}
});
//监听提交
form.on('submit(add)', function(data){
console.log(data);
//发异步,把数据提交给php
$.post('{:url("user/doAdd")}',{
username:$('#username').val(),
phone:$('#phone').val(),
email:$('#email').val(),
password:$('#L_pass').val(),
repass:$('#L_repass').val()
},function (res) {
var icon;
if(res.status==0){
icon = 6;
}else{
icon = 3;
}
layer.alert(res.msg, {icon: icon},function () {
// 获得frame索引
var index = parent.layer.getFrameIndex(window.name);
//关闭当前frame
parent.layer.close(index);
});
});
return false;
});
});
</script>
<script>var _hmt = _hmt || []; (function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?b393d153aeb26b46e9431fabaf0f6190";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();</script>
</body>
</html>管理员编辑页面
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>PHP中文网后台管理系统</title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" />
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
<link rel="stylesheet" href="__ADMIN__/css/font.css">
<link rel="stylesheet" href="__ADMIN__/css/xadmin.css">
<script type="text/javascript" src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript" src="__ADMIN__/lib/layui/layui.js" charset="utf-8"></script>
<script type="text/javascript" src="__ADMIN__/js/xadmin.js"></script>
</head>
<body>
<div class="x-body">
<form class="layui-form" action="{:url('user/doAdd')}" method="post">
<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" value="{$user.username}" required="" lay-verify="required"
autocomplete="off" class="layui-input">
<input type="hidden" id="user_id" name="user_id" value="{$user.user_id}">
</div>
<div class="layui-form-mid layui-word-aux">
<span class="x-red">*</span>将会成为您唯一的登入名
</div>
</div>
<div class="layui-form-item">
<button class="layui-btn" lay-filter="add" lay-submit="">
修改
</button>
</div>
</form>
</div>
<script>
layui.use(['form','layer'], function(){
$ = layui.jquery;
var form = layui.form
,layer = layui.layer;
//监听提交
form.on('submit(add)', function(data){
console.log(data);
//发异步,把数据提交给php
$.post('{:url("user/doEdit")}',{
username:$('#username').val(),
user_id:$('#user_id').val(),
},function (res) {
var icon;
if(res.status==0){
icon = 6;
}else{
icon = 3;
}
layer.alert(res.msg, {icon: icon},function () {
// 获得frame索引
var index = parent.layer.getFrameIndex(window.name);
//关闭当前frame
parent.layer.close(index);
});
});
return false;
});
});
</script>
<script>var _hmt = _hmt || []; (function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?b393d153aeb26b46e9431fabaf0f6190";
&am
批改老师:韦小宝批改时间:2019-02-13 15:47:06
老师总结:写的很不错 基本上模块的增删改查都差不多 无非就是业务逻辑的不一样!