Bueno bueno, ya era hora de que el novato aportara algo pa el foro.
Antes que nada, quiero dedicar este post a todos aquellos que me han ayudado a seguir adelante,
a no rendirme y darme su mano en los malos momentos, gracias a epa1 y a Bkanzip por su paciencia
conmigo.
y ahora, despues de esto vamos al grano, je je je.
construimos una BD en access con los campos usuario, password y curso. a la tabla la he llamado
USUARIOS y la BD XXXX
hacemos una página asp llamada login.asp
' este codigo es producto de epa1 epa2 y bkanzip, usarlo libremente pero recordar siempre que recibisteis gratis dad gratis
<head>
<title>USUARIO</title>
<%if request.form("usuario")="" then%>
<form method="POST" action="login.asp">
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p align="center"><%=request.querystr ing("msg")%></p>
<div align="center">
<center>
<table border="0" width="50%" bgcolor="#F2F2F2">
<tr>
<td width="100%" colspan="2" bgcolor="#0000FF">
<p align="center"><font color="#FFFFFF">Login</font></td>
</tr>
<tr>
<td width="50%">Usuario:</td>
<td width="50%"><input type="text" name="usuario" size="20"></td>
</tr>
<tr>
<td width="50%">Password: </td>
<td width="50%"> <input type="password" name="password" size="20"></td>
</tr>
<tr>
<td width="100%" colspan="2">
<p align="center"><input type="submit" value="Enviar" name="B1"></td>
</tr>
</table>
</center>
</div>
</form>
<%else
'eliminamos las posibles comillas de la entrada
'para evitar la introducción de sentencias SQL
usuario=replace(request.form("usuario"), "'","")
password=replace(request.form("password" ),"'","")
Set Conn = Server.CreateObject("ADODB.Connection")
'abrimos la conexion y le decimos el directorio de nuestra BD y el nombre de la BD
Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\BD\XXXX.mdb"))
set rs = CreateObject("ADODB.Recordset")
sqltxt="Select * from usuarios where usuario='"&usuario&"' and password= '"&password&"'"
'response.write sqltxt
rs.Open sqltxt, conn
if not rs.eof then
' nos ha devuelto un registro, ahora miraremos si es valido
' con ello evitamos el ataque típico SQL
if rs("usuario")=usuario and rs("password")=password then
' si el usuario esta en la base de datos y la password coincide
SQL2="SELECT curso FROM usuarios WHERE usuario='"&usuario&"' AND password='"&password&"'"
set rs=Conn.execute(SQL2)
end if
if not rs.eof and not rs.bof then
' creamos la sesion con el nombre curso y le damos el valor que se encuentre dentro del campo curso de la tabla en la BD.
session("curso")=rs("curso")
session("autorizacion")=1
response.redirect "pagina_protegida.asp"
end if
else
autorizacion =-1
end if
rs.close
set rs=nothing
conn.close
set conn=nothing
if autorizacion=-1 or autorizacion="" then
' no hemos encontrado el registro
' eso indica que el usuario y/o la password son piratillas je je
response.redirect "login.asp?msg=Usuario%20o%20password%20incor rectos"
end if
end if%>
</head>
<body>
</body>
</html>