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

ayuda codigo ASP

Estas en el tema de ayuda codigo ASP en el foro de ASP Clásico en Foros del Web. Bueno, pues quiero porner en mi web una zona de usuarios, lo tipico, y para ello tengo mi base de datos y dos paginas en ...
  #1 (permalink)  
Antiguo 22/08/2007, 05:44
 
Fecha de Ingreso: mayo-2007
Mensajes: 5
Antigüedad: 17 años
Puntos: 0
ayuda codigo ASP

Bueno, pues quiero porner en mi web una zona de usuarios, lo tipico, y para ello tengo mi base de datos y dos paginas en asp que son las siguientes:

PAGINA 1:
<body>
<FORM ACTION="pagina2.asp" METHOD="post"><BR>
<B>Usuario:</B> <INPUT NAME="usuario" SIZE="12"><BR>
<B>Contraseña:</B> <INPUT NAME="password" SIZE="12"><BR><BR>
<INPUT TYPE="Submit" VALUE="Ingresar">
</FORM>
</body>

PAGINA 2:
<body>
<p>
<%
Dim usuario, password, oConn, RS
'Primero nos fijamos si ambos campos fueron completados.
'Si no se cumple, redireccionamos a pagina1.asp
If Request.Form("usuario") = "" OR Request.Form("password") = "" then
Response.Redirect "pagina1.asp"
Else
'Guardamos los datos del Form en variables y evitamos la comilla simple
usuario = Trim(Request.Form("usuario"))
password = Trim(Request.Form("password"))
usuario = Replace(usuario,"'","''")
password = Replace(password,"'","''")

'Conectamos a nuestra BD.
Set oConn = Server.CreateObject ("ADODB.Connection")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& Server.MapPath("./basedatos.mdb")

'Seleccionamos de la tabla solo los registros que concuerden con el usuario del Form.
sql = "SELECT * FROM basedatos WHERE usuario = '"& usuario &"'"
Set RS = Server.CreateObject ("ADODB.RecordSet")
RS.Open sql, oConn

'Si el valor EOF (fin de la tabla elegida) es verdadero, no existe el usuario.
If (RS.EOF = true) then
Response.Write "Ese usuario no existe"
ElseIf RS.Fields("password") = password then 'Si el campo de la tabla es igual a nuestra variable, estas logueado.
Response.Write "Te logueaste con exito... Bienvenido <B>"& usuario &"</B>"
Else 'Otra cosa, seria cuando el password no es la que seleccionamos.
Response.Write "Esa contraseña no concuerda con el usuario ingresado"
End If

'Limpiamos y cerramos.
RS.Close
oConn.Close
Set RS = Nothing
Set oConn = Nothing
End If
%>
</p>
<p>&nbsp;</p>
</body>

LA BASE DE DATOS SIMPLEMENTE TIENE UNA TABLA CON ID, USUARIO Y CLAVE
PERO CUANDO PONGO EL USUARIO CORRECTO Y LA CLAVE CORRECTA ME DICE QUE NO EXISTEN, Y NO ENCUENTRO EL FALLO
ALGUIEN ME PODRIA AYUDAR Y PROBAR EL CODIGO HABER DONDE ESTA EL ERROR???

ETERNAMENTE AGRADECIDO
  #2 (permalink)  
Antiguo 22/08/2007, 09:24
Avatar de verinchi  
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires
Mensajes: 647
Antigüedad: 19 años, 8 meses
Puntos: 2
Re: ayuda codigo ASP

Hola JOSOCLI
Creo que tu problema está aquí

Código:
    'Guardamos los datos del Form en variables y evitamos la comilla simple
   usuario = Trim(Request.Form("usuario"))
   password = Trim(Request.Form("password"))
   usuario = Replace(usuario,"'","''")
   password = Replace(password,"'","''")
Por lo que se, sea que pases los datos por post o por gets no llevan ninguna comilla, ni doble ni simple, consigo.
Con lo que este procedimiento lo estás colocando de mas.
Probá comentarlo y fijate qué pasa.
El Trim puede ser, aunque en verdad no es lo mismo teclear "verinchi " que "verinchi" para loguearme, y eso debería tenerlo en cuenta por ahí la aplicación.
Bah! son ideas mías, siempre haciendo que cueste loguearse . Igual, fijate comentando esa porción de código porque el resto a simple vista debería funcionar bien.
__________________
Why can't we not be sober?
www.partitorium.com.ar
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 15:18.