'error','message'=>'Metode tidak diizinkan']); exit(); } require_once 'db_config.php'; $data = json_decode(file_get_contents('php://input'), true); $username = isset($data['username']) ? trim($data['username']) : ''; $nama = isset($data['nama_lengkap'])? trim($data['nama_lengkap']): ''; $password = isset($data['password']) ? $data['password'] : ''; $role = isset($data['role']) ? trim($data['role']) : 'operator'; if (empty($username) || empty($nama) || empty($password)) { echo json_encode(['status'=>'error','message'=>'Semua field wajib diisi']); exit(); } if (strlen($password) < 6) { echo json_encode(['status'=>'error','message'=>'Password minimal 6 karakter']); exit(); } if (!in_array($role, ['admin','operator'])) { echo json_encode(['status'=>'error','message'=>'Role tidak valid']); exit(); } // Cek username sudah ada $chk = $conn->prepare("SELECT id FROM users WHERE username = ?"); $chk->bind_param('s', $username); $chk->execute(); if ($chk->get_result()->num_rows > 0) { echo json_encode(['status'=>'error','message'=>'Username sudah digunakan']); exit(); } $chk->close(); $hashed = password_hash($password, PASSWORD_DEFAULT); $stmt = $conn->prepare("INSERT INTO users (username, password, nama_lengkap, role) VALUES (?,?,?,?)"); $stmt->bind_param('ssss', $username, $hashed, $nama, $role); if ($stmt->execute()) { echo json_encode(['status'=>'success','message'=>'Akun berhasil dibuat','id'=>$conn->insert_id]); } else { echo json_encode(['status'=>'error','message'=>'Gagal membuat akun']); } $stmt->close(); $conn->close(); ?>