No Reconozido como el OP.
<?php
header('Content-Type: application/json');
$data = json_decode(file_get_contents('php://input'), true);
// Validación de datos
if (empty($data['name']) || !is_numeric($data['score']) || !is_numeric($data['level']) || empty($data['date'])) {
echo json_encode(['error' => 'Datos inválidos o faltantes']);
exit;
}
// Sanitización de datos
$name = filter_var($data['name'], FILTER_SANITIZE_STRING);
$score = filter_var($data['score'], FILTER_SANITIZE_NUMBER_INT);
$level = filter_var($data['level'], FILTER_SANITIZE_NUMBER_INT);
$date = filter_var($data['date'], FILTER_SANITIZE_STRING);
// Validación de valores
if ($score < 0 || $level < 1) {
echo json_encode(['error' => 'Valores de score o level inválidos']);
exit;
}
// Conexión a la base de datos
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "juegamesta";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare("INSERT INTO scores
(player_name, score, max_level, play_date)
VALUES (:name, :score, :level, :date)");
$stmt->execute([
':name' => $name,
':score' => $score,
':level' => $level,
':date' => $date
]);
echo json_encode(['success' => true]);
} catch (PDOException $e) {
echo json_encode(['error' => 'Error en la base de datos: ' . $e->getMessage()]);
}