ไม่พบผู้ใช้'; require_once __DIR__ . '/../includes/footer.php'; exit; } $curricula = getCurricula(); $error = ''; $message = ''; if ($_SERVER['REQUEST_METHOD'] === 'POST') { $staff_code = trim($_POST['staff_code'] ?? ''); $name = trim($_POST['name'] ?? ''); $email = trim($_POST['email'] ?? ''); $curriculum_id = !empty($_POST['curriculum_id']) ? intval($_POST['curriculum_id']) : null; $role = $_POST['role'] ?? 'advisor'; $password = trim($_POST['password'] ?? ''); if (empty($staff_code) || empty($name) || empty($email)) { $error = 'กรุณากรอกข้อมูลให้ครบถ้วน'; } else { try { $db = getDB(); $stmt = $db->prepare("SELECT COUNT(*) FROM users WHERE staff_code = ? AND id != ?"); $stmt->execute([$staff_code, $id]); if ($stmt->fetchColumn() > 0) { $error = 'รหัสบุคลากรนี้มีผู้ใช้อื่นใช้อยู่แล้ว'; } else { if (!empty($password)) { $stmt = $db->prepare("UPDATE users SET staff_code=?, name=?, email=?, curriculum_id=?, role=?, password=? WHERE id=?"); $stmt->execute([$staff_code, $name, $email, $curriculum_id, $role, password_hash($password, PASSWORD_DEFAULT), $id]); } else { $stmt = $db->prepare("UPDATE users SET staff_code=?, name=?, email=?, curriculum_id=?, role=? WHERE id=?"); $stmt->execute([$staff_code, $name, $email, $curriculum_id, $role, $id]); } $message = 'บันทึกการแก้ไขเรียบร้อย'; $user = getUser($id); } } catch (PDOException $e) { $error = 'เกิดข้อผิดพลาด: ' . $e->getMessage(); } } } ?>