Conceptos básicos de ASP
1.- Introducción
ASP son la siglas de Active Server Page (páginas activas de servidor), es decir este código lo ejecuta el servidor que sirve y aloja la página, al cliente, le llega solo el resultado del código ejecutado.
Debido a la expansión de la WEB 2.0 y la futura 3.0 los lenguajes de lado del servidor están experimentando un auge muy importante últimamente. Los mas conocidos son ASP, PHP PERL.
Para trabajar en ASP podremos utilizar cualquier editor HTML e incluso el bloc de notas, ya que son archivos de texto plano con extensión .asp
2.- Primeros pasos
Como ASP está embebido (mezclado) con otras sentencias dentro de un documento HTML es imprescindible marcarle al servidor que zonas son de código ASP y cuales no, para lo cual delimitaremos los bloques de sentencias ASP encerrandolos entre <% y %>.
Técnicamente la primera instrucción en un documentos ASP debe ser la especificación del lenguaje de programación utilizado <% @ LANGUAJE=”VBSCRIPT” %>. No obstante si el lenguaje es Visual Basic Script esta instrucción no se suele poner ya que es el lenguaje por defecto. Sin embargo si utilizásemos javascript para servidores si que deberíamos especificar esta instrucción <% @ LANGUAJE=”JSCRIPT” %>.
Como nosotros utilizaremos VBSCRIPT podemos incluir esta sentencia o no.
3.- Bucle y condiciones.
3.1.- Condicion if. If condicion2 THEN S1 S2 ELSEIF condicion2 S3 S4 Else S5 End if 3.2 FOR.
For contador=nº inicio to nº fin STEP incremento S1 S2 Next
3.3.- Do while. Este bucle se ejecutara mientras que la condición sea verdadera. Si queremos que se ejecute mientras que sea falsa. Pondremos en do while not Do while condicion S1 S1 LOOP
NOTA: los operadores logicos para las condiciones son el AND es la y y el OR es el o.
NOTA: el bucle do while será muy importante cuando trabajemos con bases de datos.
4.- Objetos en ASP
El lenguaje visual Basic se complementa mediante la incorporación de módulos que permiten el desarrollo de una serie de tareas específicas, estos objetos nos ahorran el tener que programar muchas líneas de operaciones sencillas.
Además de los que ya vienen integrados en el sistema, podríamos utilizar o llamar a otros módulos no integrados pero que son de pago
4.1.- Objeto Request
Un programa tradicional consta de un único espacio de desarrollo, en el cual la transmisión de información y variables resulta extremadamente sencilla. Por contraposición la programación web se enfrenta al problema de la comunicación entre los diferentes elementos que la componen (una página WEB es una colección de documentos HTML con la unica relación entre si de que están enlazados de alguna manera).
La necesidad de comunicar los diferentes documentos que conforman una página Web nos lleva a utilizar el objeto request, el cual, nos devuelve informaciones del usuario que han sido enviadas por: a.Formularios b.URL c.Cookies NOTA: para evitar que en la barra de direcciones se vean los valores de las variables deberemos funcionar de la siguiente manera: 1.El método del formulario origen tiene que ser post 2.en vez de utilizar el metodo querystring del objeto request utilizaremos el método form ejercicio_03/post .NOTA: el método form es el método predeterminado del objeto request, lo que significa que no es obligatorio ponerlo, ya que hace lo mismo aunque no aparezca
4.1.1- Variables de servidor.
El objeto request, además de su función principal, nos da acceso a otro tipo de informaciones tanto del servidor como del cliente. Uno de lso conjuntos de informaciones al cual podemos acceder es la colección ServerVariables, algunas de ellas son: http_accept_languaje: nos informa del lenguaje preferido del navegador http_user_agnet: nos indica el navegador utilizado path_translated: nos devuelve la ruta física del disco duro conde está el script. Server_software_ tipo de software que utilza el servidor.
4.1.2- Objeto Response.
Como hemos visto el objeto request gestiona todo lo relativo a la entrada de datos al script. El script procesará esos datos y mediante el objeto response gestionaremos la salida de los resultados.El principal cometido del objeto response es escribir en el documento html soporte del script.
NOTA: response.write me permite escribir textos encerrados entre comillas, el valor de variables o contenidos mixtos concatenando textos. En este sentido es equivalente la sentencia <% response.write variable %> a <%=variable%>. Solo vale para variables. Ejercicio_06
4.2.1.- Método redirect.
Este método nos permite enviar al ínter nauta a la pagina que nosotros queramos.
NOTA: una técnica bastante habitual en ASP y en otros lenguajes de servidor es el utilizar este método redirect para ir a páginas ocultas o escondidas.
response.redirect("pagina")
5) Las cookies Las cookies son documentos de textos almacenadas por un sitio web en el disco duro de un cliente. La utilidad principal de las cookies es el poder reconocer al usuario a partir de la segunda vez que visita e sitio y así en función del perfil del cliente que se ha grabado en la primera visita, adaptar dinámicamente las páginas a su preferencia (lenguaje tamaño colores etc) para crear un archivo de cookies modificar una existente o una nueva utilizaremos la siguiente sintaxis: RESPONSE.COOKIES (“nombre_de_lacookie”)=valor de la cookie el valor de la cookie puede ser una variable un texto un numero ya entre comillas. Por norma general amenos de que se especifique lo contrario la cooki tiene una duración delimitada a lo que dura la sesión del usuario ( unos 20 min por defecto), es decir transcurrido este tiempo o cuando se cierra el navegador la cooki se borra. Para especificar cuando deseamos que se borre la cooki utilizaremos la sintaxis: RESPONSE.COOKIES (“nombre_cookie”).EXPIRES=#30/04/2009# = NOW+30 Para leer cookies etilizaremos el objeto request: Valor_leido= REQUEST.COOKIES(“nombre_cookie”) (nota las cookies como herramienta es muy importante pero tienen un GRAN Inconveniente ya que dependen de que el navegador cliente las acepte o no y no tenemos control sobre ello ya que depende del usuario con lo cual tenemos que tener un sistema alternativo para solucionar ese posible problema) Ejercicio 6 Generar el documento eje6.asp que: Lea el valor de la cooki nombre Si existe o no es vació mostrar un mensaje en el centro saludándome Si no existe un formulario con un cuadro de texto donde se escriba el nombre y que vaya a si mismo para grabar la cooki por lo tanto tengo que implementar la información del documento en la cookie
6.- Objeto sesión.
En la necesidad de transmitir datos entre paginas de la misma web la solución que aporte el uso de cookies no es eficaz al 100%. (Limitaciones en la aceptación de las mismas o problemas con diferentes navegadores). La alternativa es almacenar esos datos en unas variables de sesión del servidor. La ventaja es clara, nosotros controlamos el servidor y no dependemos de terceros. Y para evitarnos las posibles desventajas, estas variables se borraran de forma automática cuando acabe la sesión, que salvo especifiquemos lo contrario suelen ser unos 20 minutos desde que cesa la actividad del usuario. Para establecer una sesión valida durante una sesión utilizaremos la sintaxis: Session(“nombre_de_la_variable”)=valor_de_la_variable
Esta variable podrá ser utilizada en cualquier script de cualquier documento de la página web
Para modificar la duración por defecto de la sesión (20 minutos) utilizaremos la propiedad: session.timeout=nº_minutos_duracion.
Si queremos especificar que la sesión se acaba ya sin esperar nada utilizaremos session.abandon
Para recuperar el contenido de una variable de sesión utilizaremos la sintaxis. mivariable=session(“nombre_de_la_sesion”).
7.- Bases de datos en ASP.
Una de las principales ventajas que nos aporta ASP, es el poder almacenar el contenido en bases de datos para poder organizarlos, almacenarlos y buscarlos de una manera muy simple.
7.1 SQL (structured Query languaje).
SQL está diseñado específicamente para acceder y manipular bases de datos, de hecho está aceptado como el estándar de programación de bases de datos, aunque si bien tiene muchas variantes.
Al contrario que la mayoría de los lenguajes de programación sql es un lenguaje no procedimental, lo que significa que no tiene elementos para controlar la secuencia ni el orden ni la ejecución del programa. Una sentencia SQL se limita a expresar lo que queremos hacer pero sin decir como se va a hacer, el programa lo interpreta y lo hace de forma transparente al programador devolviendo el resultado.
7.1.1 sentencia SELECT. Nos permite realizar una selección de registros de una o varias tablas especificando las condiciones que necesitemos. Tiene 4 partes: 1.Especificación de campos a seleccionar, podemos especificar los campos uno a uno los campos que queremos separados por “,” o utilizando el carácter * que selecciona todos los campos del registro 2.Especificación de la tabla origen mediante la clausula FROM se puede especificar el nombre de la tabla de donde van a provenir los registros 3.Especificación de los criterios de selección. Lo realizaremos mediante la cláusula WHERE 4.Especificación del orden mediante la clausula ORDER BY podemos especificar por que campos queremos ordenar, por defecto la ordenadción es ascendente, si se quiere descendente desc select * from usuarios where nombre=’manolo’ (AND OR) apellido=’ramirez’ order by nombre Desc
NOTA1: tipo de datos que van a contener sin nada para int char ‘’ date ## NOTA2:
7.1.2 sentencia INSERT INTO.
Se utiliza para insertar registros en una tabla. La estructura es la siguiente:
INSERT INTO TABLA (CAMPOS) VALUES (VALORES)
La instrucción tiene 2 parámetros y un área de valores. Parámetro 1: nombre de la tabla donde se insertaran los registros Parámetro 2: lista con los nombres de los campos que se insertarán, es obligatorio que vayan encerrados entre paréntesis y separados por comas Área valores: valores que van a tomar los campos descritos. También es obligatorio que vayan encerrados entre paréntesis y separados por comas y en el mismo orden que la lista de campos.
NOTA: podemos usar como lista de valores el resultado de otra consulta
7.1.3 Sentencia DELETE.
Esta sentencia nos permite borrar uno o varios registros de una tabla pudiendo especificar uno o varios criterios. La sintaxis de la orden está dividida en 2 partes: 1.Especificación de la tabla: delete from nombretabla 2.Especificación de criterio o condiciones: where codigo=1 or nombre=’nombre’
7.1.4 Sentencia UPDATE.
Sentencia que nos permite realizar modificaciones los valores de los campos de uno o varios registros. Su sintaxis tiene 3 partes
UPDATE articulos SET micampo=’nombre articulo’ SET precio=5 where codigo=5
1.especificación de la tabla. 2.Especificación de los nuevos valores de los campos explicitados uno a uno 3.Especificación de criterio o condiciones que seleccionaran los registros o el registro al que se le aplicarán los cambios
NOTA: estas dos ultimas sentencias hay que usarlas con MUCHO CUIDADO ya que sino especificamos bien las condiciones o no especificamos condiciones la cagada puede ser tremenda (Actualizar o borrar registros in control). |