# :-: 加载首页代码
~~~
//用户列表展示
public function index(){
$users = \app\admin\model\Users::all();
static $roles=[] ;
foreach( $users as $v){
$v['role_id'] =explode(',',$v['role_id']);
}
//循环数据页面展示效果
foreach($users as $v) {
foreach($v['role_id'] as $c){
$roles[] = \app\admin\model\Role::where('id',$c)->find();
}
}
return view('',compact('users','roles'));
}
~~~
![](https://box.kancloud.cn/0c7715ed7e65b67eacbf2177d3b94371_2986x424.png)
# :-: Html 代码
~~~
{include file='common/father_css'/}
<body class="gray-bg">
<div class="wrapper wrapper-content animated fadeInRight">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5>所有栏目</h5>
</div>
<div class="ibox-content">
<div class="table-responsive">
<form name="myform" id="myform" method="post">
<table class="table table-striped">
<thead>
<tr>
<th>id</th>
<th>账号</th>
<th>是否是管理员</th>
<th>权限列表</th>
<th>操作</th>
</tr>
</thead>
<tbody>
{foreach $users as $v}
<tr>
<td>
{$v['id']}
</td>
<td>
{$v.usename}
</td>
<td >
{eq name='$v->is_admin' value='1'}管理员{/eq}
{eq name='$v->is_admin' value='0'}普通会员{/eq}
</td>
<td>
{foreach $roles as $c}
<span class="text-danger">{$c->role_name},</span>
{/foreach}
</td>
<td>
<div class="layui-table-cell laytable-cell-1-0-10">
<a class="layui-btn layui-btn-xs" lay-event="edit" href="{:url('admin/admin/member',['id'=>$v['id']])}">编辑</a>
<a class="layui-btn layui-btn-xs" lay-event="edit" href="{:url('admin/users/add',['id'=>$v['id']])}">设置权限 </a>
{eq name='$v->id' value='session('uid')'}
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del" onclick="del({$v.id})">删除</a>
<a class="layui-btn layui-btn-xs" lay-event="edit" href="{:url('admin/users/add',['id'=>$v['id']])}">设置权限 </a>
{/eq}
</div>
</td>
</tr>
{/foreach}
</tbody>
</table>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- 全局js -->
<script>
function del(id) {
swal({
title: "确定删除吗?",
text: "你将无法回复该用户,点击空白区,取消选框",
type: "warning",
showCancelButton: true,
confirmButtonColor: "#DD6B55",
confirmButtonText: "确定删除!",
cancelButtonText: "取消删除!",
closeOnConfirm: false,
closeOnCancel: false
}).then(
function(isConfirm){
if (isConfirm) {
//或者id ,传递给后台
window.location.href = "/admin/friendly/delete/id/"+id
} else {
swal("取消!", "你的权限删除结束)",
"error");
}
});
}
</script>
</body>
</html>
~~~
# :-: 添加权限代码
~~~
//用户添加角色
public function add(Request $request){
$id = $request->param('id');
$roles = \app\admin\model\Role::all();
return view('',compact('roles','id'));
}
//用户添加角色修改
public function addSave(Request $request){
$data = $request->param();
$id = $request->param('id');
$data['role_id'] = implode(',',$data['role_id']);
unset($data['id']);
$info = Db::table('user')->where('id',$id)->data($data)->update();
if ($info){
$this->success('角色添加成功','/admin/users/index');
}
}
~~~
# :-: Html 代码
~~~
{include file='common/father_css'/}
<body class="gray-bg">
<div class="wrapper wrapper-content animated fadeInRight">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5 class="text-danger">选择角色</h5>
</div>
<div class="ibox-content">
<div class="table-responsive">
<form method="post" class="form-horizontal layui-form"
action="{:url('admin/users/addSave')}">
<input type="hidden" name="id" value="{$id}">
<div class="layui-form-item">
<div class="layui-input-block">
{foreach $roles as $role}
<input type="checkbox" name="role_id[]" title="{$role.role_name}" value="{$role.id}" >
{/foreach}
</div>
</div>
<div class="hr-line-dashed"></div>
<div class="col-sm-12 text-center">
<button class="btn-sm btn-danger layui-btn-radius" type="submit">保存角色</button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- 全局js -->
<script>
layui.use(['form', 'layedit', 'laydate'], function(){
var form = layui.form
,layer = layui.layer
,layedit = layui.layedit
,laydate = layui.laydate;
//日期
laydate.render({
elem: '#date'
});
laydate.render({
elem: '#date1'
});
//创建一个编辑器
var editIndex = layedit.build('LAY_demo_editor');
//自定义验证规则
form.verify({
title: function(value){
if(value.length < 5){
return '标题至少得5个字符啊';
}
}
,pass: [
/^[\S]{6,12}$/
,'密码必须6到12位,且不能出现空格'
]
,content: function(value){
layedit.sync(editIndex);
}
});
//监听指定开关
form.on('switch(switchTest)', function(data){
layer.msg('开关checked:'+ (this.checked ? 'true' : 'false'), {
offset: '6px'
});
layer.tips('温馨提示:请注意开关状态的文字可以随意定义,而不仅仅是ON|OFF', data.othis)
});
//监听提交
form.on('submit(demo1)', function(data){
layer.alert(JSON.stringify(data.field), {
title: '最终的提交信息'
})
return false;
});
//表单初始赋值
form.val('example', {
"username": "贤心" // "name": "value"
,"password": "123456"
,"interest": 1
,"like[write]": true //复选框选中状态
,"close": true //开关状态
,"sex": "女"
,"desc": "我爱 layui"
}
});
</script>
</body>
</html>
~~~
![](https://box.kancloud.cn/5ad11b25801ad926a1689193ef8d871c_3310x426.png)
- Tp 框架5.1安装
- Tp 资源控制器创建跟非资源控制器
- Tp 自定义目录
- Tp 链接传参,地址栏获取参数
- Tp ajax 异步提交数据
- Tp 模型里面指定开启时间戳
- Tp加载验证码
- Tp 模版
- Tp 模版继承
- Tp模版页面If 条件 及session存储 取出
- Tp 默认在模版页面指定内容
- Tp 模版页面获取session
- Tp验证器
- Tp 自定义验证
- Thinkphp 模型验证规则使用
- Tp 文件上传
- Tp 实现注册自动登录
- Tp 编辑器
- Tp 结合 Markdown里面的editor编辑器
- Tp Marckdown 编辑模版输出
- Tp 搜索功能
- Tp 点赞 收藏
- Tp 基本权限
- Tp 创建验证器
- Sweetalert 弹出框 引用
- Tp 网站 开启 关闭功能
- Tp 网站 开启 注册功能
- Tq QQ登录
- Tp 邮箱注册 验证
- Tp 无限极分类
- Tp 路由
- Tp RBAC权限 适合于任何框架
- 创建权限模型,控制器,验证规则
- 创建角色 控制器 模型 验证规则
- 用户角色设置
- 权限验证
- Tp auth 权限
- 第一部 auth 安装
- 第二部 创建 三张数据库
- 第三部 创建用户控制器
- 第四部 创建规则表
- 规则表基本操作
- 1 规则页面加载
- 2 添加规则
- 3 编辑规则
- 4 删除规则
- 第五部 创建用户组
- 用户组基本操作
- 第一步 展示用户组首页
- 第二步 添加用户组
- 第三步 编辑用户组
- 第四部 删除用户组
- 第六步设置权限
- 第一步 创建 模型 控制器
- 第二步 首页显示
- 第三部 设置用户权限
- 第七步 执行权限认证
- 备注 附加规则原理
- Tp 数据库
- 外键约束
- Tp 结合layui 上传
- Layui 编辑器 前端展示
- Tp 模版eq
- Tp 删除
- Tp session 处理
- Tp cache缓存方法
- Tp 后台验证管理员登录
- 前台Nav 导航
- 左边导航
- Tp 批量删除
- O2O
- Tp框架插入数据自带时间戳
- Tp 结合layui 分页
- Tp 整合百度地图
- Tp 结合城市三级联动
- 密码验证
- 团购时间
- Tp模板时间修改
- 安卓App 平台入驻上线
- Api 接口返回
- Thinkphp 生成5.1二维码
- 回调Api
- layui 关闭框 刷新
- Layui 监听
- 判断是否是pc端 手机端
- Lauyi 自动转换时间
- Tp 增加时间
- ajax 同步 异步处理
- 弹出框
- 传输数据编辑
- 上传 引用 uploadify
- js 收缩
- Tp 增加数据表
- Tp-前置钩子
- 删除代码
- 适合tp5.0描述文字过长
- php 三级城市城市表带数据
- layu结合 tp table数据数组循环
- layui 解决数据为NUll 错误代码