Primera Parte: Creación de la base de datos
Antes que nada, debemos crear una base de datos en Access, para lo cual les dejo las siguientes instrucciones:
Primer Paso:
- Vamos a ir a Access y elegimos crear una nueva base de datos en blanco y la guardamos con el nombre de "basedatos".
- Creamos una tabla en vista de diseño.
- En esta tabla, estableceremos los datos que le queremos pedir a nuestro usuario, en este caso, pediremos los datos básicos, usuario y contraseña.
- Para poder crea esto, en la tabla, se ven renglones blancos y en estos introduciremos nuestros campos.
- En el primer campo, introducimos "id" y le asignamos autonumérico
- En el segundo le asignamos "usuario".
- En el tercero le asignamos "contrasena" (recuerden que es convenientes no usar ñ ni acentos ni espacios en blanco) y le asignamos que sea texto.
- Cerramos la tabla y nos preguntara si deseamos guardar los cambios y le decimos que sí y lo guardamos como "usuarios".
Para los que no saben SQL, les paso el pequeño código necesario.
Para el que quiere aprender a crearla sin necesidad de saber SQL les dejo las siguientes instrucciones:
- Crearemos una consulta en Access, que se encuentra justo abajo de la sección tablas.
- Vamos a consulta y crearemos una en vista de diseño.
- Nos pedirá que elijamos de qué tabla queremos seleccionar los datos y elegiremos la tabla "usuarios" que creamos anteriormente.
- Ahora debemos arrastrar "usuario" y "contrasena" a los campos, pero esta vez en forma vertical.
- Cerramos esta consulta y la guardamos con el nombre "consulta".
En este paso acabamos de crear nuestro código SQL, para poder verlo hacemos doble click sobre nuestra consulta, nos vamos al menú VER y seleccionamos vista SQL y copiamos el código que vemos
Código :
" SELECT * FROM usuarios WHERE usuario".
Para poder tener un usuario y una contraseña, debemos ir a nuestra tabla y crear manualmente uno o varios nombres de usuarios con sus contraseñas.
Una vez hecho esto cerramos la base y creamos nuestra página de login.html utilizando algún editor de código como el Macromedia Dreamweaver, Macormedia Home Site o simplemente nuestro bloc de notas de Windows.
Segunda Parte: Creación del ASP
Crearemos un formulario en HTML y lo vincularemos a una página en ASP que hace el control de datos que se llamara controlusuario.asp, la cual crearemos más tarde.
El código para el formulario en HTML es el siguiente:
Código :
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Login</title> </head> <body> <form action="controlusuario.asp" method="post" > <p align="center">Sistema de login </p> <table width="758" height="90" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td colspan="2"><div align="center"> <input name="usuario" type="text" id="usuario" size="20" maxlength="25" /> </div></td> </tr> <tr> <td colspan="2"><div align="center"> <input name="password" type="password" id="password" size="20" maxlength="20" /> </div></td> </tr> <tr> <td width="379"> <div align="right"> <input name="Submit" type="submit" value="Entrar" /> </div></td> <td width="379"><div align="left"> <input type="reset" name="Submit2" value="borrar" /> </div></td> </tr> </table> <p></p> </form> </body> </html>
Guardamos la página con el nombre de login.html.
Ahora crearemos nuestro ASP que controla los datos.
El código es el siguiente:
Código :
<% Dim usuario, password, oConn, RS 'Primero nos fijamos si ambos campos fueron completados. 'Si no se cumple, redireccionamos a login.html If Request.Form("usuario") = "" OR Request.Form("password") = "" then Response.Redirect "login.html" 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 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.redirect("incorrecto.asp") ElseIf RS.Fields("contrasena") = password then 'Si el campo de la tabla es igual a nuestra variable, estas logueado. Response.redirect ("privado.asp") Else 'Otra cosa, seria cuando el password no es la que seleccionamos. Response.redirect("incorrecto.asp") End If 'Limpiamos y cerramos. RS.Close oConn.Close Set RS = Nothing Set oConn = Nothing End If %>
Esta pagina hace la verificación de los datos de usuario y contraseña. Si la contraseña es correcta te redirecciona a una página de contenido privado o la página que tú quieras.
Código :
( If (RS.EOF = true) then Response.redirect("incorrecto.asp") ElseIf RS.Fields("contrasena") = password then 'Si el campo de la tabla es igual a nuestra variable, estas logueado. Response.redirect ("privado.asp") )
En el caso de que los datos no sean correctos, te redirecciona a una página que te dice que los datos no son correctos.
Código :
( Else 'Otra cosa, seria cuando el password no es la que seleccionamos. Response.redirect("incorrecto.asp") )
Si el usuario no introduce ningún dato, te redirecciona es este caso a login.html.
Código :
(If Request.Form("usuario") = "" OR Request.Form("password") = "" then Response.Redirect "login.html").
Pueden descargar el ejemplo desde aquí:
[EJEMPLO]
Esperamos que este humilde tutorial les sea de utilidad.
Por cualquier consulta escribanos a [email protected]
http://www.dismotion.com Consultoria en desarrollos Digitales