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

AYUDA CON CODIGO !!! Estoy enloqueciendo

Estas en el tema de AYUDA CON CODIGO !!! Estoy enloqueciendo en el foro de ASP Clásico en Foros del Web. Encontré un ejemplo de cómo instalar un password en una página, pero no funciona bien. Al ingresar los datos en el formulario (pagina1.asp), el mismo ...
  #1 (permalink)  
Antiguo 03/02/2002, 02:03
Avatar de Rosamunda  
Fecha de Ingreso: diciembre-2001
Ubicación: Buenos Aires
Mensajes: 792
Antigüedad: 23 años, 4 meses
Puntos: 1
AYUDA CON CODIGO !!! Estoy enloqueciendo

Encontré un ejemplo de cómo instalar un password en una página, pero no funciona bien. Al ingresar los datos en el formulario (pagina1.asp), el mismo se envía a pagina2.asp, en el cual se visualiza el código de la página.
Pregunto:
*En qué me estoy equivocando? Cómo hago para que, de ser correcto ingrese a la página protegida con password?
*Además, cómo hago para que el que una vez que ingresó, no copie la dirección y las siguientes veces vaya directamente?
(aclaro que ya pasé por el tutorial de aspfacil.com y asoptutor.com y tampoco salieron...)

Esto es lo que conseguí:

Este codigo de Puro HTML va en la primer página:
Archivo: pagina1.asp<FORM ACTION="pagina2.asp" METHOD="post"><BR><B>Usua rio:</B> <INPUT NAME="usuario" SIZE="12"><BR><B>Contrase ña:</B> <INPUT NAME="password" SIZE="12"><BR><BR><INP UT TYPE="Submit" VALUE="Ingresar"></FORM>

Este código va en la página a donde se envian los datos del FORM. En mi ejemplo seria pagina2.asp.
Archivo: pagina2.asp<%'Primero nos fijamos si ambos campos fueron completados.'Si no se cumple, redireccionamos a pagina1.aspIf Request.Form("usuario") = "" OR Request.Form("password") = "" thenResponse.Redirect "pagina1.asp"ElseDim usuario, password, oConn, RS'Guardamos los datos del Form en variables.usuario = Trim(Request.Form("usuario"))password = Trim(Request.Form("password"))'Conectamo s a nuestra BD.Set oConn = Server.CreateObject ("ADODB.Connection")Set RS = Server.CreateObject ("ADODB.RecordSet")oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\usuario\db\basedatos.mdb&quo t;)'Seleccionamos de la tabla solo los registros que concuerden con el usuario del Form.sql = "SELECT * FROM prueba WHERE usuario='"&usuario&"'"RS.Op en sql, oConn, 1, 1'Si el valor EOF (fin de la tabla elegida) es verdadero, no existe el usuario.If RS.EOF = True thenResponse.Write "<BR>Ese usuario no existe"'Si el campo de la tabla es igual a nuestra variable, estas logueado.ElseIf RS.Fields("password") = password thenResponse.Write "<BR>Te logueaste con exito... Bienvenido <B>"& usuario &"</B>"'Otra cosa, seria cuando el password no es la que seleccionamos.ElseResponse.Write "<BR>Esa contraseña no concuerda con el usuario ingresado"End If'Limpiamos y cerramos.RS.CloseoConn.CloseSet RS = NothingSet oConn = NothingEnd If%>

Qué puedo hacer?

Realmente me será de gran ayuda quien me diga en qué estoy fallando, ya que hace una semana que este tema me está volviendo loca!

Gracias,

Rosamunda


  #2 (permalink)  
Antiguo 03/02/2002, 02:17
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 23 años, 4 meses
Puntos: 1
Re: AYUDA CON CODIGO !!! Estoy enloqueciendo

hi,

primero que nada al menos nos hubieras dado tu codigo

*En qué me estoy equivocando? Cómo hago para que, de ser correcto ingrese a la página protegida con password?

Una vez que compruebas que el login es correcto y el pass tambien usas el response.redirect ...


*Además, cómo hago para que el que una vez que ingresó, no copie la dirección y las siguientes veces vaya directamente?

creas una sesion o una cookie dependiendo

para la session en el momento de loguearse haces lo siguiente

Session("Usuario")=Request.Form("Us uario")

y despues en cada pagina antes que cualquier cosa de codigo pones algo asi

Usuario=Session("Usuario")

If Usuario="" Then
response.redirect...
End If

o con cookies

Response.Cookies("usuario")=Request.Form ("Usuario")
Response.Cookies("usuario").Expires=&quo t;01/01/2003" ' haces que expire en un año

Usuario=Request.Cookies("usuario")

If Usuario="" Then
response.redirect...
End If


La session se acaba una vez que el cliente cierra el explorador la cookie para borrarla puedes usar algo asi

Response.Cookies("usuario")=""

y listo


ah y en la sentencia sql te recomiendo utlizar

sql = "SELECT * FROM prueba WHERE usuario='"&usuario&"' and password='"&password&"'"

if ors.eof and ors.bof then
'lo mandamos a que reingrese por que algo anduvo mal o la contra o el usuario
else
'lo mandamos a la bienvenida ya que estuvieron los dos correctos
End if

salu2 :) ;)

<embed src="http://www.autocar.com.mx/images/logo.swf" type="application/x-shockwave-flash" width="468" height="60" play="true" wmode="transparent" menu="false" loop="true">
  #3 (permalink)  
Antiguo 03/02/2002, 10:00
Avatar de Rosamunda  
Fecha de Ingreso: diciembre-2001
Ubicación: Buenos Aires
Mensajes: 792
Antigüedad: 23 años, 4 meses
Puntos: 1
Re: AYUDA CON CODIGO !!! Estoy enloqueciendo

Me olvidé: el user es Corsa y el pass es 1234.
  #4 (permalink)  
Antiguo 03/02/2002, 10:02
Avatar de Rosamunda  
Fecha de Ingreso: diciembre-2001
Ubicación: Buenos Aires
Mensajes: 792
Antigüedad: 23 años, 4 meses
Puntos: 1
Re: AYUDA CON CODIGO !!! Estoy enloqueciendo

Por cierto, usando esos datos, ese código, funciona?
Rosamunda
  #5 (permalink)  
Antiguo 03/02/2002, 11:07
Avatar de Rosamunda  
Fecha de Ingreso: diciembre-2001
Ubicación: Buenos Aires
Mensajes: 792
Antigüedad: 23 años, 4 meses
Puntos: 1
Re: AYUDA CON CODIGO !!! Estoy enloqueciendo

Intenté hacer lo que me dijiste, pero al ingresar el código vuelvo a entrar en la página .asp y se ve (en el explorer) el código de la página, y no el contenido.
Hay algo muy básico y fácil que me estoy olvidando...

Entiendo que la cosa debería ser así:

En un archivo form.html el usuario pone su contraseña y, si coincide con los registros de la base de datos x.mdb, debería entrar a la página default.asp, pero no;
como en el ACTION del formulario dice ”login.asp” el usuario, ponga lo que ponga, entra a login.asp, y se ve el código de la página y no el contenido.

Qué estoy haciendo mal? El código debería resultar!

Rosamunda
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 12:09.