Foros del Web » Programando para Internet » ASP Clásico »

no se como usar el response.redirect

Estas en el tema de no se como usar el response.redirect en el foro de ASP Clásico en Foros del Web. el problema es el siguiente estoy validando usuario y contraseña, conectada a una base datos sql2000 //si el usuario valida es redireccionado a index2.asp entrando ...
  #1 (permalink)  
Antiguo 04/03/2009, 13:00
 
Fecha de Ingreso: marzo-2009
Mensajes: 7
Antigüedad: 16 años, 1 mes
Puntos: 0
no se como usar el response.redirect

el problema es el siguiente

estoy validando usuario y contraseña, conectada a una base datos sql2000


//si el usuario valida es redireccionado a index2.asp entrando al sistema
<% if valida="si" then
Response.Redirect("index2.asp")
%>
//de lo contrario arroja mensaje alert
<%else

response.Write "<script>"
response.Write "alert('Usuario o Contraseña Incorrecto');"
response.Write "</script>"

response.Redirect "index.asp"


mi problema es el siguiente, si yo dejo los primeros 3 response.write, arroja el mensaje
Usuario o Contraseña Incorrecto

pero si incluyo la 4 linea del response.redirect "index.asp"

me recarga la pagina, pero no me muestra el alert.
  #2 (permalink)  
Antiguo 04/03/2009, 13:13
Avatar de Muzztein  
Fecha de Ingreso: agosto-2002
Ubicación: Hangar 18
Mensajes: 1.703
Antigüedad: 22 años, 8 meses
Puntos: 16
Respuesta: no se como usar el response.redirect

el response redirect debe ser usado ANTES de imprimir algo en pantalla. NUNCA DESPUES.
  #3 (permalink)  
Antiguo 04/03/2009, 13:16
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
Respuesta: no se como usar el response.redirect

El problema es de conceptos, el código de VBS se ejecuta en el servidor en tanto que javascript en el cliente, por lo tanto, redirige antes de envíar la alerta al cliente, si lo que quieres es mostrar un alert y después de pulsado el botón redirigir, tendrás que sustituír el response.redirect por un location.href de javascript.

Saludos
Wooops, me ganó Muzztein ()
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #4 (permalink)  
Antiguo 04/03/2009, 13:32
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 6 meses
Puntos: 27
Respuesta: no se como usar el response.redirect

o que mande el texto de error a la pagina :P

response.Redirect "index.asp?txterror=usuario no existe"

que lo baje con un request
que lo imprima a la par de el formulario

digo

saludos a todos :)


suerte
__________________
JuanRa Pérez
San Salvador, El Salvador
  #5 (permalink)  
Antiguo 04/03/2009, 14:53
 
Fecha de Ingreso: marzo-2009
Mensajes: 7
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: no se como usar el response.redirect

muchas gracias a todo por las respuestas...

ese problema lo tenia porque tenia 2 paginas un index.asp y otro validar.asp
por eso al hacer response.redirect "index.asp".

pero ahora lo estoy haciendo de otra forma.

todo dentro de la misma pagina index.asp

todo funciona de maravilla, lo unico malo que cuando entro por primera vez a la pagina, me arroja el mensaje "El Usuario ingresado no es Valido"

nose como controlar que cuando entre al formulario, no entre por la validacion script


index.asp

<%
set oConn = server.CreateObject("ADODB.Connection")
set rs = server.CreateObject("ADODB.Recordset")

oConn.CommandTimeout = 33333
oConn.ConnectionString = "driver={SQL Server};server=SRV_SICC; database=emb; uid=sa;pwd=sicc"
oConn.open


sql = "select login,pass from g_validar where login= '"&request("txt_user")& "' and pass = '"&request("txt_pass")& "'"

'response.Write sql

rs.open sql, oConn

if not rs.eof then

a = rs(0)
b = rs(1)
valida = "si"
else
valida = "no"
end if
%>

<% if valida="si" then
Response.Redirect("index2.asp")
end if %>

<% if valida="no" then %>
<script language="JavaScript">
alert("El Usuario ingresado no es Valido")
</script>
<% end if %>


<html>
<head>
<title> VITACURA </title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<form name="ff" method="POST" >
<div align="center">
<table border="0" cellspacing="0" cellpadding="5" width="25%">
<tr>&nbsp;</tr><tr>&nbsp;</tr><tr>&nbsp;</tr>

