diff --git a/admin.html b/admin.html
index 52617c3..09b7071 100644
--- a/admin.html
+++ b/admin.html
@@ -1281,7 +1281,7 @@
-
+
bind_param("s", $username);
-$stmt->execute();
-$result = $stmt->get_result();
+try {
+ // Check if username already exists
+ $stmt = $c->prepare("SELECT id FROM users WHERE username = ?");
+ $stmt->bind_param("s", $username);
+ $stmt->execute();
+ $result = $stmt->get_result();
-if ($result->fetch_assoc()) {
- echo json_encode(['status' => 'error', 'message' => 'Username sudah digunakan']);
- exit;
-}
-
-$passwordHash = password_hash($password, PASSWORD_DEFAULT);
-$stmt = $c->prepare("INSERT INTO users (username, password) VALUES (?, ?)");
-$stmt->bind_param("ss", $username, $passwordHash);
-
-if ($stmt->execute()) {
- echo json_encode(['status' => 'success', 'message' => 'Registrasi berhasil, silakan login']);
-} else {
- echo json_encode(['status' => 'error', 'message' => 'Gagal mendaftar akun']);
+ if ($result->fetch_assoc()) {
+ echo json_encode(['status' => 'error', 'message' => 'Username sudah digunakan']);
+ exit;
+ }
+
+ $passwordHash = password_hash($password, PASSWORD_DEFAULT);
+ $stmt = $c->prepare("INSERT INTO users (username, password) VALUES (?, ?)");
+ $stmt->bind_param("ss", $username, $passwordHash);
+
+ if ($stmt->execute()) {
+ echo json_encode(['status' => 'success', 'message' => 'Registrasi berhasil, silakan login']);
+ } else {
+ echo json_encode(['status' => 'error', 'message' => 'Gagal mendaftar akun']);
+ }
+} catch (mysqli_sql_exception $e) {
+ http_response_code(500);
+ echo json_encode([
+ 'status' => 'error',
+ 'message' => 'Terjadi kesalahan server saat registrasi',
+ 'error_detail' => $e->getMessage() // Detail error SQL
+ ]);
}