Manual de ASP
Manual de ASP
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.
5. Declaración de variables
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
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
jhonnychura@[Link]
Mis Referencias de ASP Jhonny Pedro Chura Loza
<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 correspondientes, y
luego se imprimen en medio del código html normal.
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:
[Link] [valor]
Entre los métodos mas interesantes del objeto Response estan los siguientes:
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
[Link]).
Ejemplo:
<% [Link] "<center>Hola mundo</center>" %>
obtenemos “Hola mundo” en el navegador.
jhonnychura@[Link]
Mis Referencias de ASP Jhonny Pedro Chura Loza
7. 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.
· COOKIES recupera los valores de las Cookies.
Sintaxis General:
[Link](elemento)
jhonnychura@[Link]
Mis Referencias de ASP Jhonny Pedro Chura Loza
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=[Link]("nombre") [Link] "Hola, " &nombre& "." %>
8. OBJETO Server
El objeto Server nos proporciona acceso a métodos y propiedades del servidor.
[Link] (IdProg)
IdProg es el identificativo del tipo de componente que queremos crear, nos viene
suministrado por el fabricante del componente.
Ejemplo:
<% set Mitabla = CreateObject("[Link]") %>
Instancia un objeto de tipo recordset y lo asigna a la variable "Mitabla".
9. 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 ([Link]) o bien cuando este cliente lleva 20 minutos sin
actividad en nuestra aplicación.
jhonnychura@[Link]
Mis Referencias de ASP Jhonny Pedro Chura Loza
Al concluir este capítulo usted deberá saber cómo crear variables y matrices para una
sesión de usuario.
Sesion("Nomvariable") = valor
Ejemplo:
9.2. Matrices
Nota Importante:
En el objeto Session pueden almacenarse matrices, pero estas son almacenadas como un
Ejemplo:
<%Dim cestacompra(2)
cestacompra(0) = 1
cestacompra(1) = 8
cestacompra(2) = 22
Session("Cesta") =cestacompra%>
jhonnychura@[Link]
Mis Referencias de ASP Jhonny Pedro Chura Loza
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
<% [Link]%>
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.
<% [Link]%>
<% [Link]
Application("visitas") = Application("visitas")+1
[Link] %>
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.
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.
jhonnychura@[Link]
Mis Referencias de ASP Jhonny Pedro Chura Loza
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.
Propiedades:
Sintaxis:
jhonnychura@[Link]
Mis Referencias de ASP Jhonny Pedro Chura Loza
Ejemplo:
REDIRECT /util/[Link]
WIDTH 300
HEIGHT 50
BORDER 2
/imagenes/[Link]
[Link]
20
/imagenes/[Link]
[Link]
jhonnychura@[Link]
Mis Referencias de ASP Jhonny Pedro Chura Loza
Dulces de calidad
30
<html>
<head><title>Uso de AdRotator</title></head>
<body><h2>Uso de AdRotator</h2>
</ body>
</html>
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:
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
jhonnychura@[Link]
Mis Referencias de ASP Jhonny Pedro Chura Loza
Sintaxis
Sintaxis:
Modo Indica si queremos abrir el fichero para lectura (1) , para escritura (2) o para
Crear Admite los valores TRUE o FALSE, si el fichero no existe y el valor dado es
TRUE se crea.
Ejemplo:
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:
Sintaxis:
jhonnychura@[Link]
Mis Referencias de ASP Jhonny Pedro Chura Loza
<% [Link]%>
Sintaxis:
Sintaxis:
Sintaxis:
<% [Link]%>
Sintaxis
Sintaxis
Sintaxis
jhonnychura@[Link]
Mis Referencias de ASP Jhonny Pedro Chura Loza
Sintaxis
Sintaxis
<HTML>
<BODY>
<%
Set Mfso=[Link]("[Link]")
Set MArchivo=[Link]("c:\[Link]",2,true)
[Link] date()
[Link]
%>
</BODY>
</HTML>
jhonnychura@[Link]
Mis Referencias de ASP Jhonny Pedro Chura Loza
Al concluir este capítulo usted deberá conocer los diferentes tipos de conexiones a
bases de datos que ofrece ASP.
Existen varios tipos de conexión a bases datos. Algunos, como el ODBC requieren se la
configuración de un DSN en el servidor, otros en cambio, trabajan directamente si tener
que realizar alguna configuración. Algunas de las conexiones que
a) OBDC
[Link] "NombreConexion"
[Link]
%>
b) Por OLEDB
[Link] "Provider=[Link].4.0;
Data Source="&[Link]("[Link]")&";"
%>
c) Por DBQ
%>
Recordset
jhonnychura@[Link]
Mis Referencias de ASP Jhonny Pedro Chura Loza
Se utiliza para realizar operaciones sobre las tablas de la base de datos. Para crear el
objeto RecordSet se utiliza la línea set rs=[Link]("[Link]")
seguida de una instrucción SQL para realizar alguna operación.
Permite que las aplicaciones accedan a los datos a través usando SQL como lenguaje
estándar. Se administran a través de la ventana ODBC del Panel de Control.
Se pueden configurar tres diferente fuentes de datos ODBC, la forma más interesante es
la de DSN del Sistema, que presenta la ventaja de poder ser accedida por cualquier
usuario, siendo el tipo usado en aplicaciones ASP.
Para declarar una base de datos ODBC haremos doble clik en el icono Fuentes de Datos
ODBC que encontraremos en el panel de control de Windows(Inicio->Configuración->
Panel de Control), una vez abierto el programa nos situaremos en la pestaña DSN de
Sistema.
jhonnychura@[Link]
Mis Referencias de ASP Jhonny Pedro Chura Loza
Pulsaremos el botón AGREGAR para añadir una nueva fuente de datos, lo que nos
llevara a la pantalla de controladores.
jhonnychura@[Link]
Mis Referencias de ASP Jhonny Pedro Chura Loza
En esta ventana elegiremos el driver adecuado para la tecnología de la base de datos que
queremos tratar desde nuestras páginas ASP y pulsaremos finalizar. La siguiente
pantalla que se nos muestra nos pedirá la ubicación física de nuestra base de datos y el
nombre ODBC con el que queremos acceder a ella.
jhonnychura@[Link]
Mis Referencias de ASP Jhonny Pedro Chura Loza
Una vez hecho esto pulsaremos el botón ACEPTAR y ya tendremos nuestra base de
datos disponible para su uso desde nuestras aplicaciones Web.
Al concluir este capítulo usted deberá conocer las sentencias del lenguaje de
manipulación de bases de datos SQL.
Sintaxis:
Ejemplos:
· Select:
jhonnychura@[Link]
Mis Referencias de ASP Jhonny Pedro Chura Loza
jhonnychura@[Link]
Mis Referencias de ASP Jhonny Pedro Chura Loza
Ejemplo:
Modifica los registros que contengan como nombre Fran por Juan.
<%
set con=[Link]("[Link]")
set rs=[Link]("[Link]")
[Link] "Provider=[Link].4.0;
Data Source="&[Link]("[Link]")&";"
rs=[Link](SQL)
%>
jhonnychura@[Link]
Mis Referencias de ASP Jhonny Pedro Chura Loza
ADO usa ODBC para el acceso a bases de datos. lo que nos independiza de la
tecnología de las mismas; esto implica que podemos cambiar la tecnología de la base de
datos y si mantenemos la misma estructura de datos, nuestras aplicaciones desarrolladas
con ADO pueden seguir funcionando sin cambiar ni una sola línea de código.
Para desarrollo podemos crear nuestras fuentes de datos en Microsoft Access, pero en
entornos de producción con gran afluencia de clientes deberemos de usar gestores de
bases de datos mas potentes, como Oracle, Microsoft Sql Server, etcétera.
ADO esta formado por varios objetos organizados de forma jerárquica (cada uno de
ellos con sus métodos y propiedades específicos) de los cuales vamos a estudiar los que
considero mas interesantes.
jhonnychura@[Link]
Mis Referencias de ASP Jhonny Pedro Chura Loza
Nos proporciona una conexión a una base de datos ODBC desde una página ASP. Esta
conexión nos permitirá efectuar las operaciones que deseemos sobre la base de datos.
Es el objeto primario de ADO, ninguno de los otros objetos puede existir si este no es
declarado de forma explicita o implícita (en algunos de los ejemplos veremos que no
existe una declaración del objeto Connection, pero debemos de tener en cuenta que
siempre existe, si es necesario ADO lo declarará por si mismo).
Error
Command
Connection.
Recordset
Representa una tabla o el resultado de una consulta ejecutada contra la base de datos. Va
a ser nuestro interface natural contra la base de datos.
Como en todo modelo relacional, los datos se nos presentaran en filas y columnas.
Field
Contiene la colección Fields que representa todos los campos de la tabla, cada miembro
de esa colección es un objeto de tipo Field.
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).
jhonnychura@[Link]
Mis Referencias de ASP Jhonny Pedro Chura Loza
Utilizando una DSN solicitándola al servidor que te provee de servicios de internet, (en
este caso uso esta opción).
Autor
Email del Autor
Fecha de alta en el foro
Titulo de la cuestión
Cuerpo de la cuestión
ID de la pregunta, (uso interno)
QoR. Pregunta o Respuesta
Un ejemplo de tabla seria:
El campo QoR :
- P: 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 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.
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
jhonnychura@[Link]
Mis Referencias de ASP Jhonny Pedro Chura Loza
que creeis vosotros, (por ejemplo en [Link]). Las claves de acceso son las que
vosotros qu
<%
[Link] "DSN=MiDNS"
%>
QueryString recupera los valores de los parámetros entrados al llamar al ASP desde la
URL.
comando=[Link]("comando")
passw=[Link]("passw")
ID=[Link]("ID")
QoR=[Link]("qor")
IDPregunta=[Link]("IDPregunta")
jhonnychura@[Link]
Mis Referencias de ASP Jhonny Pedro Chura Loza
fecha=[Link]("fecha")
Titulo=[Link]("Titulo")
Cuerpo=[Link]("Cuerpo")
Autor=[Link]("Autor")
<html>
<head>
<title>El Foro</title></head>
<body>
<H2>Opciones</H2>
<UL>
<LI><A HRef="[Link]?comando=anadir">
Lanzar un nuevo comentario al foro.
</A></LI> <LI>
<A HRef="[Link]?comando=ver">
Ver Todo, (refrescar).
</A></LI></UL>
<%
If comando="anadir" Then
%>
<%
jhonnychura@[Link]
Mis Referencias de ASP Jhonny Pedro Chura Loza
[Link]
%>
Autor :<BR>
<UL>
<UL>
</UL>
Titulo, (obligado) :
<UL>
</UL>
<UL>
</UL>
</FORM>
<%
jhonnychura@[Link]
Mis Referencias de ASP Jhonny Pedro Chura Loza
Error=False
MsjError=""
If Autor="" Then
Autor="-no firma-"
End If
If email="" Then
email=" "
End If
If Titulo="" Then
Error=True
End If
If Cuerpo="" Then
Error=True
End If
If QoR="P" Then
jhonnychura@[Link]
Mis Referencias de ASP Jhonny Pedro Chura Loza
End If
[Link]("<UL>")
[Link]("</UL>")
%>
<BR><BR>
<CENTER>
<TR>
jhonnychura@[Link]
Mis Referencias de ASP Jhonny Pedro Chura Loza
<%
If Comando="explosion" Then
Else
End If
%>
</TH>
</TR>
<%
%><tr>
<td><%
If RS("QoR")="R" Then
[Link]("<UL>")
End If
' Fecha.
If IsNull(RS("Fecha")) Then
Else
jhonnychura@[Link]
Mis Referencias de ASP Jhonny Pedro Chura Loza
End If
' ID.
' Título.
If IsNull(RS("Titulo")) Then
[Link](" <BR>")
Else
If Comando="explosion" Then
Else
[Link]("<A HRef='[Link]?comando=explosion&IDPregunta="&
RS("IDPregunta") & "'>" & RS("Titulo") & "</A><BR>")
End If
End If
If Comando="explosion" Then
[Link]("<B>Autor : </B>")
If IsNull(RS("Autor")) Then
Else
[Link]((RS("Autor"))
End If
If IsNull(RS("email")) Then
[Link](" <BR>")
Else
jhonnychura@[Link]
Mis Referencias de ASP Jhonny Pedro Chura Loza
End If
'Botón de respuesta.
If RS("QoR")="P" Then
%>
<%
Tit = RS("Titulo")
%>
</FORM>
<%
End If
End If
If RS("QoR")="R" Then
jhonnychura@[Link]
Mis Referencias de ASP Jhonny Pedro Chura Loza
[Link]("</UL>")
End If
%>
</td>
</tr><%
[Link]
Loop
%>
</TABLE>
</CENTER>
</UL>
<%
TituloResp = Titulo
%>
jhonnychura@[Link]
Mis Referencias de ASP Jhonny Pedro Chura Loza
<UL>
<%
%>
</UL>
Autor :<BR>
<UL>
</UL>
<UL>
</UL>
Titulo, (obligado) :
<UL>
<%
%>
</UL>
<UL>
jhonnychura@[Link]
Mis Referencias de ASP Jhonny Pedro Chura Loza
</UL>
</FORM>
<%
%>
Password :
ID de pregunta a eliminar :
</FORM>
<%
jhonnychura@[Link]
Mis Referencias de ASP Jhonny Pedro Chura Loza
[Link]("<H2>Ok.</H2>")
[Link](<H2>Password erroneo.</H2>)
End If
End If
%>
</body>
</html>
jhonnychura@[Link]
Mis Referencias de ASP Jhonny Pedro Chura Loza
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.
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:
<html>
<head>
</head>
<body>
<form method="post" action="[Link]">
<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>
</html>
<%
'Creación de variables para almacenar los campos del formulario
Nombre= [Link]("nom")
Empresa= [Link]("emp")
jhonnychura@[Link]
Mis Referencias de ASP Jhonny Pedro Chura Loza
Sugerencias= [Link]("sug")
strTo = [Link]
to="direccion@[Link]"&doclear=yes ' 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>"
[Link] = [Link]
to="direccion@[Link]"&doclear=yes 'No hay problema en que sea la
misma que la anterior.
[Link] = strTo
[Link] = strSubject
[Link] = strBody
[Link] 'Envía el mail
Set objCDOMail = Nothing
[Link] "[Link]"
' O bien podemos ahorrar una página y escribir algo como
' [Link] "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.
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.
Para realizar este ejemplo, vamos a utilizar el archivo [Link] y cuatro eventos,
para manejar las rutinas.
Application_OnStart
Application_OnEnd
Session_OnStart
Session_OnEnd
jhonnychura@[Link]
Mis Referencias de ASP Jhonny Pedro Chura Loza
Sub Application_OnStart
Application("visitas") = 0
Application("Active") = 0
End Sub
Sub Application_OnEnd
End Sub
Sub Session_OnStart
[Link] = 20
Session("Start") = Now
[Link]
Application("visitas") = Application("visitas") + 1
intTotal_visitas = Application("visitas")
[Link]
Session("VisitorID") = intTotal_visitas
[Link]
Application("Active") = Application("Active") + 1
[Link]
End Sub
Sub Session_OnEnd
[Link]
Application("Active") = Application("Active") - 1
[Link]
End Sub
</SCRIPT>
<html>
<head>
<title>Mostrando la cantidad de usuarios activos</title>
</head>
<body>
Vos sos uno, de <%=Application("Active")%> visitantes en este momento.
</body>
</html>
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.
jhonnychura@[Link]
Mis Referencias de ASP Jhonny Pedro Chura Loza
[Link]
<HTML>
<HEAD><TITLE> Mostrando Banners</TITLE></HEAD>
<BODY>
<CENTER><H1>Mostrando Distintos Banners!</H1></CENTER>
<HR>
<%
Set MyAd=[Link]("[Link]")
[Link]= "TARGET=""blank"""
%>
En esta página es en donde vamos a mostrar los distintos banners, y para ello
necesitamos crear 2 archivos más.
[Link]
REDIRECT [Link]
WIDTH 468
HEIGHT 60
BORDER 0
*
[Link]
[Link]
El Portal de Programación en Internet
60
[Link]
[Link]
WebKlan
20
[Link]
[Link]
Neolatina
20
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.
jhonnychura@[Link]
Mis Referencias de ASP Jhonny Pedro Chura Loza
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.
[Link]
<%
[Link] [Link]("url")
[Link] [Link]("url")
%>
jhonnychura@[Link]