Hola desconocido

Hora internet: @ 952

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 codigo de Puro HTML va en la primer página:


Archivo: pagina1.asp

<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>

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:

Completa el Formulario
Usuario:
Contraseña:






© SoloASP.com.ar - 2001 / 2005. Todos los derechos reservados. soloasp@soloasp.com.ar
Buenos Aires - Argentina. Diseño web y programación por Guido Laghi