principios básicos de asp programar páginas asp bloques de … · 2006-06-08 · principios...

36
Principios básicos de ASP En este capítulo veremos los conceptos básicos que le harán falta para comenzar a programar páginas ASP Al concluir este capítulo usted deberá saber programar una simple página en ASP Bloques de código ASP Al igual que el lenguaje Html, los códigos ASP tiene un tag de inicio y fin de una página. En Html se utiliza <tag> para abrir, y </tag> para cerrar, mientras que en ASP se utiliza <% y %>, de la siguiente forma: <% ... %> Declaración del lenguaje Como ocurre en otros lenguajes de programación, se suele declarar el lenguaje a utilizar. Aunque esta sentencia es opcional en ASP muchos programadores suelen utilizarla: <% LANGUAJE="VBScript"%> Esta declaración se escribe al principio del archivo a utilizar, antes de cualquier otra expresión. Uso de los comentarios Al igual que otros lenguajes, es posible comentar el código: <% ' Esto es un comentario rem Esto es un comentario %> Un comentario dentro del código ASP se señala con una ' (comilla simple) antes del comentario, también se suele cambiar la ' por la palabra rem. De esta forma, toda la línea que contenga un comentario, el interprete de asp del servidor no lo leerá ni lo ejecutará Los comentarios son muy útiles cuando tenemos cientos o miles de líneas de código y luego queremos hacer alguna modificación, poniendo diferentes comentarios pueden ayudarnos mucho.

Upload: others

Post on 09-Apr-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Principios básicos de ASP programar páginas ASP Bloques de … · 2006-06-08 · Principios básicos de ASP En este capítulo veremos los conceptos ... una simple página en ASP

Principios básicos de ASP En este capítulo veremos los conceptos básicos que le harán falta para comenzar a programar páginas ASP

• Al concluir este capítulo usted deberá saber programar una simple página en ASP

Bloques de código ASP Al igual que el lenguaje Html, los códigos ASP tiene un tag de inicio y fin de una página.

En Html se utiliza <tag> para abrir, y </tag> para cerrar, mientras que en ASP se utiliza <% y %>, de la siguiente forma:

<% ... %>

Declaración del lenguaje Como ocurre en otros lenguajes de programación, se suele declarar el lenguaje a utilizar. Aunque esta sentencia es opcional en ASP muchos programadores suelen utilizarla:

<% LANGUAJE="VBScript"%>

Esta declaración se escribe al principio del archivo a utilizar, antes de cualquier otra expresión.

Uso de los comentarios Al igual que otros lenguajes, es posible comentar el código:

<% ' Esto es un comentario

rem Esto es un comentario %>

Un comentario dentro del código ASP se señala con una ' (comilla simple) antes del comentario, también se suele cambiar la ' por la palabra rem. De esta forma, toda la línea que contenga un comentario, el interprete de asp del servidor no lo leerá ni lo ejecutará

Los comentarios son muy útiles cuando tenemos cientos o miles de líneas de código y luego queremos hacer alguna modificación, poniendo diferentes comentarios pueden ayudarnos mucho.

Page 2: Principios básicos de ASP programar páginas ASP Bloques de … · 2006-06-08 · Principios básicos de ASP En este capítulo veremos los conceptos ... una simple página en ASP

Una página ASP por dentro El aspecto interno de una página ASP es el siguiente:

<%

' Referencia del lenguaje

' Declaración de variables

' etc. %>

Por ejemplo:

<html>

<title> Manual de ASP</title>

<body>

<%

' Conexión bases de datos

' Cálculos, etc.

%>

</body>

</html>

Como se puede observar, se trata de lenguaje Html común y corriente con agregados de scripts de código ASP.

Declaración de variables En una página ASP no hay que señalar de que tipo de variable se trata, todas son del tipo Variant.

La declaración de las variables es opcional, pero es recomendable hacerlo ya que evita posibles errores y facilita la lectura del código.

Page 3: Principios básicos de ASP programar páginas ASP Bloques de … · 2006-06-08 · Principios básicos de ASP En este capítulo veremos los conceptos ... una simple página en ASP

Las variables se declaran con el comando Dim. Para forzar a que se declaren todas las variables de una página se utiliza la función "Option Explicit". Ejemplo:

<%

Option Explicit

' Declaramos las variables y las cargamos

Dim nombre, apellido, email

nombre = "Francisco José"

apellido = "Calvo"

email = "[email protected]"

%>

<html>

<head></head>

<body>

Los datos son:

<br>

Nombre: <%=nombre%>

<br>

Apellido: <%=apellido%>

<br>

Email: <%=email%>

<br>

</body>

</html>

En este ejemplo se declaran tres variables y se cargan con los datos

Page 4: Principios básicos de ASP programar páginas ASP Bloques de … · 2006-06-08 · Principios básicos de ASP En este capítulo veremos los conceptos ... una simple página en ASP

correspondientes, y luego se imprimen en medio del código html Instrucciones SQL A través de estas instrucciones, podemos determinar que tipo de operación vamos a realizar sobre la tabla de la base de datos, pudiendo ser seleccionar (select), borrar (delete), agregar (insert), entre otros. Para ejecutarla hay que crear primero el objeto del RecordSet, y tras la instrucción SQL escribir: set rs=oConn.Execute(SQL) .

• Al concluir este capítulo usted deberá conocer las sentencias del lenguaje de manipulación de bases de datos SQL.

Sentencia Select Recupera registros de una tabla.

Sintaxis:

