connect_error) { die("Connection failed: " . $conn->connect_error); } /************************************************* * 3) Create "highscores" table if it doesn't exist *************************************************/ $sql = "CREATE TABLE IF NOT EXISTS `highscores` ( `id` INT AUTO_INCREMENT PRIMARY KEY, `player_name` VARCHAR(100) NOT NULL, `score` INT NOT NULL, `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP )"; $conn->query($sql); /************************************************* * 4) Handle Requests *************************************************/ header('Content-Type: application/json; charset=utf-8'); if ($_SERVER['REQUEST_METHOD'] === 'POST') { // 4A) Save a new score $playerName = $_POST['player_name'] ?? ''; $score = $_POST['score'] ?? 0; $playerName = $conn->real_escape_string($playerName); $score = (int)$score; $insertSql = "INSERT INTO `highscores` (player_name, score) VALUES ('$playerName', $score)"; if ($conn->query($insertSql) === TRUE) { echo json_encode(["success" => true, "message" => "Score saved successfully"]); } else { echo json_encode(["success" => false, "message" => "DB Error: " . $conn->error]); } } else if ($_SERVER['REQUEST_METHOD'] === 'GET') { // 4B) Retrieve top 5 scores $sql = "SELECT player_name, score, created_at FROM `highscores` ORDER BY score DESC LIMIT 5"; $result = $conn->query($sql); $scores = []; if ($result && $result->num_rows > 0) { while($row = $result->fetch_assoc()) { $scores[] = $row; } } echo json_encode(["success" => true, "data" => $scores]); } else { // 4C) Invalid method echo json_encode(["success" => false, "message" => "Invalid request method."]); } $conn->close();