49 lines
1.5 KiB
PHP
49 lines
1.5 KiB
PHP
<?php
|
|
include 'conexion.php';
|
|
|
|
header('Content-Type: application/json; charset=UTF-8');
|
|
|
|
$json = trim(file_get_contents('php://input'));
|
|
if ($json === '') {
|
|
echo json_encode(['success' => false, 'error' => 'Cuerpo vacío o no se envió JSON']);
|
|
exit;
|
|
}
|
|
|
|
$data = json_decode($json, true);
|
|
if (!is_array($data) || json_last_error() !== JSON_ERROR_NONE) {
|
|
$rawPreview = substr($json, 0, 200);
|
|
echo json_encode([
|
|
'success' => false,
|
|
'error' => 'JSON inválido en la solicitud',
|
|
'detalle' => json_last_error_msg(),
|
|
'raw' => $rawPreview,
|
|
'raw_hex' => bin2hex(substr($json, 0, 50))
|
|
]);
|
|
exit;
|
|
}
|
|
|
|
if (!isset($data['id_reserva']) || !isset($data['fecha_hora'])) {
|
|
echo json_encode(['success' => false, 'error' => 'Datos incompletos']);
|
|
exit;
|
|
}
|
|
|
|
$id_reserva = intval($data['id_reserva']);
|
|
$fecha_hora = $conexion->real_escape_string($data['fecha_hora']);
|
|
|
|
// Validación básica de formato YYYY-MM-DD HH:MM:SS
|
|
if (!preg_match('/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/', $fecha_hora)) {
|
|
echo json_encode(['success' => false, 'error' => 'Formato de fecha_hora inválido. Use YYYY-MM-DD HH:MM:SS']);
|
|
exit;
|
|
}
|
|
|
|
$sql = "UPDATE reservas SET Fecha_Hora = '$fecha_hora' WHERE ID_Reserva = $id_reserva";
|
|
|
|
if (mysqli_query($conexion, $sql)) {
|
|
echo json_encode(['success' => true, 'message' => 'Horario actualizado correctamente']);
|
|
} else {
|
|
echo json_encode(['success' => false, 'error' => mysqli_error($conexion)]);
|
|
}
|
|
|
|
mysqli_close($conexion);
|
|
?>
|