Foros del Web » Programando para Internet » ASP Clásico »

Registro De Usuarios Con Access

Estas en el tema de Registro De Usuarios Con Access en el foro de ASP Clásico en Foros del Web. No se nada de ASP..pero me baje unos ejemplos y de usuario y password y me funciona..pero ahora quiero que mediante un formulario sencillo los ...
  #1 (permalink)  
Antiguo 17/02/2005, 20:23
Avatar de edgartamay  
Fecha de Ingreso: enero-2002
Mensajes: 66
Antigüedad: 22 años, 4 meses
Puntos: 0
Registro De Usuarios Con Access

No se nada de ASP..pero me baje unos ejemplos y de usuario y password y me funciona..pero ahora quiero que mediante un formulario sencillo los nuevos usuarios puedan registrarse ..es decir que eingresen su usuario y password a mi base de datos en access para que puedan logearse .

si tienen algun ejempplo de codigo les agracedere que me lo pasen o que me expliquen el procedimiento.

gracias..
  #2 (permalink)  
Antiguo 24/02/2005, 11:18
Avatar de ludovico2000  
Fecha de Ingreso: noviembre-2003
Ubicación: Bizkaia
Mensajes: 1.315
Antigüedad: 20 años, 7 meses
Puntos: 2
Aqui tienes una buena base:

Login:
Hacer un formulario en el que cada campo tenga un name, por ejemplo

registrate.htm
Código:
<form action="registro.asp" method="post">
<input type="text" name="id">
<input type="text" name="pass">

<input type="submit">
</form>
registro.asp

Código:
Set conexion=Server.CreateObject("adodb.connection")
conexion.Open"driver={Microsoft Access Driver (*.mdb)}; ; DBQ="+server.mappath ("nombre-de-la-bd.mdb")
Set tabla=Server.CreateObject("adodb.recordset")
'Hay que poner lo de ,3,3 para que podamos escribir en la BD
Tabla.Open "tabla",Conexion,3,3
'Le decimos a la BD que vamos a meter cosas
tabla.addnew
'Ahora sacamos del formulario lo que vamos a meter y le decimos en qué campos
'de la tabla vamos a hacerlo
tabla ("id") = request.form ("id")
tabla ("pass") = request.form ("pass")

'Hacemos que la base se actualice
tabla.update
'Cerramos la tabla de la BD
tabla.close
'Cerramos la conexión a la BD
conexion.close
Hasta aquí es para que el usuario se registre
Ahora vamos a hacer que pueda identificarse:

identificate.htm
Código:
<form action="identificate.asp" method="post">
<input type="text" name="id">
input type="text" name="pass">
<input type="submit">
</form>
identificate.asp
Código:
'Hacemos que el ID lo coja del formulario y
'eliminamos las posibles comillas de la entrada
'para evitar la introducción de sentencias SQL
id=replace(request.form("id"),"'","")
pass=replace(request.form("pass"),"'","")
'Creamos las variables para guardar los datos
Dim conexion,tabla
'Creamos la conexión a la BD
Set conexion=Server.CreateObject("adodb.connection")
'Abrimos la conexión con el driver de acces (No es necesario hacer DSN)
conexion.Open"driver={Microsoft Access Driver (*.mdb)}; ; DBQ="+server.mappath ("nombre-de-la-base.mdb")
'Le decimos que abra la tabla que queremos usar para la base
Set tabla=Server.CreateObject("adodb.recordset")
'hacemos que compruebe que en la base de datos haya un usuario con la ID que pedimos
ssql = "SELECT * FROM tabla where id like '" & id & "';"
'aquí abre la tabla con la instrucción SQL, buscando el registro en que "id" del formulario sea como algún "id" de la tabla de autorizados.
Tabla.Open ssql,Conexion

'Sacamos la contraseña del usuario de la base de datos y la guardamos en una variable
pass = tabla ("pass")
'Hacemos una estructura If Then Else para verificar que la pass de ese id es la correcta
if reqest.form ("pass") = pass then
response.write "Ya puedes continuar navegando"
else
response.write "O no estás identificado o has escrito mal la contraseña<br>"
response.write "<a href='registrate.htm'>Pulsa aquí si no estás registrado</a>"
end if
NOTA: CUIDADO CON LAS COMILLAS DENTRO DE RESPONSE.WRITE, usa comillas simples si puedes, o si no:

response.write ".........." & chr(34) & "..................."

(ese chr(34) es el ASCII de ")

También puedes tirar de response.redirect pagina.htm en vez de response.write, pero si metes el código de la página que quieres proteger dentro del asp nadie no autorizado podrá verla.

Última edición por ludovico2000; 24/02/2005 a las 11:22 Razón: problema con las tildes en mi teclado
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:32.