Foros del Web » Programando para Internet » Javascript »

codigo erroneo

Estas en el tema de codigo erroneo en el foro de Javascript en Foros del Web. Ayuda por favor, cuando intento poner mas de un password válido no me hace caso. Donde está el error? Os adjunto mas abajo la versión ...
  #1 (permalink)  
Antiguo 14/02/2005, 12:17
 
Fecha de Ingreso: febrero-2005
Mensajes: 4
Antigüedad: 19 años, 2 meses
Puntos: 0
codigo erroneo

Ayuda por favor, cuando intento poner mas de un password válido no me hace caso. Donde está el error? Os adjunto mas abajo la versión inicial que funcionaba bien (pero con un solo password).

Muchas gracias.



function password() {
var testV = 3;
var pass1 & pass2 & pass3 = prompt('Estimate Agency , enter the password that provides you. Thank You','');
while (testV < 3) {
if (!pass1)
if (!pass2)
if (!pass3)
history.go(-1);
if (pass1 == "ES589221" & pass2 == "ES345671" & pass3 == "ES328661") {
alert('Welcome, you can view the booking now');
window.open('booking.htm');
break;
}
testV+=1;
var pass1&pass2&pass3 =
prompt('Denied Access - Wrong Password, Try again please.','Password');
}
if (pass1!="ES589221" & pass2!="ES345671" & pass3!="ES328661" & testV ==3)
history.go(-1);
return " ";

---



function password() {
var testV = 1;
var pass1 = prompt('Estimate Agency , enter the password that provides you. Thank You','');
while (testV < 3) {
if (!pass1)
history.go(-1);
if (pass1 == "ES589221") {
alert('Welcome, you can view the booking now');
window.open('booking.htm');
break;
}
testV+=1;
var pass1 =
prompt('Denied Access - Wrong Password, Try again please.','Password');
}
if (pass1!="ES589221" & testV ==3)
history.go(-1);
return " ";
}
  #2 (permalink)  
Antiguo 14/02/2005, 12:22
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola elogius

Creo que el error está aquí:

if (pass1 == "ES589221" & pass2 == "ES345671"

Si quieres utilizar un and tienes que poner &&
si lo que necesitas es un or sería ||

Saludos,
  #3 (permalink)  
Antiguo 14/02/2005, 12:56
 
Fecha de Ingreso: febrero-2005
Mensajes: 4
Antigüedad: 19 años, 2 meses
Puntos: 0
Gracias JavierB.

aqui tienes el codigo entero, he probado pero ahora solo funciona con el pass1 y si te equivocas no sale error, simplemente no hace nada.




<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
-->
</style>

<script language="JavaScript">

<!--

function password() {
var testV = 1;
var pass1 = prompt('Estimate Agency , enter the password that provides you. Thank You','');
while (testV < 3) {
if (!pass1)
if (!pass2)
if (!pass3)
history.go(-1);
if (pass1 == "ES589221" || pass2 == "es21" || pass3 == "es22") {
alert('Welcome, you can view the booking now');
window.open('booking.htm');
break;
}
testV+=1;
var pass1 =
prompt('Denied Access - Wrong Password, Try again please.','Password');
}
if (pass1!="ES589221" || pass2!="es21" || pass3!="es22" & testV ==3)
history.go(-1);
return " ";
}


</script>
</head>

<table width="500" border="0">
<tr>
<td><div align="center">
<input type="button" value="Access to Booking system" onClick="password()" name="button">
</div></td>
</tr>
</table>
</body>
</html>
  #4 (permalink)  
Antiguo 14/02/2005, 13:12
Avatar de erlingfiallos  
Fecha de Ingreso: febrero-2005
Ubicación: Mexico ahora
Mensajes: 499
Antigüedad: 19 años, 2 meses
Puntos: 9
lo que tratas de hacer no es posible.. ya que solamente tienes 1 campo de texto en tu prompt significa que solo se puede almacenar en una sola variable, no hay forma de pasar el varios valores a las variablas a menos que cortes la cadena que se ingreso y la almacenes por partes en variables distintas, pero no tiene sentido hacerlo.. Deberias de probar creando un form con los campos de texto necesarios y de esa forma pasar los valores a tu script..
  #5 (permalink)  
Antiguo 14/02/2005, 13:27
Avatar de claray  
Fecha de Ingreso: agosto-2004
Ubicación: ahora... en Caracas
Mensajes: 345
Antigüedad: 19 años, 8 meses
Puntos: 0
Hola,

Creo entender que tienes tres variables "pass" y que ALGUNA de ellas debe tener el valor indicado. (no entiendo bien?)

Ademas, como te indica JavierB, el AND debe ser indicado con && (doble ampersand), en el ultimo if lo tienes con no solo.

Creo no entender bien la idea, por que no la describes?

saludos.
__________________
:pirata: El arte de desarrollar es dejar que los otros lo hagan
  #6 (permalink)  
Antiguo 14/02/2005, 18:09
 
Fecha de Ingreso: febrero-2005
Mensajes: 4
Antigüedad: 19 años, 2 meses
Puntos: 0
se trata de una aplicación que debe dar acceso a 3 personas con 3 distintos códigos. Hasta ahora funcionaba de maravilla, ya que solo tenia un código (solo habia un cliente) pero el cliente quiere añadir dos usuarios mas y asignarles passwords distintos.
En total son 3 passwords.

Ayuda por favor.

Muchas gracias de antemano.

Bernat
  #7 (permalink)  
Antiguo 14/02/2005, 18:26
Avatar de erlingfiallos  
Fecha de Ingreso: febrero-2005
Ubicación: Mexico ahora
Mensajes: 499
Antigüedad: 19 años, 2 meses
Puntos: 9
No logro entenderte.. pero puedes capturar el password en una sola variable.. Por Ej. pass1.. y luego hacer una comparacion como anteriormente la tenias..:

if (pass1 == "ES589221" || pass1 == "es21" || pass1 == "es22")
  #8 (permalink)  
Antiguo 15/02/2005, 04:31
 
Fecha de Ingreso: febrero-2005
Mensajes: 4
Antigüedad: 19 años, 2 meses
Puntos: 0
Gracias Erlingfiallos! y a todos por vuestra ayuda. Con un poco de cada uno he podido hacerla funcionar!

El còdigo final para quien quiera usarlo también és:

function password() {
var testV = 1;
var pass1 = prompt('Estimate Agency , enter the password that provides you. Thank You','');
while (testV < 3) {
if (!pass1)
if (!pass2)
if (!pass3)
history.go(-1);
if (pass1 == "ES589221" || pass1 == "es21" || pass1 == "es22") {
alert('Welcome, you can view the booking now');
window.open('booking.htm');
break;
}
testV+=1;
var pass1 =
prompt('Denied Access - Wrong Password, Try again please.','Password');
}
if (pass1!="ES589221" || pass1!="es21" || pass1!="es22" & testV ==3)
history.go(-1);
return " ";
}
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:57.