Re: Por favor, ayuda con esto, es un duda fácil... (Primero que nada... alguien, por acaso, puede creer que me voy a cortar en esto? Si por el contrario, les agradezco mucho su ayuda!!!
Por cierto:
No estoy usando servidor proxy, sino la “detección automática”, aún así, puse, en la parte del proxy lo que me dijiste, pero me sigue pidiendo conectarme.
Cuando pongo http://localhost/login.asp me pide que me conecte.
(La página asp la tengo en C:\Inetpub\wwwroot).
Acá va el código que uso:
El un form común, de una página html (en la que los que quieren dejan sus datos para sumerse a los usuarios registrados), agrego esto
<FORM NAME="Login" METHOD="POST" ACTION="alta.asp">
La página alta.asp tiene este código:
<%
Dim nombre, apellidos, telefono, email, login, password
Dim correcto
Dim oConn, rs, SQL
'Recogemos el formulario
nombre=Request.Form("nombre")
apellidos=Request.Form("apellidos")
...
correcto=True
'Comprobamos que no hay campos vacíos
if nombre="" then correcto=False end if
if apellidos="" then correcto=False end if
...
if password="" then correcto=False end if
if correcto then
'Solo si todo está bien, comprobamos con la bd
set oConn=Server.CreateObject("ADODB.Connection&q uot;)
oConn.Open ...
SQL="SELECT * FROM Usuarios WHERE (Login='"&login&"');"
'Ejecutamos la consulta
set rs=oConn.Execute(SQL)
'si no nos devuelve vacío es que el login ya está en uso
if not rs.EOF then
Response.Write("El nombre de usuario ya está siendo utilizado. ")
Response.Write("Por favor, escoja otro.")
else
' es vacio, así que le insertamos en la bd
SQL="INSERT INTO Usuarios " & _
"(Login, Password, Nombre, Apellidos, Tlf, Email)"
SQL=SQL & " VALUES ('"&login&"', '"&password & _
"', '"&nombre&"','"&apellid os&"','"&telefono&"','& quot;&email&"');"
oConn.Execute(SQL)
Response.Write("Gracias por registrarte, "& nombre)
end if
'Limpiamos objetos
rs.Close
oConn.Close
set rs=nothing
set oConn=nothing
else
'El usuario ha metido datos incorrectos
Response.Write("Datos incorrectos!")
end if
%>
Luego hago una página en la que el usuario ya registrado ingresa su clave: (login.asp)
<%
'Para los redireccionamientos
Response.Buffer=True
Dim oConn, rs, SQL, nombre, password
'Recogemos el formulario
nombre=Trim( Request.Form("Nombre") )
password=Trim ( Ruest.Form("Password") )
'Si no lo ha enviado, es decir no hay nada en estas variables
'le presentamos el formulario
if nombre="" then
MostrarFormulario
else
'Validamos su identidad
set oConn=Server.CreateObject("ADODB.Connection&q uot;)
oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("ejemplo.mdb)
SQL="SELECT Id_USUARIO, Login, Password FROM " & _
"Usuarios WHERE (Login='"&nombre&"' AND Password='"&password&"');"
'Ejecutamos consulta
set rs=oConn.Execute(SQL)
if rs.EOF then
'No existe ese usuario con esa contraseña
'Así que le negamos el acceso
Session("aut")=False
Response.Write("Lo siento, no existe ese usuario/contraseña.")
else
'Le mandamos a la pagina de bienvenida
Session("aut")=True
Response.Redirect("default.asp")
end if
end if
%>
Y ahora, entiendo que debería poner en cada página que quiera proteger esto:
<%
'Página privada
if Session("aut")=False then
le negamos el paso
end if
%>
Por cierto, la bese de datos en access se llama usuarios, y la tabla también usuarios.
Qué será lo que tengo mal??
GRACIAS DE NUEVO CHICOS!!
Rosamunda |