SELECT [ALL | DISTINCT] lista_selecccion [INTO [nueva_tabla]] [FROM {tabla | consulat} [[, {tabla2 | consulta2} [..., {tabla16 | consulta16}]] [WHERE criterio] [GROUP BY criterio] [HAVING criterio] [ORDER BY criterio]

[COMPUTE criterior] [FOR BROWSE]

Ejemplos:

· Select:

SELECT * FROM TABLA

Selecciona todos los registros de Tabla

SELECT nombre, apellido FROM TABLA

Selecciona los registros nombre y apellido de Tabla

SELECT * FROM TABLA WHERE nombre="Fran"

Selecciona los registros donde nombre sea igual a Fran

SELECT * FRTOM TABLA ORDER BY apellido

Selecciona todos los registros y los ordena por el apellido

Sentencia Delete

Page 5: Principios básicos de ASP programar páginas ASP Bloques de … · 2006-06-08 · Principios básicos de ASP En este capítulo veremos los conceptos ... una simple página en ASP

Elimina un registro de una tabla.

DELETE [FROM] {tabla| consulta} [WHERE criterio] • Algunos ejemplos simples:

DELETE FROM TABLA WHERE id=55

Elimina el registro con el ID 55

DELETE FROM TABLA WHERE nombre="Fran"

Elimina todos los registros en donde el nombre sea igual a Fran

Sentencia Insert Agrega registros a una tabla

INSERT [INTO] {tabla| consulta [(columnas)] {DEFAULT VALUES | valores | instruccion_select} • Ejemplo:

INSERT TABLA (nombre, apellido, email) VALUES ('Fran','Calvo','[email protected]')

Inserta los datos en los campos correspondientes

Sentencia Update Actualiza los registros de una tabla

UPDATE {tabla | consulta} SET [{tabla | consulta}] { columnas | variables | variables_y_columnas} [, {columnas2 |

variables2 | variables_y_columnas2} ... [, {columnasN | variablesN | variables_y_columnasN}]] [WHERE criterio]

Ejemplo:

UPDATE TABLA SET nombre='Fran' WHERE nombre='Juan'

Modifica los registros que contengan como nombre Fran por Juan. • Ejemplo sencillo de consulta:

<%

' Creamos los objetos de conexión y recordset

set con=Server.CreateObject("ADODB.Connection")

Page 6: Principios básicos de ASP programar páginas ASP Bloques de … · 2006-06-08 · Principios básicos de ASP En este capítulo veremos los conceptos ... una simple página en ASP

set rs=Server.CreateObject("ADODB.Recordset")

' Conexión por OLEDB

con.Open "Provider=Microsoft.Jet.OLEDB.4.0;

Data Source="&Server.MapPath("basededatos.mdb")&";"

sql="select * from Alumnos order by nombre"

rs=con.Execute(SQL)

' Hacemos un listado simple de los registros

Response.Write "- "&rs.fields("apellido")&","&rs.fields("nombre")&". "&rs.fields("edad")&" años.<br>"

' Cerramos la conexión y el recordset

rs.Close con.Close set rs=nothing set con=nothing

%> Objeto integrado Response ASP integra una serie de objetos, que proporcionan distintas funcionalidades, a continuación se expondrán los más utilizados; comenzaremos con el objeto Response.

• Al concluir este capítulo usted deberá saber manejar aquellos objetos integrados más populares de ASP. El objeto Response es uno de los mas utilizados en las paginas ASP, ya que dispone de la comunicación entre el cliente y el servidor. Se utiliza para controlar la información que se envía al usuario. Esto incluye el envío de información directamente al explorador, la redirección del explorador a otra dirección URL o el establecimiento de valores de las cookies. • Sintaxis general: Response.metodo [valor] Entre los métodos mas interesantes del objeto Response estan los siguientes:

Método Write El método Write escribe una cadena de resultado en el navegador cliente (Nota: cuando se usa la sintaxis <%=variable%> estamos usando implícitamente el método Response.Write).

Ejemplo:

Page 7: Principios básicos de ASP programar páginas ASP Bloques de … · 2006-06-08 · Principios básicos de ASP En este capítulo veremos los conceptos ... una simple página en ASP

<% response.write "<center>Hola mundo</center>" %>

obtenemos “Hola mundo” en el navegador.

Método Redirect El método Redirect hace que el explorador se conecte con una dirección URL diferente.

Nota: debemos usar este metodo antes de enviar cualquier resultado al navegador cliente (antes de los tags HTML), en caso contrario produce un error.

Ejemplo:

<% response.redirect "www.renfe.es" %>

El navegador se dirigirá a la URL especificada

Método Cookie Sirve para almacenar una cookie en el ordenador del cliente:

Ejemplo:

<% Response.Cookie("nombre") "Francisco" Response.Cookie("edad") "22" %>

En la cookie nombre se guardará la palabra Francisco, y en edad 22.

Cuestiones sobre la sección

• Enumere los métodos del objeto Response e indique su utilidad • Cree una página ASP que plante una cookie en el ordenador cliente • Haga una página ASP que al abrirla le redirija a http://www.uco.es

Objeto Request El Objeto Request recupera los valores que el cliente pasa al servidor durante una petición HTTP.

Dependiendo de la forma en que enviemos los datos al servidor tendremos que utilizar una u otra de las diversas colecciones del objeto Request. Las mas típicas son:

· FORM recupera datos enviados desde un formulario mediante el método POST.

· QUERYSTRING recupera datos enviados como cadena de consulta HTTP.

Page 8: Principios básicos de ASP programar páginas ASP Bloques de … · 2006-06-08 · Principios básicos de ASP En este capítulo veremos los conceptos ... una simple página en ASP

· COOKIES recupera los valores de las Cookies.

Sintaxis General:

Request.coleccion(elemento)

Método Form Supongamos que enviamos la información desde el siguiente formulario:

<form method="POST" action="recibir.asp" >

<p>Nombre: <input type="text" name="Nombre" size="20"></p>

<p>Nacionalidad: <input type="text" name="Nacionalidad" size="20"></p>

<p><input type="submit" value="Enviar" name="Enviar"></p>

</form>

En nuestra página "recibir.asp" podriamos usar la siguiente secuencia:

Hola Sr/a <%=request.form("nombre")%> <br>

Asi que usted es de nacionalidad <%=request.form("nacionalidad")%>

Con lo que el resultado seria:

Hola Sr/a Julian

Asi que usted es de nacionalidad francesa

Método QueryString Supongamos que enviamos la información en forma de cadena de consulta (una cadena de consulta HTTP está especificada por las parejas de valores que siguen al signo "?"):

<a href="recibir.asp?nombre=Julian&nacionalidad=francesa">

En nuestra página "recibir.asp" podriamos usar la siguiente secuencia:

Hola Sr/a <%=request.querystring("nombre")%> <br>

Asi que usted es de nacionalidad <%=request.querystring("nacionalidad")%>

Con lo que el resultado sería:

Page 9: Principios básicos de ASP programar páginas ASP Bloques de … · 2006-06-08 · Principios básicos de ASP En este capítulo veremos los conceptos ... una simple página en ASP

Hola Sr/a Julian

Asi que usted es de nacionalidad francesa

Método Cookies Un ejemplo para utilizarlo, es crear un formulario que pida un nombre, y luego guardar ese valor en una cookie, para que cuando nos vuelta a visitar lo reconozcamos y lo saludemos:

Manual de Introducción al ASP (Active Server Pages)

<% nombre=Request.Cookies("nombre") Response.Write "Hola, " &nombre& "." %>

Cuestiones sobre la sección

• Enumere los métodos del objeto Request e indique su utilidad • Cree una página ASP que recupere la información de la cookie creada en el ejercicio de la sección anterior

Objeto Server El objeto Server nos proporciona acceso a métodos y propiedades del servidor.

Método ScriptTimeout Especifica la cantidad maxima de tiempo que puede tardar la ejecución de una secuencia de comandos (tiempo maximo que puede tardar en ejecutarse una página dada).

Sintaxis:

Server.ScriptTimeout= nº de segundos

Ejemplo:

<% Server.ScriptTimeout=120 %>

La página puede ejecutarse durante 120 segundos antes de que el servidor la termine.

Método CreateObject Crea una instancia de un componente ActiveX en el servidor.

Sintaxis:

Page 10: Principios básicos de ASP programar páginas ASP Bloques de … · 2006-06-08 · Principios básicos de ASP En este capítulo veremos los conceptos ... una simple página en ASP

Server.CreateObject (IdProg)

IdProg es el identificativo del tipo de componente que queremos crear, nos viene

suministrado por el fabricante del componente.

Ejemplo:

<% set Mitabla = CreateObject("ADODB.Recordset") %>

Instancia un objeto de tipo recordset y lo asigna a la variable "Mitabla".

Cuestiones sobre la sección

• Enumere los métodos del objeto Server e indique su utilidad Objeto Session El objeto Session permite almacenar la información necesaria para una sesión de usuario contra nuestra aplicación ASP. Las variables que almacenemos en el objeto Session no se pierden al cambiar de página, si no que se mantienen hasta que el cliente sea eliminado por el servidor. Las variables de Session de un cliente solo pueden ser accedidas por ese cliente. El servidor crea automáticamente el objeto Session cuando un usuario que no tenga actualmente una sesión solicita una pagina Web de la aplicación. Nota: el servidor elimina un cliente bien cuando desde una pagina ASP se invoca el método Abandon (session.abandon) o bien cuando este cliente lleva 20 minutos sin actividad en nuestra aplicación.

• Al concluir este capítulo usted deberá saber cómo crear variables y matrices para una sesión de usuario.

Creación de una variable Sintaxis

Sesion("Nomvariable") = valor

Ejemplo:

<% Session("Color")="Rojo" %>

Para recuperar ese valor:

<% ColorFavorito=Session("Color") %>

Esto nos almacenaría el valor "rojo" en la variable "ColorFavorito"

Page 11: Principios básicos de ASP programar páginas ASP Bloques de … · 2006-06-08 · Principios básicos de ASP En este capítulo veremos los conceptos ... una simple página en ASP

Matrices Nota Importante:

En el objeto Session pueden almacenarse matrices, pero estas son almacenadas como un

objeto, es decir, no podemos almacenar o recuperar un solo elemento de la matriz, si no

que cargaremos o recuperaremos la variable con la matriz completa

Ejemplo:

<%Dim cestacompra(2)

cestacompra(0) = 1

cestacompra(1) = 8

cestacompra(2) = 22

Session("Cesta") =cestacompra%>

con estas instrucciones almacenaríamos TODA la matriz en la variable de sesión "Cesta"

Cuestiones sobre la sección

• Enumere los métodos del objeto Session e indique su utilidad • Cree cuatro variable y una matriz 2x2. En cada casilla o posición de la matriz inserte cada una de las variables anteriormente creadas

Objeto Application Este objeto se utiliza para compartir información entre todos los usuarios de una aplicación. Como varios usuarios pueden compartir este objeto, se utilizan los métodos Lock y Unlock para no permitir que dos o mas usuarios puedan al mismo tiempo modificar la propiedad.

• Al concluir este capítulo usted deberá haber saber cómo compartir la información entre los usuarios

Método Lock Asegura que solo un usuario pueda modificar el objeto Application a la vez.

Page 12: Principios básicos de ASP programar páginas ASP Bloques de … · 2006-06-08 · Principios básicos de ASP En este capítulo veremos los conceptos ... una simple página en ASP

<% Application.Lock%>

Método Unlock Desbloquea al objeto previamente bloqueado, para poder ser modificado por otro usuario después de haberlo bloqueado mediante el método Lock. Si no se desbloquea el objeto Application, el servidor lo hace automáticamente cuando la página .asp termina o transcurre el tiempo de espera.

<% Application.UnLock%>

Ejemplo que calcula el número de visitantes a nuestra web:

<% Application.Lock

Application("visitas") = Application("visitas")+1

Application.Unlock %>

Eres el visitante Nº <%=Application("visitas")%>

Cuestiones sobre la sección

• Enumere los métodos del objeto Application e indique su utilidad • Cree un contador de texto para su página web

Ver solución

El archivo "GLOBAL.ASA" El archivo Global.asa es un fichero de texto situado en el directorio raiz de nuestro servidor Web, es decir, en el directorio de comienzo de nuestras páginas. Es un archivo de comandos que nos permite la automatización de los cuatro eventos básicos de nuestro servidor.

• Al concluir este capítulo usted deberá haber comprendido como realizar tareas de forma automatizada.

Estructura La estructura es siempre la misma:

<SCRIPT LANGUAGE="VBScript" RUNAT="Server">

Sub Application_OnStart

........

Page 13: Principios básicos de ASP programar páginas ASP Bloques de … · 2006-06-08 · Principios básicos de ASP En este capítulo veremos los conceptos ... una simple página en ASP

End Sub

Sub Application_OnEnd

........

End Sub

Sub Session_OnStart

........

End Sub

Sub Session_OnEnd

........

End Sub

</SCRIPT>

Eventos Application_OnStart El evento Application_OnStart se ejecuta antes de que se cree la primera nueva sesión; es decir justo cuando el primer cliente pide una pagina de nuestro servidor. Application_OnEnd El evento Application_OnEnd se ejecuta cuando la aplicación termina. Session_OnStart El evento Session_OnStart se ejecuta cuando el servidor crea una nueva sesión; esta secuencia de comandos es ejecutada antes de enviar la página solicitada al cliente... Session_OnEnd El evento Session_OnEnd se ejecuta cuando se abandona o se supera el tiempo de espera de una sesión.

Page 14: Principios básicos de ASP programar páginas ASP Bloques de … · 2006-06-08 · Principios básicos de ASP En este capítulo veremos los conceptos ... una simple página en ASP

Ejemplo de un archivo "GLOBAL.ASA" <SCRIPT LANGUAGE="VBScript" RUNAT="Server">

Sub Application_OnStart

dim mitabla()

redim mitabla(9)

application("tabla")=mitabla

End Sub

Sub Application_OnEnd

End Sub

Sub Session_OnStart

paginaInicio="/ appl/index.html"

response.redirect paginaInicio

End Sub

Sub Session_OnEnd

End Sub

</SCRIPT>.

Cuestiones sobre la sección

• Indique la utilidad del archivo "global.asa" • Haga que al parar el servidor web llegue un mensaje a todos los usuarios conectados a dicho servidor, en el que se indique que va a dejar de estar activo

Componente ADRotator Los componentes ActiveX se han diseñado para que se ejecuten en el servidor Web como parte de las aplicaciones Web, proporcionan funcionalidad a las aplicaciones, como el acceso a ficheros, Bases de datos, etcétera.

Page 15: Principios básicos de ASP programar páginas ASP Bloques de … · 2006-06-08 · Principios básicos de ASP En este capítulo veremos los conceptos ... una simple página en ASP

Existen componentes ActiveX para tareas muy diversas, en esta páginas mostraremos como operar con algunos de los que se incluyen por defecto en la instalación de ASP.

Adrotator Inserción de publicidad rotatoria

FileSystemObject Acceso a ficheros en el servidor

TextStream Acceso a ficheros en el servidor

ActiveX Data Object Acceso a bases de datos.

El componente ADRotator automatiza la rotación de imágenes de anuncio en una página

Web. Cada vez que un cliente abre o recarga la página este componente presenta una nueva imagen según las definiciones especificadas en un archivo.

Los archivos necesarios son:

· Archivo Rotator Schedule: es un archivo de texto que contiene la agenda de presentación de los anuncios.

· Archivo de redirección: es un archivo .asp que implementa la redirección a la URL anunciante.

• Creación del objeto AdRotator

<% Set Rotacion=Server.CreateObject("MSWC.AdRotator") %>

Propiedades:

Border: Permite especificar si los anuncios se presentan enmarcados.

<% objeto.border=tamaño %>

Clickable: Permite especificar si los anuncios se presentan como hipervinculos.

<% objeto.clickable= True o False %>

TargetFrame: Permite especificar el marco de destino del hipervinculo.

<% objeto. TargetFrame= nombre del marco destino %> • Al concluir este capítulo usted deberá saber cómo automatizar la rotación de imágenes de anuncio en una página Web, muy útil si piensa crear una web con fines comerciales

Método GetAdvertisement

Page 16: Principios básicos de ASP programar páginas ASP Bloques de … · 2006-06-08 · Principios básicos de ASP En este capítulo veremos los conceptos ... una simple página en ASP

Sintaxis:

Objeto.GetAdvertisement (url del fichero Shedule).

• Estructura del fichero Schedule:

El fichero Schedule esta dividido en 2 secciones separadas por un asterisco "* ". La primera sección es la especifica los parámetros comunes para todas las imágenes que se muestren; la segunda los ficheros , localizaciones y parametros propios de cada una de las imagenes.

Sintaxis de la primera sección:

REDIRECT Especifica la url que se encargara de hacer la redirección, generalmente una página .asp.

WIDTH Ancho en píxel del anuncio

HEIGHT Alto en píxel del anuncio

BORDER Ancho en píxel del borde del anuncio

Sintaxis de la segunda sección:

Url de la imagen a mostrar

Url de la pagina a redireccionar

Texto alternativo de la imagen

Ponderación de apariciones del anuncio con respecto del total

Ejemplo:

REDIRECT /util/redirect.asp

WIDTH 300

HEIGHT 50

BORDER 2

*

/imagenes/logo1.gif

http://www.transcontinental.com

El viaje de tus sueños

Page 17: Principios básicos de ASP programar páginas ASP Bloques de … · 2006-06-08 · Principios básicos de ASP En este capítulo veremos los conceptos ... una simple página en ASP

20

/imagenes/logo5.jpg

http://www.pastelito.fr

Dulces de calidad

30

Ejemplo de fichero de redirección

<% response.redirect (request.querystring("url")) %>

Ejemplo de una página completa:

<html>

<head><title>Uso de AdRotator</title></head>

<body><h2>Uso de AdRotator</h2>

<% Set Rotacion=Server.CreateObject("MSWC.AdRotator") %>

<=% Rotacion.GetAdvertisement("adrot.txt") %>

</ body>

</html> Componente FileSystemObject El componente FSO nos permite abrir y crear ficheros de texto en el servidor. Este componente consta de 22 métodos, de los cuales podemos seleccionar 2 que son los que nos van a permitir leer o escribir en archivos de texto existentes en el servidor o crear dichos archivos.

Para crear un objeto FSO, la sintaxis es la misma que para cualquier otro componente ActiveX:

<% Set MiFSO=Server.CreateObject("Scripting.FileSystemObject") %>

Cuando abrimos o creamos un fichero de texto mediante FSO este nos devuelve una instancia del objeto TextStream que es la que representa el archivo físico y con la cual trabajaremos. • Al concluir este capítulo usted deberá saber crear y abrir ficheros de texto en el servidor

Page 18: Principios básicos de ASP programar páginas ASP Bloques de … · 2006-06-08 · Principios básicos de ASP En este capítulo veremos los conceptos ... una simple página en ASP

Método CreateTextFile CreateTextFile: Crea un archivo físico y devuelve la instancia de TextStream con la cual trabajaremos.

• Sintaxis

<% Set MiFichero=MiFSO.CreateTextFile("Nombre Fichero",Sobreescribir") %>

Nombre Fichero: Nombre del fichero a crear.

Sobreescribir: Admite los valores TRUE o FALSE, si el fichero ya existe y el valor dado es TRUE se crea de nuevo, si no , devuelve un error.

Método OpenTextFile OpenTextFile: Abre un archivo físico y devuelve la instancia de TextStream con la cual trabajaremos.

Sintaxis:

<% Set MiFichero=MiFSO.OpenTextFile("Nombre Fichero",modo,crear") %>

Nombre Fichero Nombre del fichero a abrir.

Modo Indica si queremos abrir el fichero para lectura (1) , para escritura (2) o para

escribir nuevos registros al final del fichero(8)

Crear Admite los valores TRUE o FALSE, si el fichero no existe y el valor dado es

TRUE se crea.

Ejemplo:

Apertura de fichero para lectura:

<% Set MiFichero=MiFSO.OpenTextFile("c:\Fichero_nuevo.txt",1,true") %>

Cuestiones sobre la sección

• ¿Cual es la utilidad de FSO? • Describa los pasos a seguir para crear y acceder al contenido de un fichero desde ASP.

Page 19: Principios básicos de ASP programar páginas ASP Bloques de … · 2006-06-08 · Principios básicos de ASP En este capítulo veremos los conceptos ... una simple página en ASP

• Guarde en un fichero situado en un servidor ASP un listado de sus últimas webs visitadas y mediante OpenTextFile, muéstrelas en una página ASP.

Componente TextStream Al concluir este capítulo deberá conocer que el objeto TextStream nos sirve para manejar ficheros de texto en el servidor. La creación de este objeto se realiza a partir de un objeto FileSystemObject y gracias a alguno de sus métodos.

Una vez creado, disponemos de un objeto TextStream que representa un archivo físico abierto, ya sea para lectura o escritura. Este objeto dispone de 9 métodos:

1. Close: Cierra el archivo.

Sintaxis:

<% MiFichero.close%>

2. Read: Lee y devuelve un numero especifico de caracteres.

Sintaxis:

<% MiFichero.read(numero de caracteres) %>

3. ReadAll: Lee y devuelve un archivo completo.

Sintaxis:

<% MiFichero.ReadAll %>

4. ReadLine: Lee y devuelve una línea completa de un archivo de texto.

Sintaxis:

<% MiFichero.ReadLine%>

5. Skip: Salta un numero determinado de caracteres al leer un archivo.

Sintaxis

Page 20: Principios básicos de ASP programar páginas ASP Bloques de … · 2006-06-08 · Principios básicos de ASP En este capítulo veremos los conceptos ... una simple página en ASP

<% MiFichero.Skip(numero de caracteres) %>

6. SkipLine: Salta una línea al leer un archivo.

Sintaxis

<% MiFichero.SkipLine %>

7. Write : Escribe una cadena de caracteres en un archivo.

Sintaxis

<% MiFichero.Write("texto_entre_comillas") %>

8. WriteLine : Escribe una cadena de caracteres en un archivo añadiendo al final un carácter de fin de linea.

Sintaxis

<% MiFichero.WriteLine("texto_entre_comillas") %>

9. WriteBlankLines: Escribe un numero especifico de caracteres de nueva línea.

Sintaxis

<% MiFichero.WriteBlankLines(numero_de_lineas) %>

Ejemplo de escritura en un archivo:

<HTML>

<HEAD><TITLE>Ejemplo de FSO y TextStream</TITLE></HEAD>

<BODY>

<%

Set Mfso=Server.CreateObject("Scripting.FileSystemObject")

Page 21: Principios básicos de ASP programar páginas ASP Bloques de … · 2006-06-08 · Principios básicos de ASP En este capítulo veremos los conceptos ... una simple página en ASP

Set MArchivo=Mfso.OpenTextFile("c:\fecha.txt",2,true)

MArchivo.writeline "Hola Mundo, hoy es:"

MArchivo.write date()

MArchivo.close

%>

Creado archivo en C:\fecha.txt con la fecha de hoy

</BODY>

</HTML> Creación de un foro en ASP Para realizar un foro necesitas:

• Una conexión con bases de datos. Esta conexión puede realizarse de dos formas.

• Directamente, (tal y como se explica en el manual Paginas ASP). • Utilizando una DSN solicitándola al servidor que te provee de servicios

de internet, (en este caso uso esta opción).

Estructura de la base de datos: Tabla MiTabla

1. Autor 2. Email del Autor 3. Fecha de alta en el foro 4. Titulo de la cuestión 5. Cuerpo de la cuestión 6. ID de la pregunta, (uso interno) 7. QoR. Pregunta o Respuesta

Un ejemplo de tabla seria:

Page 22: Principios básicos de ASP programar páginas ASP Bloques de … · 2006-06-08 · Principios básicos de ASP En este capítulo veremos los conceptos ... una simple página en ASP

El campo QoR :

El campo QoR determina si el registro pertenece a :

- P: Una pregunta.

- R: Una respuesta a una pregunta.

- X: El único registro de la tabla con este valor en el campo QoR. El valor del campo IDPregunta de este registro es el que mantiene el contador de dicho campo. Almacena el valor de IDPregunta del última consulta entrada en el foro.

El campo con QoR = X ha de ser entrado manualmente en el momento de la inauguración del foro.

El campo IDPregunta.

Al dar de alta un nuevo comentario en el foro; este viene identificado con un numero que es asignado por el valor del campo IDPregunta del registro que posee X en el campo QoR, (registro de indice).

Todas las respuestas que se lancen a ese comentario irán identificadas por ese mismo valor en sus respectivos campos IDPregunta.

Nombres especiales.

Los nombres como la DSN de acceso a datos. El nombre de la base de datos y de la tabla. Y las claves de acceso estan referidas en el código que se adjunta en este manual como : MiDSN, MiBase, MiTabla y MiClave. Substituir dichas cadenas por las que se determinen para vuestro foro personalizado.

Todos estos datos son importantes para el funcionamiento del foro. La DSN os la proporciona el servidor que os provee de servicios de internet, (si no es así usad el metodo de acceso directo que se comenta en el código). La base de datos y la tabla es la que creeis vosotros, (por ejemplo en ms.Access). Las claves de acceso son las que vosotros qu

Proveedor de servicios de internet. Debeis aseguraros que el proveedor de servicios de internet que habeis contratado os proporcione los recursos necesarios para ejecutar páginas ASP y acceder a bases de datos. Muchos proveedores no proporcionan estos servicios y, simplemente, no podreis hacer nada con ASP. Debereis cambiar de proveedor.

Page 23: Principios básicos de ASP programar páginas ASP Bloques de … · 2006-06-08 · Principios básicos de ASP En este capítulo veremos los conceptos ... una simple página en ASP

Inicio del código.

Declaración de las bases de datos que se van a utilizar.

<%@ LANGUAGE="VBScript" %>

<%

' Declaramos el objeto de conexión a la base de datos

Set ConexionBD = Server.CreateObject("ADOdb.Con nection")

' Abrimos el objeto con el driver específico

ConexionBD.Open "DSN=MiDNS"

%>

Si queremos atacar directamente a la base de datos utilizar esta otra técnica.

ConexionBD.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & "DBQ=" & Server.Mappath("MiBase.mdb")

QueryString

QueryString recupera los valores de los parámetros entrados al llamar al ASP desde la URL.

' Recupera los parámetros de la linea de comandos.

comando=request.querystring("comando")

' Datos para la eliminación.

passw=request.querystring("passw")

ID=request.querystring("ID")

' Datos para una nueva alta.

QoR=request.querystring("qor")

IDPregunta=request.querystring("IDPregunta")

fecha=request.querystring("fecha")

Titulo=request.querystring("Titulo")

Cuerpo=request.querystring("Cuerpo")

Autor=request.querystring("Autor")

Opciones del foro

<html> <head> <title>El Foro</title></head> <body>

Page 24: Principios básicos de ASP programar páginas ASP Bloques de … · 2006-06-08 · Principios básicos de ASP En este capítulo veremos los conceptos ... una simple página en ASP

<H2>Opciones</H2>

<UL> <LI><A HRef="qor.asp?comando=anadir"> Lanzar un nuevo comentario al foro. </A></LI> <LI> <A HRef="qor.asp?comando=ver"> Ver Todo, (refrescar). </A></LI></UL>

Añadir una nueva pregunta al foro.

La siguiente rutina consta de 2 fases

1 Petición de datos a añadir, (comando=añadir)

<%

If comando="anadir" Then

' Añadir una nueva entrada.

%>

<H1>A&ntilde;adir un nuevo comentario al foro.< /H1>

<FORM Method="GET" Action="qor.asp">

<INPUT Type="hidden" Name="fecha" Value="<%= Year(D ate) & "/" & Month(Date) & "/" & Day(Date) %>">

<INPUT Type="hidden" Name="QoR" Value="P" Size= 0>

<%

Set RS = ConexionBD.Execute("SELECT * FROM MiTabla WHERE QoR='X'")

RS.MoveFirst

%>

<INPUT Type="hidden" Name="IDPregunta" Value=<%= RS ("IDPregunta") + 1 %>>

<INPUT Type="hidden" Name="comando" Value="adiccion " Size=0>

Autor :<BR>

<UL>

<INPUT Type="text" Name="Autor" Size=50></UL>

e-mail, (si tienes) :<BR>

<UL>

<INPUT Type="text" Name="email">

</UL>

Titulo, (obligado) :

Page 25: Principios básicos de ASP programar páginas ASP Bloques de … · 2006-06-08 · Principios básicos de ASP En este capítulo veremos los conceptos ... una simple página en ASP

<UL>

<INPUT Type="text" Name="titulo" Size=50>

</UL>

Cuerpo del comentario que deseas lanzar al foro :

<UL>

<TEXTAREA Rows="10" Cols="50" Name="Cuerpo"></TE XTAREA>

</UL>

<INPUT Type="SUBMIT" Value="Enviar">

<INPUT Type="RESET" Value="Reestablecer">

</FORM>

<%

2 Alta en la base de datos, (comando=adiccion)

ElseIf comando="adiccion" Then

' Añade a la base de datos.

Error=False

MsjError=""

If Autor="" Then

Autor="-no firma-"

End If

If email="" Then

email=" "

End If

If Titulo="" Then

Error=True

MsjError = MsjError + "- Se necesita un t&iacute;tu lo para su comentario.<BR>"

End If

If Cuerpo="" Then

Error=True

MsjError = MsjError + "- Se necesita un cuerpo del mensaje para incluirlo en el foro.<BR>"

End If

' Añade el nuevo comentario al foro.

Page 26: Principios básicos de ASP programar páginas ASP Bloques de … · 2006-06-08 · Principios básicos de ASP En este capítulo veremos los conceptos ... una simple página en ASP

Set RS = ConexionBD.Execute("INSERT INTO MiTabla (Q oR, IDPregunta, Fecha, Autor, email, Titulo, Cuerpo) VALUES ('" & QoR & "', " & IDPregun ta & ", #"& Fecha & "#, '" & Autor & "', '" & email & "', '" & Titulo & "', '" & Cuerpo & "')")

'Si es una nueva pregunta, aumenta el contador.

If QoR="P" Then

Set RS = ConexionBD.Execute("UPDATE MiTabla SET IDP regunta = " & IDPregunta & " WHERE QoR='X'")

End If

Response.Write("<BR><BR><B>Se ha dado de alta tu co laboraci&oacute;n al foro :</B><BR><BR>")

Response.Write("<UL>")

Response.Write("Fecha : " & Fecha & "<BR>")

Response.Write("Autor : " & Autor & "<BR>")

Response.Write("e-mail : " & email & "<BR>")

Response.Write("Titulo : " & Titulo & "<BR>")

Response.Write("Cuerpo : " & Cuerpo & "<BR>")

Response.Write("</UL>")

Response.Write("Gracias por colaborar en el for o de Acervo Visual")

Ver las preguntas abiertas en el foro.

Esta sección se comporta de 2 formas. Si Comando=ver o no tiene valor, mostrará el contenido de todo el foro.

Si Comando=explosion se mostrará sólo la pregunta, (y todas sus respuestas), dada por el parámetro IDPregunta.

' Visualizar FORO.

ElseIf comando="ver" or comando="explosion" or coma ndo="" Then

' Visualizar FORO.

%>

<BR><BR>

<CENTER>

<TABLE Border=2 Width="90%">

<TR>

Page 27: Principios básicos de ASP programar páginas ASP Bloques de … · 2006-06-08 · Principios básicos de ASP En este capítulo veremos los conceptos ... una simple página en ASP

<TH BGColor='#03A7CF' Align='Left'>

<%

' Ver el libro de visitas completo.

If Comando="explosion" Then

Set RS = ConexionBD.Execute("SELECT * FROM MiTabla WHERE IDPregunta=" & IDPregunta & " ORDER BY IDPregunta DESC, QoR, Fecha DESC")

Response.Write("Comentarios abiertos referentes a : <B>" & RS("Titulo") & "</B>")

Else

Set RS = ConexionBD.Execute("SELECT * FROM MiTab la WHERE QoR<>'X' ORDER BY IDPregunta DESC, QoR, Fecha DESC")

Response.Write("Comentarios abiertos en el foro. ")

End If

%>

</TH>

</TR>

<%

Do while not RS.EOF

'Escribimos en la salida los datos que nos interesa

%><tr>

<td><%

' Indenta si es respuesta.

If RS("QoR")="R" Then

Response.Write("<UL>")

End If

' Fecha.

If IsNull(RS("Fecha")) Then

Else

Response.Write("(" & FormatDateTime(CDate(RS("Fecha ")), 2) & ") ")

End If

' ID.

Response.Write(" - (" & RS("ID") & ") ")

' Título.

Page 28: Principios básicos de ASP programar páginas ASP Bloques de … · 2006-06-08 · Principios básicos de ASP En este capítulo veremos los conceptos ... una simple página en ASP

If IsNull(RS("Titulo")) Then

Response.Write(" <BR>")

Else

If Comando="explosion" Then

Response.Write("<B>" & RS("Titulo") & "</B><BR><BR> ")

Else

Response.Write("<A HRef='qor.asp?comando=explosion& IDPregunta="& RS("IDPregunta") & "'>" & RS("Titulo") & "</A><BR>")

End If

End If

' Autor y e-mail.

If Comando="explosion" Then

Response.Write("<B>Autor : </B>")

If IsNull(RS("Autor")) Then

Else

Response.Write((RS("Autor"))

End If

If IsNull(RS("email")) Then

Response.Write(" <BR>")

Else

Response.Write(" (<A HRef='mailto:" & RS("email") & "?subject=Foro Acervo Visual'>" & RS("email") & "</A>)<BR>")

End If

Response.Write("<BR><B>Cuerpo del comentario : </B> <UL>")

Response.Write(RS("Cuerpo") & "</UL>")

'Botón de respuesta.

If RS("QoR")="P" Then

%>

<FORM Method="GET" Action=" qor.asp">

<INPUT Type="hidden" Name="comando" Value="Responde r" Size=0>

<INPUT Type="hidden" Name="fecha" Value="<%= Date % >" Size=0>

<INPUT Type="hidden" Name="IDPregunta" Value=<%= RS ("IDPregunta") %> Size=0>

Page 29: Principios básicos de ASP programar páginas ASP Bloques de … · 2006-06-08 · Principios básicos de ASP En este capítulo veremos los conceptos ... una simple página en ASP

<%

Tit = RS("Titulo")

Tit = Replace(Tit, " ", "+")

%>

<INPUT Type="hidden" Name="Titulo" Value=<%= Tit %> Size=0>

<INPUT Type="hidden" Name="QoR" Value="R" Size=0>

<INPUT Type="SUBMIT" Value="Responder">

</FORM>

<%

End If

End If

'Quita la indentación si es una respuesta.

If RS("QoR")="R" Then

Response.Write("</UL>")

End If

%>

</td>

</tr><%

RS.MoveNext

Loop

%>

</TABLE>

</CENTER>

</UL>

<%

Responder una consulta abierta en el foro.

Al pulsar sobre el botón Responder en una de las consultas abiertas en el foro; Se pasa como Comando=Responder y la pregunta a responder en el parámetro IDPregunta.

' Responder una questión abierta en el foro.

ElseIf comando="Responder" Then

' Responder a un comentario existente.

Page 30: Principios básicos de ASP programar páginas ASP Bloques de … · 2006-06-08 · Principios básicos de ASP En este capítulo veremos los conceptos ... una simple página en ASP

TituloResp = Titulo

%>

<H1>A&ntilde;adir un nuevo comentario al foro.</H1>

<FORM Method="GET" Action=" qor.asp">

<INPUT Type="hidden" Name="fecha" Value="<%= Year(F echa) & "/" & Month(Fecha) & "/" & Day(Fecha) %>" Size=0>

<INPUT Type="hidden" Name="QoR" Value=<%= QoR %> Si ze=0>

<INPUT Type="hidden" Name="IDPregunta" Value=<%= ID Pregunta %>>

<INPUT Type="hidden" Name="comando" Value="adiccion " Size=0>

<H3>Respuesta al comentario :</H3>

<UL>

<%

TituloResp = Replace(TituloResp, "+", " ")

%>

<H4><%= TituloResp %></H4>

</UL>

Autor :<BR>

<UL>

<INPUT Type="text" Name="Autor" Size=50>

</UL>

e-mail, (si tienes) :<BR>

<UL>

<INPUT Type="text" Name="email">

</UL>

Titulo, (obligado) :

<UL>

<%

TituloResp = "Resp : " & TituloResp

%>

<INPUT Type="text" Name="titulo" Value="<%= TituloR esp %>" Size=50>

</UL>

Cuerpo del comentario que deseas lanzar al foro :

Page 31: Principios básicos de ASP programar páginas ASP Bloques de … · 2006-06-08 · Principios básicos de ASP En este capítulo veremos los conceptos ... una simple página en ASP

<UL>

<TEXTAREA Rows="10" Cols="50" Name="Cuerpo"></TEXTA REA>

</UL>

<INPUT Type="SUBMIT" Value="Enviar">

<INPUT Type="RESET" Value="Reestablecer">

</FORM>

<%

Funciones de uso interno.

Eliminar una pregunta o respuesta del foro.

Con esta opción, (Comando=Eliminar), eliminamos un registro de la base de datos. Es conveniente que esta clase de opciones requieran contraseña.

ElseIf Comando="Eliminar" Then

%>

<H1>Eliminar un comentario del foro.</H1>

<FORM Method="GET" Action=" qor.asp">

<INPUT Type="Hidden" Name="Comando" Value="Eliminac ion">

Password :

<INPUT Type="Password" Name="passw"><BR>

ID de pregunta a eliminar :

<INPUT Type="Text" Name="IDPregunta">

<INPUT Type="SUBMIT" Value="Enviar">

<INPUT Type="RESET" Value="Reestablecer">

</FORM>

<%

ElseIf Comando="Eliminacion" Then

'Elimina la pregunta solicitada.

If passw = MiClave Then

Set RS = ConexionBD.Execute("DELETE * FROM MiTabla WHERE IDPregunta = " & IDPregunta & " AND QoR<>'X'")

Response.Write("<H2>Ok.</H2>")

Else Password erroneo.

Response.Write(<H2>Password erroneo.</H2>)

Page 32: Principios básicos de ASP programar páginas ASP Bloques de … · 2006-06-08 · Principios básicos de ASP En este capítulo veremos los conceptos ... una simple página en ASP

End If

End If

%>

Fin del código

</body>

</html>

Ejercicios prácticos y reales sobre ASP A continuación se expondrán unos ejemplos de los usos más comunes de ASP (aparte de las conexiones a las bases de datos, claro), con su código fuente.

• Al concluir este capítulo usted sabrá manejarse con toda soltura con ASP y será capaz de resolver cualquier problemas que se le presente en ASP.

Envío de datos desde un formulario a una dirección de correo Muchas veces necesitamos en nuestro sitio web, un formulario que capture datos de nuestros visitantes y deseamos recibir esos datos en nuestra casilla de correo. Para ello utilizaremos un componente denominado CDONT y es parte del servicio SMTP de Internet Information Server 4.

Este componente nos permite mediante unas pocas líneas de ASP, enviar y recibir mail. Manos a la obra: Necesitamos una página con el formulario, a la cual llamaremos form.html: <html> <head> </head> <body> <form method="post" action="mail.asp"> <p>Nombre: <input type="text" name="nom"> </p> <p>Empresa: <input type="text" name="emp"> </p> <p>Sugerencias: <textarea name="sug" cols="35"></textarea> </p> <p> <input type="submit" name="Submit" value="Enviar"> <input type="reset" name="Submit2" value="Limpiar"> </p> </form> </body>

Page 33: Principios básicos de ASP programar páginas ASP Bloques de … · 2006-06-08 · Principios básicos de ASP En este capítulo veremos los conceptos ... una simple página en ASP

</html> Por otro lado tendremos una página a la que llamaremos mail.asp. El código es el siguiente: <% 'Creación de variables para almacenar los campos del formulario Nombre= Request.Form("nom") Empresa= Request.Form("emp") Sugerencias= Request.Form("sug") strTo = "[email protected]" ' Esta es una dirección que corresponda a nuestro servidor strSubject = "Envio de sugerencias de: " & Nombre strBody = "<html><body>" strBody = strBody & "Este es un mensaje generado por el formulario:" & "<br><br>" strBody = strBody & "Nombre: "& Nombre &"<br>" strBody = strBody & "Empresa: "& Empresa &"<br>" strBody = strBody & "Sugerencias: "& Sugerencias &"<br>" strBody = strBody & "</body></html>" Set objCDOMail = Server.CreateObject("CDONTS.NewMail") 'Creación del objeto objCDOMail.From = "[email protected]" 'No hay problema en que sea la misma que la anterior. objCDOMail.To = strTo objCDOMail.Subject = strSubject objCDOMail.BodyFormat=0 'Estas dos línes objCDOMail.MailFormat=0 'permiten formatear mejor el mensaje objCDOMail.Body = strBody objCDOMail.Send 'Envía el mail Set objCDOMail = Nothing Response.redirect "gracias.html" ' O bien podemos ahorrar una página y escribir algo como ' Response.write "Gracias por enviarnos sus sugerencias" %> Por último debemos generar una página con un mensaje de agradecimiento, o bien redireccionar al visitante hacia otra página de nuestro sitio.

Cómo mostrar la cantidad de usuarios activos en nue stro sitio Algo que puede llegar a ser muy interesante, es saber cuanto usuarios hay visitando nuestro sitio al mismo tiempo, ya sea como un servicio más del sitio o bien para realizar algunas estadísticas, que nos permitan conocer mejor las visitas de los usuarios.

Page 34: Principios básicos de ASP programar páginas ASP Bloques de … · 2006-06-08 · Principios básicos de ASP En este capítulo veremos los conceptos ... una simple página en ASP

Para realizar este ejemplo, vamos a utilizar el archivo Global.asa y cuatro eventos, para manejar las rutinas.

Application_OnStart Application_OnEnd Session_OnStart Session_OnEnd

El archivo Global.asa debe quedar asi:

<SCRIPT LANGUAGE=VBScript RUNAT=Server> Sub Application_OnStart Application("visitas") = 0 Application("Active") = 0 End Sub

Sub Application_OnEnd End Sub

Sub Session_OnStart Session.Timeout = 20 Session("Start") = Now Application.lock Application("visitas") = Application("visitas") + 1 intTotal_visitas = Application("visitas") Application.unlock Session("VisitorID") = intTotal_visitas

Application.lock Application("Active") = Application("Active") + 1 Application.unlock End Sub

Sub Session_OnEnd Application.lock Application("Active") = Application("Active") - 1 Application.unlock End Sub </SCRIPT>

Ahora sólo nos falta crear el archivo mostrarvisitas.asp y listo.

<html> <head> <title>Mostrando la cantidad de usuarios activos</title> </head> <body> Vos sos uno, de <%=Application("Active")%> visitantes en este momento. </body> </html>

Page 35: Principios básicos de ASP programar páginas ASP Bloques de … · 2006-06-08 · Principios básicos de ASP En este capítulo veremos los conceptos ... una simple página en ASP

Implementando un sistema de Banners Rotativos Uno de los componentes más útiles que se pueden emplear en ASP es el llamado Ad Rotator, este componente permite mostrar distintos banners en una página ASP, pudiendo calcular mediante porcentajes, la cantidad de veces que queremos mostrar los banners e incluso controlar las veces en que el usuario hace click en alguno de los banners.

El componente ad Rotator es incluído con el Windows NT Option Pack, cuando instales el Internet Informatión Server, el componente debería instalarse automáticamente en la carpeta, C:\Winnt\system32\inetsrv\ADROT.dll.

Vamos a crear para el ejemplo los archivos necesarios banners.asp, banners.txt adredir.asp.

banners.asp <HTML> <HEAD><TITLE> Mostrando Banners</TITLE></HEAD>

<BODY> <CENTER><H1>Mostrando Distintos Banners!</H1></CENTER>

<HR> <% Set MyAd=Server.CreateObject("MSWC.AdRotator") MyAd.TargetFrame= "TARGET=""blank""" %>

<CENTER><%= MyAd.GetAdvertisement("banners.txt") %></CENTER> </BODY> </HTML>

En esta página es en donde vamos a mostrar los distintos banners, y para ello necesitamos crear 2 archivos más.

banners.txt REDIRECT adredir.asp WIDTH 468 HEIGHT 60 BORDER 0 * banner1.gif http://www.lavariable.com El Portal de Programación en Internet 60 banner2.gif http://www.webklan.com.ar WebKlan 20 banner3.gif http://www.neolatina.com Neolatina

Page 36: Principios básicos de ASP programar páginas ASP Bloques de … · 2006-06-08 · Principios básicos de ASP En este capítulo veremos los conceptos ... una simple página en ASP

20

Tenemos algunas propiedades para explicar.

Redirect: Especifica la dirección en donde el usuario que clickea en el banner es enviado.

Width: Especifíca el largo que tendran el o los banners que mostremos, el tamaño estandar que se utiliza habitualmente es de 468 pixels.

Height: Especifíca el alto que tendran el o los banners que mostremos, el tamaño estandar que se utiliza habitualmente es de 60 pixels.

Border: Este es el valor que le damos al borde del banner, lo habitual es no usar borde, por lo tanto tenemos que colocar un 0 en esta propiedad.

adredir.asp

<% Response.AppendToLog Request.QueryString("url") Response.Redirect Request.QueryString("url") %>

Alojamiento ASP En la actualidad están apareciendo muchos servidores que dan servicio gratuito de hosting con soporte de ASP y bases de datos Access, con la única condición de que aparezcan sus banners o ventanas con publicidad.

· Websamba (http://www.websamba.com): Ofrece 30mb, soporta ASP y conexiones a bases de datos Access sin limitaciones, y la posibilidad de subir nuestras páginas por FTP. El único inconveniente que encontramos en este servidor son sus continuas caídas, quedando a veces varias horas sin funcionar. No pone publicidad.

· Brinkster (http://www.brinkster.com): Al igual que Websamba, ofrece 30mb de espacio, soporte asp y bases de datos access. No incluye publicidad en las páginas, pero nos vemos obligados a subir los archivos a través de un File Manager desde su sitio.

· http://www.webexperto.com/directorio/default.asp?catid=43&cattitle=Web+Hosting

Aquí encontrarán un listado de servicios gratuitos de hosting con y sin soporte de ASP.

Si tenemos dinero para invertir, es recomendable contratar un servicio de hosting, ya que son muchísimos más rápidos y además, brindan soporte técnico especializado.