<?php
session_start();
date_default_timezone_set('America/Mexico_City');

// 1. Verificación de sesión y rol
if (!isset($_SESSION['Inicio']) || $_SESSION['Inicio'] !== "Ok" || !in_array($_SESSION['Rol'], ["Administrativo", "Titular"])) {
    print('<META HTTP-EQUIV="REFRESH" CONTENT="0;URL=../login.php?m=5">');
    exit;
}

// 2. Comprobar que los datos se envían por POST
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
    print('<META HTTP-EQUIV="REFRESH" CONTENT="0;URL=USondeo.php?n=invalid_request">');
    exit;
}

// 3. Recoger y validar datos del formulario
// <-- CORRECCIÓN 1: Leer el ID correcto 'id_sondeo' desde $_POST.
$id_sondeo = isset($_POST['id_sondeo']) ? trim($_POST['id_sondeo']) : null;

$fecha_evaluacion = isset($_POST['fecha_evaluacion']) ? trim($_POST['fecha_evaluacion']) : null;
$edad = isset($_POST['edad']) ? trim($_POST['edad']) : null;

// <-- CORRECCIÓN 2: Faltaban estas dos líneas para recoger los valores del formulario.
$edad_corregida = isset($_POST['edad_corregida']) ? trim($_POST['edad_corregida']) : null;
$rango_edad = isset($_POST['rango_edad']) ? trim($_POST['rango_edad']) : null;

$sond_art_punt_brutosa = isset($_POST['sond_art_punt_brutosa']) ? trim($_POST['sond_art_punt_brutosa']) : null;
$sond_articul_fonem_con_retras = isset($_POST['sond_articul_fonem_con_retras']) ? trim($_POST['sond_articul_fonem_con_retras']) : null;
$sond_articu_interpr = isset($_POST['sond_articu_interpr']) ? trim($_POST['sond_articu_interpr']) : null;

// Validación de datos cruciales
if (empty($id_sondeo) || !filter_var($id_sondeo, FILTER_VALIDATE_INT) || empty($fecha_evaluacion) || empty($edad) || empty($rango_edad)) {
    // n=2: Datos incompletos o ID inválido. Redirigimos a la lista de modificación.
    print('<META HTTP-EQUIV="REFRESH" CONTENT="0;URL=USondeo.php?n=2">');
    exit;
}

include("../Php/Conexion.php");
$Con = Conectar();

if (!$Con) {
    // n=3: Error de conexión
    print('<META HTTP-EQUIV="REFRESH" CONTENT="0;URL=USondeo.php?n=3">');
    exit;
}

// 4. Sentencia Preparada para UPDATE
$SQL = "UPDATE sondeo SET 
            fecha_evaluacion = ?, 
            edad = ?, 
            edad_corregida = ?, 
            rango_edad = ?, 
            sond_art_punt_brutosa = ?, 
            sond_articul_fonem_con_retras = ?, 
            sond_articu_interpr = ? 
        WHERE id = ?"; // La PK de la tabla 'sondeo'

$stmt = mysqli_prepare($Con, $SQL);

if ($stmt) {
    mysqli_stmt_bind_param($stmt, "sssssssi",
        $fecha_evaluacion,
        $edad,
        $edad_corregida,
        $rango_edad,
        $sond_art_punt_brutosa,
        $sond_articul_fonem_con_retras,
        $sond_articu_interpr,
        $id_sondeo  // <-- CORRECCIÓN 3: Usar la variable correcta para el ID
    );

    if (mysqli_stmt_execute($stmt)) {
        $RegistrosAfectados = mysqli_stmt_affected_rows($stmt);
        
        if ($RegistrosAfectados > 0) {
            // Éxito, se modificó al menos una fila
            print('<META HTTP-EQUIV="REFRESH" CONTENT="0;URL=USondeo.php?m=sondeo_update_success">');
        } else {
            // La consulta se ejecutó bien, pero no se cambió nada (datos idénticos)
            print('<META HTTP-EQUIV="REFRESH" CONTENT="0;URL=USondeo.php?m=sondeo_no_changes_made">');
        }
    } else {
        // Error al ejecutar
        error_log("Error al ejecutar UPDATE en USSondeo.php: " . mysqli_stmt_error($stmt));
        print('<META HTTP-EQUIV="REFRESH" CONTENT="0;URL=USondeo.php?n=sondeo_update_failed">');
    }
    mysqli_stmt_close($stmt);
} else {
    // Error al preparar la sentencia
    error_log("Error al preparar UPDATE en USSondeo.php: " . mysqli_error($Con));
    print('<META HTTP-EQUIV="REFRESH" CONTENT="0;URL=USondeo.php?n=sondeo_prepare_failed">');
}

Cerrar($Con);
exit;
?>