Hola a todos:
Me pasa una cosa curiosa. Estoy intentando crear una página para autenticar
usuarios.
Sin embargo, me está dando un error en la conexión a la base de datos. Lo
mas extraño
es que el código que utilizo para la conexión, es el mismo que utilizo en
otra página para
extraer otros datos de otra tabla. Pero en este caso me da error. ¿a que
puede deberse? :o
Este es el código:
<%
'Para los redireccionamientos
Response.Buffer=True
Dim con, rs, sSQL, nombre, password
'Recogemos el formulario
nombre=Trim( Request.Form("Nombre") )
password=Trim ( Request.Form("Password") )
'Si no lo ha enviado, es decir no hay nada en estas variables
'le presentamos el formulario
if nombre="" then
MostrarFormulario
else
'Validamos su identidad
set con=Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")
con.open "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:\Inetpub\wwwroot\mibasededatos.mdb"
sSQL="SELECT Id_usuario, login, password FROM users WHERE
(Login='"&nombre&"' AND Password='"&password&"');"
'Ejecutamos consulta
rs.Open sSQL, con
if rs.EOF then
'No existe ese usuario con esa contraseña
'Así que le negamos el acceso
Session("autenticado")=False
Response.Status="401 Prohibido"
else
'Le mandamos a la pagina de bienvenida
Session("autenticado")=True
Response.Redirect("bdd.asp")
end if
end if
rs.Close
set rs=nothing
con.Close
set con=nothing
Sub MostrarFormulario
Response.Write("<FORM METHOD=""post"" ACTION=""login.asp"">")
Response.Write("<INPUT TYPE=""text"" NAME=""Nombre""><BR>")
Response.Write("<INPUT TYPE=""password"" NAME=""Password""><BR>")
Response.Write("Entre su nombre de usuario y contraseña -<INPUT
TYPE=""submit"">")
End Sub 'MostrarFormulario
%>
Y el error es el siguiente:
a.. Tipo de error:
Error de Microsoft VBScript en tiempo de ejecución (0x800A01A8)
Se requiere un objeto: ''
/login.asp, línea 51
La línea 51 es la siguiente:
rs.Close
Gracias por la ayuda.
DeimoXXX
Leer las respuestas