Aqui tienes una buena base:
Login:
Hacer un formulario en el que cada campo tenga un name, por ejemplo
registrate.htm
Código:
<form action="registro.asp" method="post">
<input type="text" name="id">
<input type="text" name="pass">
<input type="submit">
</form>
registro.asp
Código:
Set conexion=Server.CreateObject("adodb.connection")
conexion.Open"driver={Microsoft Access Driver (*.mdb)}; ; DBQ="+server.mappath ("nombre-de-la-bd.mdb")
Set tabla=Server.CreateObject("adodb.recordset")
'Hay que poner lo de ,3,3 para que podamos escribir en la BD
Tabla.Open "tabla",Conexion,3,3
'Le decimos a la BD que vamos a meter cosas
tabla.addnew
'Ahora sacamos del formulario lo que vamos a meter y le decimos en qué campos
'de la tabla vamos a hacerlo
tabla ("id") = request.form ("id")
tabla ("pass") = request.form ("pass")
'Hacemos que la base se actualice
tabla.update
'Cerramos la tabla de la BD
tabla.close
'Cerramos la conexión a la BD
conexion.close
Hasta aquí es para que el usuario se registre
Ahora vamos a hacer que pueda identificarse:
identificate.htm
Código:
<form action="identificate.asp" method="post">
<input type="text" name="id">
input type="text" name="pass">
<input type="submit">
</form>
identificate.asp
Código:
'Hacemos que el ID lo coja del formulario y
'eliminamos las posibles comillas de la entrada
'para evitar la introducción de sentencias SQL
id=replace(request.form("id"),"'","")
pass=replace(request.form("pass"),"'","")
'Creamos las variables para guardar los datos
Dim conexion,tabla
'Creamos la conexión a la BD
Set conexion=Server.CreateObject("adodb.connection")
'Abrimos la conexión con el driver de acces (No es necesario hacer DSN)
conexion.Open"driver={Microsoft Access Driver (*.mdb)}; ; DBQ="+server.mappath ("nombre-de-la-base.mdb")
'Le decimos que abra la tabla que queremos usar para la base
Set tabla=Server.CreateObject("adodb.recordset")
'hacemos que compruebe que en la base de datos haya un usuario con la ID que pedimos
ssql = "SELECT * FROM tabla where id like '" & id & "';"
'aquí abre la tabla con la instrucción SQL, buscando el registro en que "id" del formulario sea como algún "id" de la tabla de autorizados.
Tabla.Open ssql,Conexion
'Sacamos la contraseña del usuario de la base de datos y la guardamos en una variable
pass = tabla ("pass")
'Hacemos una estructura If Then Else para verificar que la pass de ese id es la correcta
if reqest.form ("pass") = pass then
response.write "Ya puedes continuar navegando"
else
response.write "O no estás identificado o has escrito mal la contraseña<br>"
response.write "<a href='registrate.htm'>Pulsa aquí si no estás registrado</a>"
end if
NOTA: CUIDADO CON LAS COMILLAS DENTRO DE RESPONSE.WRITE, usa comillas simples si puedes, o si no:
response.write ".........." & chr(34) & "..................."
(ese chr(34) es el ASCII de ")
También puedes tirar de response.redirect pagina.htm en vez de response.write, pero si metes el código de la página que quieres proteger dentro del asp nadie no autorizado podrá verla.