Buenos días a todos:
Tengo un problema al comprobar en mi página si el usuario y la contraseña ingresadas a través de un formulario son correctas. Tengo subido al servidor una base de datos access (no están en la carpeta dato o cgi bien, están en el directorio raiz) con los campos de Usuario y Contraseña. El caso es que a través de otro formulario puedo agregar más usuarios, ver los que están insertados en la base de datos o borrarlos, pero en el formulario de acceso a usuarios registrados no me funciona, me sale este mensaje "Error en el servidor al procesar la dirección URL. Póngase en contacto con el administrador del sistema.".
Tengo una página con el formulario que llama a la página login.asp. Y el código de login.asp es este:
Código HTML:
<%
Dim Usuario, Contraseña, 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("Contraseña") = "" then
Response.Redirect "foro.asp"
Else
'Guardamos los datos del Form en variables y evitamos la comilla simple
Usuario = Trim(Request.Form("Usuario"))
Contraseña = Trim(Request.Form("Contraseña"))
Usuario = Replace(Usuario,"'","''")
Contraseña = Replace(Contraseña,"'","''")
'Conectamos a nuestra BD.
Set oConn = Server.CreateObject ("ADODB.Connection")
oConn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("users.mdb"))
'Seleccionamos de la tabla solo los registros que concuerden con el usuario del Form.
sql = "SELECT * FROM usuarios 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("Contraseña") = Contraseña 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
%>
Gracias por su ayuda y un saludo!