摘要:<!DOCTYPE html><html><head> <title></title> <link rel="stylesheet" type="text/css" href="/static/admin/layui/cs
<!DOCTYPE html>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="/static/admin/layui/css/layui.css">
<script type="text/javascript" src="/static/admin/layui/layui.js"></script>
</head>
<body style="padding: 10px;">
<form class="layui-form">
<input type="hidden" name="id">
<div class="layui-form-item">
<label class="layui-form-label">用户名</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" name="username" value="{:isset($res.username)?$res.username:''}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">角色</label>
<div class="layui-input-inline">
<select name="gid">
<option value="1">系统管理员</option>
<option value="2">开发人员</option>
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">密码</label>
<div class="layui-input-inline">
<input type="password" class="layui-input" name="password">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">姓名</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" name="truename" value="{:isset($res.truename)?$res.truename:''}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">状态</label>
<div class="layui-input-inline">
<input type="checkbox" name="status" lay-skin="primary" title="禁用" value="1" {$res.status==1?'checked':''}>
</div>
</div>
</form>
<input type="hidden" id="id" value="{:isset($res.id)?$res.id:-1}">
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn" id="save">保存</button>
</div>
</div>
</body>
</html>
<script src="/static/jquery-3.1.1.min.js"></script>
<script type="text/javascript">
layui.use(['layer','form'],function(){
var form = layui.form;
layer = layui.layer;
});
//清空输入框内容
function clear(){
$("input[name='username']").val('');
$("input[name='password']").val('');
$("input[name='truename']").val('');
$("input[type='checkbox']").removeAttr('checked');
}
$("#save").click(function(){
//去掉前后空格转换成小写
var username = $.trim($("input[name='username']").val());
username = username.toLowerCase();
var password = $.trim($("input[name='password']").val());
password = password.toLowerCase();
var truename = $.trim($("input[name='truename']").val());
//获取角色id
var gid = $('select[name="gid"]').val();
//获取隐藏id 添加数据时id为-1
var id = $('#id').val();
//判断用户名是否为空
if(username==''){
alert('用户名不能为空');
return false;
}
//判断密码是否为空 修改数据时不显示原密码 原密码可不修改
//添加数据时密码不能为空
if(id==-1&& password==''){
alert('密码不能为空');
return false;
}
if(truename==""){
alert('真实姓名不能为空');
return false;
}
$.post("{:url('save')}",{
username:username,
password:password,
truename:truename,
status:$("input[name='status']:checked").val(),
gid:gid,
//添加数据时id为-1
id:id
}, function(data){
if(data.status>0){
alert(data.msg);
clear();
}else{
layer.msg(data.msg);
setTimeout(function(){window.location.href="{:url('index')}"},1000);
}
});
});
</script>
<?php
namespace app\admin\controller;
use think\Controller;
use app\admin\model\Admin as AdminModel;
use think\facade\Request;
use think\facade\Session;
//引入公共类
use app\admin\controller\Common;
class Admin extends Common
{
//渲染管理员列表
public function index(){
$res = AdminModel::order('id','asc')->all();
$this->assign('lists',$res);
return $this->fetch();
}
//添加修改共用一个页面根据id判断
public function create(){
//有id值为修改页面 没有为添加页面
$id = (int)Request::param('id');
//添加不传id 为undefined int转换为0
if($id!=0){
//根据id查询对应数据 渲染修改页面
$res = AdminModel::get($id);
$this->assign('res',$res);
}else{
//添加数据时状态为0
$res['status']=0;
$this->assign('res',$res);
}
return $this->fetch();
}
//保存添加或修改的数据
public function save(){
$data = Request::param();
//id小于0为添加数据 大于0为修改后更新的数据
if($data['id']<0){
$username = AdminModel::where('username',$data['username'])->find();
$pwd = AdminModel::where('password',md5($data['password']))->find();
//判断用户名是否存在
if($username['username']==$data['username']){
return ['status'=>1,'msg'=>'用户名存在'];
}
//判断密码是否存在
if($pwd['password']==md5($data['password'])){
return ['status'=>1,'msg'=>'密码重复'];
}
//将数据写入数据库
$res = AdminModel::create([
'username'=>$data['username'],
'password'=>md5($data['password']),
'truename'=>$data['truename'],
'gid'=>$data['gid'],
'add_time'=>time(),
//未选中值为undefined
'status'=>isset($data['status'])?$data['status']:0,
]);
}else{
$updateUsername = AdminModel::where('id','<>',$data['id'])->where('username',$data['username'])->find();
$updatePwd = AdminModel::where('id','<>',$data['id'])->where('password',$data['password']==''?$data['password']:md5($data['password']))->find();
//判断用户名是否存在
if($updateUsername['username']==$data['username']){
return ['status'=>1,'msg'=>'用户名存在'];
}
//判断密码是否存在 密码为空为原始密码不修改
if($data['password']==''){
$arr = [
'username'=>$data['username'],
'truename'=>$data['truename'],
'gid'=>$data['gid'],
'add_time'=>time(),
//未选中值为undefined
'status'=>isset($data['status'])?$data['status']:0,
];
}else{
if($updatePwd['password']==$data['password']){
return ['status'=>1,'msg'=>'密码存在'];
}
$arr = [
'username'=>$data['username'],
'password'=>md5($data['password']),
'truename'=>$data['truename'],
'gid'=>$data['gid'],
'add_time'=>time(),
//未选中值为undefined
'status'=>isset($data['status'])?$data['status']:0,
];
}
//更新数据库
$res = AdminModel::where('id',$data['id'])->update($arr);
}
if($res){
return ['status'=>0,'msg'=>'保存成功'];
}else{
return ['status'=>1,'msg'=>'保存失败'];
}
}
public function delete(){
$id = Request::param('id');
//软删除
$res = AdminModel::destroy($id);
if($res){
return ['status'=>0,'msg'=>'删除成功'];
}else{
return ['status'=>1,'msg'=>'删除失败'];
}
}
}
批改老师:韦小宝批改时间:2018-11-16 09:04:17
老师总结:下次的代码记得添加高亮!不然看的并不太清楚哦!代码内容写的还算可以!但是每块之间的关系并没有注明啊!!