alert('角色名称不能为空');location.href='system_manage.php?tab=role';"; exit; } if ($roleId == 0) { mysqli_query($conn, "INSERT INTO sys_role(role_name) VALUES('".mysqli_real_escape_string($conn,$roleName)."')"); $roleId = mysqli_insert_id($conn); } else { mysqli_query($conn, "UPDATE sys_role SET role_name='".mysqli_real_escape_string($conn,$roleName)."' WHERE id=$roleId"); mysqli_query($conn, "DELETE FROM sys_role_permission WHERE role_id=$roleId"); } foreach ($pages as $page) { $page = mysqli_real_escape_string($conn, $page); mysqli_query($conn, "INSERT IGNORE INTO sys_role_permission(role_id,page_key) VALUES($roleId,'$page')"); } echo ""; exit; } if (!empty($_GET['del_role'])) { $delId = intval($_GET['del_role']); mysqli_query($conn, "DELETE FROM sys_role_permission WHERE role_id=$delId"); mysqli_query($conn, "DELETE FROM sys_role WHERE id=$delId"); header("Location: system_manage.php?tab=role"); exit; } $editRole = ['id'=>0,'role_name'=>'','perms'=>[]]; if (!empty($_GET['edit_role'])) { $eid = intval($_GET['edit_role']); $er = mysqli_fetch_assoc(mysqli_query($conn, "SELECT * FROM sys_role WHERE id=$eid")); if ($er) { $editRole = $er; $permRes = mysqli_query($conn, "SELECT page_key FROM sys_role_permission WHERE role_id=$eid"); while ($p = mysqli_fetch_assoc($permRes)) $editRole['perms'][] = $p['page_key']; } } $roleList = []; $roleRes = mysqli_query($conn, "SELECT * FROM sys_role ORDER BY id DESC"); while ($r = mysqli_fetch_assoc($roleRes)) $roleList[] = $r; // ========== 用户操作逻辑(修复入库逻辑) ========== if ($_POST['act'] == "save_user") { $uid = intval($_POST['user_id'] ?? 0); $username = trim($_POST['username']); $realName = trim($_POST['real_name']); $roleId = intval($_POST['role_id']); $pwd = trim($_POST['password']); $status = intval($_POST['status']); if (empty($username) || empty($realName) || $roleId == 0) { echo ""; exit; } if ($uid == 0) { // 新建用户必须填写密码,使用password_hash加密(和登录校验一致) if (empty($pwd)) { echo ""; exit; } $pwdHash = password_hash($pwd, PASSWORD_DEFAULT); // 适配monitor库sys_user真实字段:uid自动生成、enable状态、is_admin默认0 $insertSql = "INSERT INTO sys_user(username,real_name,password,role_id,enable,is_admin) VALUES('".mysqli_real_escape_string($conn,$username)."','".mysqli_real_escape_string($conn,$realName)."','$pwdHash',$roleId,$status,0)"; mysqli_query($conn, $insertSql); } else { // 编辑用户,密码留空不修改 $updateSql = "UPDATE sys_user SET username='".mysqli_real_escape_string($conn,$username)."', real_name='".mysqli_real_escape_string($conn,$realName)."', role_id=$roleId, enable=$status WHERE id=$uid"; if (!empty($pwd)) { $pwdHash = password_hash($pwd, PASSWORD_DEFAULT); $updateSql .= ", password='$pwdHash'"; } mysqli_query($conn, $updateSql); } echo ""; exit; } if (!empty($_GET['del_user'])) { $delId = intval($_GET['del_user']); mysqli_query($conn, "DELETE FROM sys_user_msg WHERE user_id=$delId"); mysqli_query($conn, "DELETE FROM sys_user WHERE id=$delId"); header("Location: system_manage.php?tab=user"); exit; } // 角色下拉选项 $roleOptionHtml = ""; $roleDropRes = mysqli_query($conn, "SELECT id,role_name FROM sys_role"); while ($r = mysqli_fetch_assoc($roleDropRes)) { $roleOptionHtml .= ""; } // 用户列表 $userList = []; $uRes = mysqli_query($conn, "SELECT u.*,r.role_name FROM sys_user u LEFT JOIN sys_role r ON u.role_id=r.id ORDER BY u.id DESC"); while ($u = mysqli_fetch_assoc($uRes)) $userList[] = $u; // 编辑用户数据 $editUser = ['id'=>0,'username'=>'','real_name'=>'','role_id'=>0,'status'=>1]; if (!empty($_GET['edit_user'])) { $eid = intval($_GET['edit_user']); $eu = mysqli_fetch_assoc(mysqli_query($conn, "SELECT * FROM sys_user WHERE id=$eid")); if ($eu) $editUser = $eu; } // 全部页面权限清单 $allPagePerms = [ ['key'=>'dashboard','name'=>'告警总览'], ['key'=>'work_order','name'=>'工单系统'], ['key'=>'disk','name'=>'磁盘容量'], ['key'=>'history_query','name'=>'历史查询'], ['key'=>'smtp_config','name'=>'消息通知配置'], ['key'=>'system_manage','name'=>'系统权限管理'], ]; ?>