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';
				}
			}
		}
	}


}

Profesor del Departamento de Lenguajes y Sistemas Informáticos de la Universidad de Alicante (España). Interesado en el desarrollo y la accesibilidad web.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.