## 代码
```
<?php
namespace app\agent\controller;
use think\Controller;
use think\Db;
class UserController extends Controller
{
/**
* 管理员编辑提交
*/
public function editPost()
{
if ($this->request->isPost()) {
if (!empty($_POST['role_id']) && is_array($_POST['role_id'])) {
if (empty($_POST['user_pass'])) {
unset($_POST['user_pass']);
} else {
$_POST['user_pass'] = cmf_password($_POST['user_pass']);
}
$role_ids = $this->request->param('role_id/a');
unset($_POST['role_id']);
$result = $this->validate($this->request->param(), 'User.edit');
if ($result !== true) {
// 验证失败 输出错误信息
$this->error($result);
} else {
$result = DB::name('user')->update($_POST);
if ($result !== false) {
$uid = $this->request->param('id', 0, 'intval');
DB::name("RoleUser")->where(["user_id" => $uid])->delete();
foreach ($role_ids as $role_id) {
if (cmf_get_current_admin_id() != 1 && $role_id == 1) {
$this->error("为了网站的安全,非网站创建者不可创建超级管理员!");
}
DB::name("RoleUser")->insert(["role_id" => $role_id, "user_id" => $uid]);
}
$this->success("保存成功!");
} else {
$this->error("保存失败!");
}
}
} else {
$this->error("请为此用户指定角色!");
}
}
}
}
```
- 附录
- 逻辑与数据模型
- HTML约定-bootstrap
- HTML约定-LayUI
- 角色管理 role
- 数据表
- 列表
- 控制器
- 视图
- 视图-layui
- 角色添加
- 控制器
- 视图
- 角色添加提交
- 控制器
- 验证
- 角色修改
- 控制器
- 视图
- 角色修改提交
- 控制器
- 角色删除
- 控制器
- 权限设置
- 控制器
- 视图
- 模型
- 权限设置提交
- 用户 user
- 数据表
- 列表
- 控制器
- 视图
- 模型
- 添加
- 控制器
- 视图
- 添加提交
- 控制器
- 验证器
- 编辑
- 控制器
- 视图
- 编辑提交
- 控制器
- 验证器
- 删除
- 停用启用
- 角色用户中间表role_user
- 菜单管理
- 数据表
- 表格折叠列表
- 控制器
- 视图
- 全部列表
- 控制器
- 视图
- 填加
- 控制器
- 视图
- 填加提交
- 控制器
- 验证器
- 编辑
- 控制器
- 视图
- 编辑提交
- 控制器
- 验证器
- 删除
- 控制器
- 视图
- 导入菜单
- 视图
- 控制器
- 特别注意
- annotation
- 导出菜单
- 视图
- 控制器
- 排序
- 控制器
- 视图
- 模型