Ver Mensaje Individual
  #9 (permalink)  
Antiguo 15/02/2002, 14:53
Avatar de Rosamunda
Rosamunda
 
Fecha de Ingreso: diciembre-2001
Ubicación: Buenos Aires
Mensajes: 792
Antigüedad: 23 años, 4 meses
Puntos: 1
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