Repetir código es gratis

En una práctica de mis alumnos, una página PHP llamada “detalle foto” debe recibir un identificador de una fotografía pasada por la URL (querystring) y debe mostrar los datos correspondientes.

El código de uno de mis alumnos es:

    if($v1==1){
    include_once(RAIZ.'/hiper/perfil_joe.inc');
    echo "Identificador: $v1";
    }
    else{
        if($v1==2){
        include_once(RAIZ.'/hiper/perfil_sandra.inc');
        echo "Identificador: $v1";
        }
        else{
            if($v1==3){
            include_once(RAIZ.'/hiper/perfil_kevin.inc');
            echo "Identificador: $v1";
            }
            else{
                if($v1==4){
                include_once(RAIZ.'/hiper/perfil_maria.inc');
                echo "Identificador: $v1";
                }
                else{
                    if($v1==5){
                    include_once(RAIZ.'/hiper/perfil_demian.inc');
                    echo "Identificador: $v1";
                    }
                    else{
                        header('Location: index.php');
                    }
                }
            }
        }
    }

No se le ocurrió renombrar los nombres de los ficheros para que coincidiese con el identificador $v1. Tampoco se le ocurrió crear un array y que el identificador fuese la posición en el array del nombre del fichero. No, simplemente se le ocurrió encadenar un if detrás de otro if. Pero si pensó así, ¿por qué no utilizó el switch?

Cómo no mostrar un mensaje de confirmación al usuario

Al finalizar el proceso de compra de un billete en la web de la aerolínea Pegasus hay que introducir la información asociada al pasajero. Es la opción “Save APIS Information”:

pegasus-1

En el formulario correspondiente se introducen los datos del pasajero:

pegasus-2

Cuando se graba la información, el sitio web retorna a la página anterior, ¿se han grabado los datos?:

pegasus-3

Sí, se han grabado, lo podemos leer en un mensaje minúsculo que pasa desapercibido y que dice “APIS information successfully recorded”.