El problema de todos los años
Todos los años planteo el mismo requisito a mis estudiantes, todos los años me encuentro que la mayoría lo hacen mal.
En una aplicación web, se tiene que realizar la comprobación de la credenciales (nombre de usuario, contraseña) para acceder al perfil del usuario. En una primera fase no hay base de datos, así que los datos de los usuarios están codificados en la propia página web.
Inicialmente les pedía que lo hicieran suponiendo que hay dos usuarios. Casi nadie almacenaba los datos de los usuarios en un array.
Después lo incrementé a tres usuarios, con la esperanza de que se dieran cuenta de que usando un array se escribe menos, el código es más legible y mantenible. La mayoría de los estudiantes lo seguían haciendo mal.
Después lo volví a incrementar a cuatro usuarios… todo seguía igual.
¿A cuántos usuarios lo tengo que incrementar para que piensen en utilizar un array?
Aquí dejo el fascinante código de uno de mis estudiantes:
if(!empty($_POST['usuario']) && !empty($_POST['pdw'])){ $usuintro = ($_POST['usuario']); $contraintro = ($_POST['pdw']); $usu1 = "marcos111"; $contra1= "marquitos111"; $usu2 = "marcos222"; $contra2= "marquitos222"; $usu3 = "marcos333"; $contra3= "marquitos333"; $usu4 = "marcos444"; $contra4= "marquitos444"; if(strcmp($usuintro, $usu1) === 0){ if(strcmp($contraintro, $contra1) === 0){ header('Location: usuario.php'); } else{ echo'Usuario o contraseña incorrecto'; } } if(strcmp($usuintro, $usu2) === 0){ if(strcmp($contraintro, $contra2) === 0){ header('Location: usuario.php'); } else{ echo'Usuario o contraseña incorrecto'; } } if(strcmp($usuintro, $usu3) === 0){ if(strcmp($contraintro, $contra3) === 0){ header('Location: usuario.php'); } else{ echo'Usuario o contraseña incorrecto'; } } if(strcmp($usuintro, $usu4) === 0){ if(strcmp($contraintro, $contra4) === 0){ header('Location: usuario.php'); } else{ echo'Usuario o contraseña incorrecto'; } } if(strcmp($usuintro, $usu1) !== 0){ if(strcmp($usuintro, $usu2) !== 0){ if(strcmp($usuintro, $usu3) !== 0){ if(strcmp($usuintro, $usu4) !== 0){ echo'Usuario o contraseña incorrecto'; } } } } }
Deja un comentario