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]
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.