<td colspan="3" align="center" >
<font size="2" face="Arial"><b>Introducir usuario y contrase&ntilde;a</b></font></td>
</tr>
<tr>
<td valign="middle" height="35" width="63%"><font size="2" face="Arial"><b>Usuario</b></td>
<td valign="middle" height="35" width="63%">

<input name="txt_user" type="text" id="txt_user" size="20" maxlength="10"></td>
</tr>
<tr>
<td><font size="2" face="Arial"><b>Contrase&ntilde;a</b></font><font color="#000000"><br></font></td>
<td valign="bottom" height="35" width="63%">

<input name="txt_pass" type="password" id="txt_pass" size="20" maxlength="10"></td>
</tr>
<tr>
<td height="35" colspan="2" valign="bottom"><div align="center"><img src="simbolo/Login.png" name="privado" width="50" height="50" style="cursor:pointer" onClick="fncValidar()"input type="button" value="Ingresar"></div></td>
</tr>
</table>
</div>
</form>
</div>
<tr>
<td valign="top"><p align="center"><font face="Geneva, Arial, Helvetica, san-serif" size="1" color="#000000">Copyright &copy; 2009, <b>Gars</b> Todos los Derechos Reservados</font> </p>



</body>
</html>
<script>
function fncValidar()
{
if (document.ff.txt_user.value == "")
{
alert("El Nombre no puede estar vacío");
document.ff.txt_user.focus();
return false;
}
if (document.ff.txt_pass.value == "")
{
alert("El Pass no puede estar vacío");
document.ff.txt_pass.focus();
return false;
}

document.ff.submit();
}
  #6 (permalink)  
Antiguo 04/03/2009, 19:05
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 6 meses
Puntos: 27
Respuesta: no se como usar el response.redirect

oki te doy mas o menos la idea que se me viene

(ojo que para gustos colores)

1 - entro al sitio y verifico la variable txterror si esta vacia no hago
2 - muestro el formulario
3 - lleno campos (usuario y clave)
4 - los mando a tu pagina a validarse
5 - si hay error mando el response.redirect("intro.asp?txterror=Erro verifique usuario y clave&usuario=usuario")
6 - recoges la variable si txterror viene lleno entonces lo imprimis response.write "<p class='error'>..."
7 - recoges el usuario y lo pintas en el formulario

suerte
__________________
JuanRa Pérez
San Salvador, El Salvador
  #7 (permalink)  
Antiguo 04/03/2009, 20:01
Avatar de Muzztein  
Fecha de Ingreso: agosto-2002
Ubicación: Hangar 18
Mensajes: 1.703
Antigüedad: 22 años, 8 meses
Puntos: 16
Respuesta: no se como usar el response.redirect

un solo PERO con todo esto del mensajito que va para alla y para aca.

ojo con el XSS (Cross site scripting )

http://www.desarrolloweb.com/manuale...scripting.html
  #8 (permalink)  
Antiguo 04/03/2009, 20:09
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 20 años
Puntos: 839
Respuesta: no se como usar el response.redirect

También ojo con que estás incluyendo datos del formulario directamente en una consulta SQL :.

¿Qué pasaría si en el campo usuario colocara?
Código:
' or 1=1 --
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 05/03/2009, 06:13
 
Fecha de Ingreso: marzo-2009
Mensajes: 7
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: no se como usar el response.redirect

Estimado JuanRAPerez

podrias explicar un poquito mas clara tu idea

ojala con codigo

saludos
  #10 (permalink)  
Antiguo 05/03/2009, 06:23
 
Fecha de Ingreso: marzo-2009
Mensajes: 7
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: no se como usar el response.redirect

jajajaj

ya lo logre hacer... muchas gracias a todos XD

se me ocurrio de esta forma para los que le interesa

como tenia la condicion de

if valida = si then

entra

else

valida = no
alert(no puede entrar)

y cada vez que ingresaba al formulario, mandaba el mensaje
alert(no puede entrar)

eso se produce: que al entrar al formulario aun no he ingresado ningun parametro. por eso entra en validar = no

asi que obligue al formulario al inicio entrar siempre valida=1

como?

<input text=hidden name= accion value=1>

de esta forma no importa todas las veces k recarge la pagina... siempre va a entrar en accion = 1

slds
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 00:02.