¿Alguien me puede ayudar a descubrir por qué no deja de preguntar al ingresar correctamente el usuario y la contraseña?
¿Alguien me puede ayudar a descubrir por qué no deja de preguntar al ingresar correctamente el usuario y la contraseña?
Hola, envía por aquí el código para analizarlo y encontrar el error.
Lo coloqué en mi mensaje, pero no sé por qué no se ve:
Sí, estaba.
copia todo el código y utiliza el "</>" que esta en la caja de comentarios y pega el código entre las 2 comillas, saludos
<meta charset="UTF-8">
<script>
function saltarLinea() {
document.write("<br>");
}
function imprimir(frase) {
document.write(frase);
saltarLinea();
}
var inicioDeSesionRegistrado = "alura";
var contrasenhaRegistrada = "alura321";
var intentos = 1
while (intentos <= 3){
var inicioDeSesionIngresado = prompt("Ingrese su usuario");
var contrasenhaIngresada = prompt("Ingrese su contraseña");
if( inicioDeSesionRegistrado == inicioDeSesionIngresado && contrasenhaRegistrada == contrasenhaIngresada ) {
alert("Bienvenido al sistema " + inicioDeSesionIngresado);
intentos == 3
} else {
if (intentos == 3) {
alert("Agotaste el número permitido de intentos!");
} else {
alert("Inicio de sesión inválido. Favor intente de nuevo");
}
}
intentos ++
}
</script>
Buenas noches, lo que pasa es que cuando comparas el usuario y la contraseña ingresados con los registrados entra al if e imprime el mensaje de bienvenido al sistema, hasta ahí todo correcto, el error viene cuando declaras intentos igual a 3 para que ya no vuelva a entrar al while.
Tu estas redefiniendo el valor de intentos de la siguiente manera:
intentos == 3
Y esto es incorrecto, recuerda que el doble igual solo se utiliza cuando vas a comparar que tu variable de la izquierda sea igual al valor de la derecha, simplemente tendrías que quitar un signo de igual para indicar que a tu variable le vas a asignar el valor consiguiente y ya va a funcionar correctamente, quedando la sentencia del if final así:
if( inicioDeSesionRegistrado == inicioDeSesionIngresado && contrasenhaRegistrada == contrasenhaIngresada ) {
alert("Bienvenido al sistema " + inicioDeSesionIngresado);
intentos = 3;
}
Muchas gracias, Alejandro. Es que en un ejercicio anterior tuve el error al revés. Tenía que poner dos =, y puse uno. Me quedó muy clara tu explicación. También la de John, para conseguir agregar el código. MUchas gracias.