UT3: CARACTERÍSTICAS DEL LENGUAJE PHP

Alberto Méndez Núñez | 03/10/2025

Curso 2025/2026 - Grupo DAW2

Muestra del código PHP Ejercicio 23

<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <title>CFGS - Desarrollo de Aplicaciones Web</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            background: #f4f6f9;
            margin: 0;
            padding: 0;
        }
        header {
            background: #F59C27;
            color: white;
            padding: 15px;
            text-align: center;
        }
        h1 {
            margin: 0;
        }
        main {
            max-width: 1000px;
            margin: 30px auto;
            padding: 20px;
            background: white;
            border-radius: 10px;
            box-shadow: 0 4px 10px rgba(0,0,0,0.1);
        }
        ul {
            list-style: none;
            padding: 0;
        }
        footer{
            margin: auto;
            background-color: #F59C27;
            text-align: center;
            height: 150px;
        color: white;
            position: fixed;
            bottom: 0;
            left: 0;
            width: 100%;
        }
    main{
    text-align:center;
    justify-content:center;
    }
        a{
            text-decoration: none;
            color:purple;
        }
        
        table{
            border-collapse: collapse;
            width: 100%;
            border-width: 4px;
        }
        
        td{
            padding: 10px;
            border-width: 4px;
        }
        
        #encabezado{
            background-color: lightsteelblue;
            font-weight: bold;
        }
        
        .codigos{
            background-color: lightblue;
        }
        
        .mostrar{
            background-color: lightsalmon;
        }
        
        tr{
            height: 80px;
        }

    </style>
</head>
<body>
    <header>
        <h1><b>UT3: CARACTERÍSTICAS DEL LENGUAJE PHP</b></h1>
        <a href="../../AMNDWESProyectoDWES/indexProyectoDWES.php">Alberto Méndez Núñez | 03/10/2025</a>
        <p>Curso 2025/2026 - Grupo DAW2</p>
    </header>
    <main>
        <h2><b>Ejercicio 23</b></h2>
       
                            <?php
                    /*
                     * Autor: Alberto Méndez Núñez
                     * Fecha de ultima modificación: 17/10/2025
                     *23. 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.
                     */

                            // array que va a almacenar los errores al introducir valores en los campos.
                            $aErrores=[
                                "nombre" => "",
                                "edad" => ""
                            ];
                            
                            $entradaOK=true; // variable booleana para comprobar si la entrada de los campos es la correcta.
                            
                            // array que va a almacenar las respuestas correctas de los campos para mostrarlas por pantalla.
                            $aRespuesta=[
                              "nombre" => "",
                              "edad" => ""
                            ];
                            
                            // inicialización de las variables $nombre y $edad con la información introducida en el formulario.
                            $nombre= $_REQUEST['nombre'] ?? '';
                            $edad= $_REQUEST['edad'] ?? '';
                
                // comprobación de si el usuario ha pulsado el botón de enviar.  
               if(isset($_REQUEST['submit'])){
                   
                // comprobación de que la variable $nombre tiene un valor valido (no está vacio y no es un número).
                if(trim($nombre)==='' || is_numeric($nombre)){
                    // si no tiene valor o es incorrecto añadimos un mensaje de error a $aErrores y cambiamos $entradaOK a false.
                    $aErrores["nombre"]="El campo nombre no puede estar vacio ni ser un número.";
                    $entradaOK=false;
                }
                
                // comprobación de que la variable $edad tiene un valor numerico mayor que 0 y menor que 100.
                if($edad==='' || !is_numeric($edad) || $edad<0 || $edad>100){
                    // si no añadimos un mensaje de error a $aErrores y cambiamos $entradaOK a false.
                    $aErrores["edad"]="El campo edad no puede estar vacio, y debe ser un número entre 0 y 100.";
                    $entradaOK=false;
                }
               }
               else{
                   // el formulario no se ha rellenado nunca
                   $entradaOK=false;
               }
                         
                
                if($entradaOK){
                    // Si el formato de entrada de los datos es correcto añadimos las respuestas a un array para devolverlas.
                    $aRespuesta["nombre"]=$nombre;
                    $aRespuesta["edad"]=$edad;
                    
                    //Mostramos el array con cada respuesta por pantalla.
                            echo "<br><br>";
                            echo "<h3>Datos introducidos:</h3>";
                                echo $aRespuesta["nombre"]."<br>";
                                echo $aRespuesta["edad"]."<br>";
                }                  
            
                //Si la entrada no es la correcta vuelve a mostrar el formulario de nuevo.
            else{
                
                ?>
        
            <form method="post" action="">
                <label for="nombre">Nombre:</label>
                <input type="text" name="nombre" id="nombre" style="background-color: lightgoldenrodyellow"/>
                <!-- 
                   si da error lo mostamos al lado de su campo.
                -->
                <span><?= $aErrores["nombre"] ?></span>
                <br>
                <br>
                <label for="edad">Edad:</label>
                <input type="number" name="edad" id="edad" style="background-color: lightgoldenrodyellow"/>
                <!-- 
                   si da error lo mostamos al lado de su campo.
                -->
                <span><?= $aErrores["edad"] ?></span>
                <br>
                <br>
                <input type="submit" name="submit" value="Enviar">
            </form>
        
        <?php
        //Cerramos el else.
            }
        ?>
        
    </main>
</body>
</html>