Login con usuario y contraseña desde una BD de Access
El ejemplo a continuación sirve para chequear si el nombre de usuario ingresado en un formulario,
coincide con su contraseña. Si no es asi, denegaremos el ingreso a la siguiente página.
Veamos el ejemplo que sigue.
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
<%
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 prueba 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
%>
Aqui abajo esta el código funcionando para que lo prueben y entiendan mejor.
La tabla que estoy utilizando, la creé en Access, y es la siguiente: