<!doctype html>
<html>
    <head>
        <title>Ejercicio 24</title>
        <style>
            *{
                box-sizing: border-box;
                margin: 0 auto;
            }
            body{
                font-family: Arial, sans-serif;
                background: #f4f6f9;
                align-items: center;
                text-align: center;
            }

            nav{
                background-color: #456D96; 
                color: white;
            }

            .ejercicio{
                padding: 20px;
                text-align: justify;
                margin-top: 10px;
                margin-bottom: 10px;
                width: 750px;
                border: 1px solid black;
                border-radius: 10px;

                p{
                    font-weight: bold;
                }
                
                label{
                    font-weight: bold;
                }
                
                input{
                    width: 250px;
                    height: 30px;
                }
                
                button{
                    margin-top: 20px;
                    width: 125px;
                    height: 30px;
                    border-radius: 5px;
                    background-color: lightblue;
                }
                
                #tipoFormulario{
                    background-color: lightgray;
                }
                
                #nombre{
                    background-color: #FCF8CC;
                }
                
                #edad{
                    background-color: #FCF8CC;
                }
            }

            footer{
                margin: auto;
                background-color: #456d96;
                text-align: center;
                align-content: center;
                height: 50px;;
                color: white;

                & a{
                   text-decoration: none; 
                }
            }

            form{
                fieldset{
                    border: none;
                }
                label{
                    width: 250px;
                }
            }
        </style>
    </head>
    <body>
        <nav>
            <h2>DWES - Tema 3</h2>
            <h2>Ejercicio 24</h2>
        </nav>
        <main>
            <div class="ejercicio">
                <?php
                    /**
                     * @author Álvaro Allén Perlines
                     * @date 28-10-2025
                     * 
                     * Construir un formulario para recoger un cuestionario realizado a una persona y 
                     * mostrar en la misma página las preguntas y las respuestas recogidas; en el caso de que 
                     * alguna respuesta esté vacía o errónea volverá a salir el formulario con el mensaje correspondiente, 
                     * pero las respuestas que habíamos tecleado correctamente aparecerán en el formulario 
                     * y no tendremos que volver a teclearlas.
                     */
                    // Establecemos la configuración de fecha, hora y formato de España
                    setlocale(LC_TIME, 'es_ES.UTF-8', 'es_ES', 'spanish');
                    // Definimos una variable de tipo DateTime con la fecha actual de España
                    
                    // Enlace para importar las librerías de validación de campos
                    require_once '../core/231018libreriaValidacion.php';
                    require_once '../core/miLibreriaValidacion.php';

                    //inicialización de variables
                    $aErrores = [
                        'nombre' => '',
                        'edad' => '',
                        'fecha' => ''
                    ];
                    $aRespuestas = [
                        'nombre' => '',
                        'edad' => '',
                        'fecha' => ''
                    ];
                    $entradaOK = true;

                    //Para cada campo del formulario se valida la entrada y se actua en consecuencia
                    if (isset($_REQUEST['enviar'])) {//se cumple si el boton es submit
                        //Validación de los datos de los campos del formulario
                        $aErrores['nombre'] = validacionFormularios::comprobarAlfabetico($_REQUEST['nombre'], 80, 1, 1);
                        $aErrores['edad'] = validacionFormularios::comprobarEntero($_REQUEST['edad'], 100, 0, 1);
                        $aErrores['fecha'] = miLibreriaValidacion::validarNacimiento($_REQUEST['fecha'], $_REQUEST['edad']);

                        //recorre el array de errores para detectar si hay alguno
                        foreach ($aErrores as $campo => $valorCampo) {
                            if ($valorCampo != null) {//Si encuentra algún error 
                                $entradaOK = false; // la entrada no es correcta
                            }
                        }
                    } else {
                        //Si no se ha aceptado el formulario
                        $entradaOK = false;
                    }
                    //Tratamiento del formulario
                    if ($entradaOK) {
                        //REllenamos el array de respuesta con los valores que ha introducido el usuario
                        $aRespuestas['nombre'] = $_REQUEST['nombre'];
                        $aRespuestas['edad'] = $_REQUEST['edad'];
                        $fecha = new DateTime($_REQUEST['fecha']);
                        $aRespuestas['fecha'] = strftime("%A %d de %B de %Y", $fecha->getTimestamp());

                        //Se recorre el array de las respuestas y se muestran
                        print("<br><h3>Respuestas del usuario</h3><br>");
                        foreach ($aRespuestas as $campo => $valorCampo) {
                            print("<p>El $campo del usuario: </p>" . $valorCampo . '<br>');
                        }
                    } else {
                        //si hay algún error se vuelve a mostrar el formulario
                    ?>
                    <section>
                        <h2>Rellena el formulario.</h2>
                        <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">

                            <label for="tipoFormulario">Tipo del formulario</label><br>
                            <input name="tipoFormulario" id="tipoFormulario" type="text" value="Formulario de Seguridad" readonly><br>
                            <br>
                            <label for="nombre">Nombre completo:</label>
                            <a style='color:red'><?php echo $aErrores['nombre'] ?></a><br>
                            <input name="nombre" id="nombre" type="text" value='<?php echo(empty($aErrores['nombre'])) ? ($_REQUEST['nombre'] ?? '') : ''; ?>'><br>
                            <br>
                            <label for="edad">Edad:</label>
                            <a style='color:red'><?php echo $aErrores['edad'] ?></a><br>
                            <input name="edad" id="edad" type="text" value='<?php echo(empty($aErrores['edad'])) ? ($_REQUEST['edad'] ?? '') : ''; ?>'><br>
                            <br>
                            <label for="carnet">Introduzca la fecha de nacimiento:</label>
                            <a style='color:red'><?php echo $aErrores['fecha'] ?></a><br>
                            <input type="date" name="fecha" id="nacimiento"><br>

                            <button type="submit" name="enviar">Enviar</button>

                        </form>  
                        <?php
                    }
                ?>
            </div>
        </main>
        <footer>
            <div>
                <a href="../indexProyectoTema3.php">
               Álvaro Allén Perlines
                </a>
                <time datetime="2025-10-28">06-12-2025</time>
            </div>
        </footer>
    </body>
</html>