<?php
session_start();
if(!isset($_SESSION['id'])){
    header("Location: ../index.php");
    exit();
}

include("../conexion.php");

// Verificar que sea una petici¨®n POST
if($_SERVER['REQUEST_METHOD'] == 'POST') {
    
    // Validar que existan los datos
    if(!isset($_POST['id']) || !isset($_POST['nombre']) || !isset($_POST['email']) || !isset($_POST['edad'])) {
        header("Location: ../menu.php?page=usuarios&error=campos_vacios");
        exit();
    }
    
    $id = intval($_POST['id']);
    $nombre = mysqli_real_escape_string($conexion, $_POST['nombre']);
    $email = mysqli_real_escape_string($conexion, $_POST['email']);
    $edad = intval($_POST['edad']);
    
    // Validar campos obligatorios
    if(empty($nombre) || empty($email) || $edad <= 0) {
        header("Location: ../menu.php?page=usuarios&error=campos_vacios");
        exit();
    }
    
    // Validar email
    if(!filter_var($email, FILTER_VALIDATE_EMAIL)) {
        header("Location: ../menu.php?page=usuarios&error=email_invalido");
        exit();
    }
    
    // Verificar que el usuario existe
    $check_user_sql = "SELECT id FROM usuarios WHERE id = $id";
    $check_user_result = mysqli_query($conexion, $check_user_sql);
    
    if(mysqli_num_rows($check_user_result) == 0) {
        header("Location: ../menu.php?page=usuarios&error=usuario_no_encontrado");
        exit();
    }
    
    // Verificar que el email no est¨¦ en uso por otro usuario
    $check_sql = "SELECT id FROM usuarios WHERE email = '$email' AND id != $id";
    $check_result = mysqli_query($conexion, $check_sql);
    
    if(mysqli_num_rows($check_result) > 0){
        header("Location: ../menu.php?page=usuarios&error=email_existente");
        exit();
    }
    
    // Construir consulta
    if(!empty($_POST['password'])){
        $password = password_hash($_POST['password'], PASSWORD_DEFAULT);
        $sql = "UPDATE usuarios SET
                nombre = '$nombre',
                email = '$email',
                edad = $edad,
                password = '$password'
                WHERE id = $id";
    } else {
        $sql = "UPDATE usuarios SET
                nombre = '$nombre',
                email = '$email',
                edad = $edad
                WHERE id = $id";
    }
    
    if(mysqli_query($conexion, $sql)){
        header("Location: ../menu.php?page=usuarios&success=actualizado");
    } else {
        header("Location: ../menu.php?page=usuarios&error=error_actualizacion");
    }
} else {
    header("Location: ../menu.php?page=usuarios");
}

mysqli_close($conexion);
exit();
?>