Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/09/2007, 23:30
Avatar de u_goldman
u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 10 meses
Puntos: 98
Un módulo de usuarios

Hola a todos, desde hace tiempo he querido ir desarrollando un pequeño módulo que pueda servir a la comunidad, después de indagar un poco y aunque hay muchas y muy buenas cosas hechas, y asp 3.0 es obsoleto y bla bla bla, no me quise quedar con las ganas, así que pensé en desarrollar un pequeño módulo de usuarios donde además daré una breve explicacón de las técnicas empleadas y su por qué, espero que lo disfruten y nos acompañemos, estaré muy contento de escuchar/leer sus dudas y sobre todo sus sugerencias, tomen en cuenta que todo lo expresado a lo largo de este tópico es meramente mi opinión, lo importante es obtener cada quien sus conclusiones.


- Sobre la estructura de directorios:
Esto es algo que regularmente todos pasamos por alto a la hora de construír nuestras aplicaciones, y no debería ser; una buena estructura de directorios, nos permite tener organizado nuestros archivos, y contenidos, por ende, el mantenimiento al website siempre será mejor y más organizado, entre más organizado y simple se encuentre nuestra estructura de directorios, así pues que para este proyecto, emplearemos la siguiente estructura:

Código:
Directorio raíz
|
|--admin (la famosa carpeta, ya sabes que es ¿no?)
|
|--componentes (utilizaremos esta carpeta para alojar nuestra/s clase/s)
|
|
|--global.asa
|--conexion.asp
Bueno, hasta aquí vamos bien, pretendo que podamos hacer nuestra aplicación configurable con Access y SQL, hace mucho que no trabajo con Access, pero en teoría debe funcionar igual si nos apegamos a los estándares MS

* Pasos preliminares

Nombre de la base de datos: curso
Estructura:

Código:
tbl_usuario
--------------------
usuario_id           |  autoincremental, llave primaria
usuario_uname   |  texto/varchar(50)
usuario_pwd       |  texto/varchar(50)

* Código del global.asa
Es siempre una buena costumbre utilizar nuestro global.asa de manera eficiente, hay que recordar que el alcance de las variables declaradas en el global.asa, es de aplicación, esto quiere decir que estarán disponibles para toda la vida de nuestra aplicación desde la primera petición que se haga a nuestro sitio web y en adelante; su valor será siempre el mismo a menos que se modifique directamente el global.asa

Código:
<script language="vbscript" runat="server">
sub Application_OnStart
    Application("baseDatos") = "sql" 'cambia valor a access si es esta bd con la que trabajarás
    Application("baseDatosNombre") = "cursito" 'nombre de tu base de datos, la mia se llama cursito
    Application("baseDatosRutaoServidor") = "(local)" 'direccion de tu servidor SQL, o ruta de fisica a tu base de datos si ocupas access, asegurate de ponerle un \ al final de la ruta.
end sub
</script>

* Código del archivo conexion.asp
Esto es algo que personalmente me parece una buena práctica, me gusta guardar el string de conexión en un archivo.asp que llamo conexion.asp, ahí podemos poner ciertas condiciones que se cumplan de acuerdo a nuestra variable de aplicación para hacerle saber qué base de datos utilizará.

Código:
<%
Dim strConnect
Select case lcase(Application("baseDatos"))
    case "access"
        strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Application("baseDatosRutaoServidor")&";"
    case "sql"
        strConnect = "Provider=SQLNCLI;Server="&Application("baseDatosRutaoServidor")&";Database="&Application("baseDatosNombre")&";Trusted_Connection=yes;"
End Select
%>
<!-- METADATA type="typelib" file="D:\program Files\Common Files\System\ado\msado15.dll" -->
Básicamente es un SELECT CASE, el cual se encarga de elegir el string de conexion. Nota el include que hago del archivo msado15.dll, esta es una muy buena práctica para incluir las constantes de ado sin tener que incluir el archivo ese maligno llamado adovb.inc o algo por el estilo, que siempre me cayó mal y lo bueno de tener este archivo de conexion es que lo incluiremos en todos lados donde nos conectemos a la base de datos, por lo tanto, también tendremos nuestras constantes de ADO disponibles cada vez que queramos abrir una conexión.


Eso es todo por hoy, mañana incluiremos nuestro formulario de login y revisaremos lo básico de la clase usuario.

Salud
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway