¿Cómo realizar un login en mi página web con ASP?

Estuve mirando tu explicación y me ayuda mucho, pero no logre que me funcione lo que quiero hacer
Yo quiero hacer que los que visiten la página se registre y elijan una clave
luego en algunas páginas quiero restringir el acceso y que entren con su clave y usuario
me podes dar una mano
te doy mi msn por las dudas
[email protected]

1 Respuesta

Respuesta
1
Por un lado tienes que hacer un formulario de alta y una página ASP que guarde los datos del usuario.
Por otro lado tienes que hacer una página de Login, que pida los datos al usuario, y otra ASP que los compruebe con la base de datos. Si le das acceso, puedes guardar en una variable de sesión el estado del usuario. Además, puedes leer el parámetro "href" (por ejemplo), para redigir al usuario a la página especificada.
Por último, en cada página que quieras "cerrar" miras la variable de sesión que contiene el estado. Si no ha introducido sus credenciales, lo envías a la página de Login añadiéndole como parámetro "href" la página donde se encuentra ahora. Así, al usuario se le pedirán los datos y una vez validados volverá a la página donde quería acceder.
La teoría la entiendo
Pero no se como hacerlo
Algo se, pero no como para hacer todo eso
¿No tienes algún ejemplo? Que me puedas mandar por mail
mi mail es [email protected]
Gracias otra vez
La verdad es que ejemplos a mano no tengo. Siempre que respondo mensajes lo hago "de memoria" a partir de mis experiencias, y mi intención es siempre guiar y aconsejar a los usuarios. En la red (Internet) hay todo lo que se necesita. Yo empecé sin nada ni nadie que pudiera ayudarme, y tuve que espabilarme para llegar a saber lo que sé. Y todo lo encontré en Internet, en unos tiempos en que había muy poca información. En todo caso, y "de memoria", te puedo guiar a más profundidad.
El formulario de alta es muy sencillo, y aquí no te ayudo. Simplemente has de dirigir el formulario a la página "altausuario.asp", por ejemplo. En esta página, lo básico para guardar los datos es:
<%
Set conn=server.createobject("ADODB.Connection")
Set rs=server.createobject("ADODB.Recordset")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source = " & Server.MapPath("basedatos.mdb")
rs.open "select * from usuarios where nombre='" & request("usuario") & "'",conn
if not rs.eof then
yaexiste=true
else
conn.execute "insert into usuarios (nombre,password) values ('" & request("usuario") & "','" & request("password") & "')"
end if
rs.close
conn.close
set rs=nothing
set conn=nothing
if yaexiste then
response.redirect "usuarioyaexiste.htm"
else
response.redirect "bienvenido.htm"
end if
%>
Se supone que antes deberás crear la base de datos "basedatos.mdb" con Access 2000, con la tabla "usuarios" con campos "nombre" y "password" y ponerla en el servidor en el mismo directorio que las páginas. A parte, en el formulario de alta habrás nombrado los INPUTs como "usuario" y "password".
En cuanto al login, lo mismo que antes, un formulario que apunte a "entrar.asp". Y en "entrar.asp", más o menos lo siguiente:
<%
Set conn=server.createobject("ADODB.Connection")
Set rs=server.createobject("ADODB.Recordset")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source = " & Server.MapPath("basedatos.mdb")
rs.open "select * from usuarios where nombre='" & request("usuario") & "' and password='" & request("password") & "'",conn
if not rs.eof then
ok=true
else
ok=false
end if
rs.close
conn.close
set rs=nothing
set conn=nothing
if ok then
session("validado")=true
response.redirect request("href")
else
response.redirect "vuelveaintentarlo.htm"
end if
%>
Y en las páginas protegidas lo siguiente:
<% if no session("validado") then
response.redirect "login.asp?href=<estapagina>"
else
<restode la página>
end if
%>
¿Qué método de tengo que usar para enviar el formulario?
Yo lo puse en post
Cuando cargue los archivos en el servidor e ingreso un usuario y una password me habré la página altausuario.asp y dice error
no se puede mostrar la página
Que hice mal
Seguí tus pasos a la perfección, los cuales me fueron muy claros
por favor ayudame, te agradezco otra vez
Estimados,
El error que esta apareciendo es de programación en el archivo "altausuario.asp"
Microsoft JET Database Engine error '80040e14'
Syntax error in INSERT INTO statement.
/altausuario.asp, line 16
El método POST es correcto. En cuanto al error de sintaxis, pon justo antes del conn.execute lo siguiente:
response.write "insert into usuarios (nombre,password) values ('" & request("usuario") & "','" & request("password") & "')"
response.end
Con esto verás la sentencia SQL al completo. A lo mejor falta alguna comilla.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas