'Username and password required']); exit; } // Check if user exists $stmt = $pdo->prepare("SELECT id FROM users WHERE username = ?"); $stmt->execute([$username]); if ($stmt->fetch()) { http_response_code(409); echo json_encode(['error' => 'Username already taken']); exit; } // Hash password $hash = password_hash($password, PASSWORD_DEFAULT); // Insert user $stmt = $pdo->prepare("INSERT INTO users (username, password) VALUES (?, ?)"); if ($stmt->execute([$username, $hash])) { $userId = $pdo->lastInsertId(); $_SESSION['user_id'] = $userId; $_SESSION['username'] = $username; echo json_encode(['ok' => true, 'user' => ['id' => $userId, 'username' => $username]]); } else { http_response_code(500); echo json_encode(['error' => 'Registration failed']); } ?>