Las páginas tienen una extensión .ASP
Los tags son <% %>
ejemplo:
prueba.asp
<% response.write "HOLA" %>
Variables:------No hace falta definirlas
dim var1
option explicit obligamos a definir todas las variables (recomendado)
vartype var1
Nos devuelve el tipo de una variable (un número)
vbEmpty --> 0
vbNull --> 1
vbInteger --> 2
vbLong --> 3
vbSingle --> 4
vbDouble --> 5
vbCurrency --> 6
vbDate --> 7
vbString --> 8
vbObject --> 9
vbError --> 10
vbBoolean --> 11
vbVariant --> 12
vbDataObject --> 13
vbBytc --> 17
vbArray --> 8192
Ejemplo:------dim var1
var1=6.0
response.write vartype (var1)
Resultado --> 5 (o sea double)
option explicit
response.write "Hola"
response.write var1
Resultado --> Variable no definida: 'var1'
División Entera -->
Potencia -- ^
Modulo --> Mod
Operadores de comparación:
=
<>
Concatenar: & (+)
and --> las dos son ciertas
or --> una de las dos es cierta
not -->lo contrario
xor --> cierto si solamente una de las dos es cierta.
function pepe(param1,param2)
pepe=5
end function
exit function para salir de una funcion
Procedimientos
sub PepeProc (par1,par2)
end sub
exit sub para salir del procedimiento
Para llamar a un procedimiento
call PepeProc ("Par1,"par2) o directamente PepeProc "par1","par2"
if condicion then
...
else
...
end if
select case(variable)
case "A": ...
case "B": ...
case "C": ...
case Else: ...
end select
function tipovariable(var)
for next
for a=1 to 5
..
next
do (while | until) ... loop
Do while a>0
...
loop
do until a=0
..
loop
While ... wend (Obsoleto)
For each ... in ...
For each elemento in Mi_Array
Salir bucles
Exit for (for)
Exit loop (while)
i=0
x=1
do while i<=9
i=i+1
resultado=x*i
response.write ---response.write resultado---loop-------------------------------------Ámbito de las variables------- Página---Dim a---a=5------Esta variable tiene valor dentro de esta página (sólo en la página actual)------- Sesión---Válidas durante toda la visita del usuario (Dura hasta que se cierra el navegador o hasta que pasa un tiempo determinado)------Session("var")=5------- Aplicación---Válidas siempre, no caducan y se puede acceder para todos los usuarios.------Application("var")=7------------Global.asa------InetPub/www.root------se carga siempre que un usuario abre una página asp---inicializaciones/terminaciones------session_onstart-->se activa cuando unusuario entra en la página---session_onend-->se desactiva cuando un usuario abandona la sesión pq ha pasado un tiempo o pq ha hecho un session_abandon---application_onstart--> se activa cuando el 1er usuario entra en la página web---application_onend --> se desactiva cuando ya no haya ninguna sesión activa------plantilla para un fichero global:---------sub session_onstart---end sub---sub session_onend---end sub---sub application_onstart---application("visitas")=0---end sub---sub application_onend---end sub---------PROPIEDADES:------session_id --> identificador de la sesión---timeout --> tiempo que queda de sesión------session.sessionid------MÉTODO:------abandon-->destruye la sesión actual y nos activa el evento session_onend.No destruye la sesión hasta que no se haya ejecutado todo el código.------contents.remove-->elimina una variable de sesión---contents.removeall-->elimina todas las variables de sesión---contents-->colección de elementos añadidos a la sesión------ejemplo:---session("var1")=1---session("var2")=2------------Application------Lock --> bloquear------Unlock --> desbloquear------Application.lock---Application.("variable")="Hola"---Application.unlock------El objeto Server:------Propiedad:------ScriptTimeOut --> tiempo en segundos para ejecutar una página, sino lo hace en este tiempo da error. (Es como el max_execution_time = 30 del PHP)---------CreateObject -> Crear objeto com------(Objeto COM --> objetos dentro de dlls que se encuentran en el directorio windows, y quedan para todas las aplicaciones windows. Se registran en el sistema, y cualquier programas puede acceder a ellas.------Execute -> ejecutar un ASP---GetLastError -> Último error---MapPath -> Carpeta física---HtmlEncode -> Codificar para HTML---UrlEncode -> Codificar una URL---------Ejemplo:------El directorio raiz es:---<%=server.mappath("/") %>------Codigo sin codificar---<% response.write(" si a<b r>c") %>------Codigo codificado---<%=server.htmlencode(" si a<b r>c") %>------Prueba URL------<%=server.urlencode("dir=c/del carmen,25") %>------= sirve para response.write---------Transfer -> redirecciona a otra página.---------Objeto Request y Response---------Request -> obtener variables---Response -> escribir valores------TotalBytes -> los bytes enviados al cliente en la petición.------ClientCertificate -> certificados---Cookies -> cookies---Form -> valoers formulario---QueryString -> valor URL---ServerVariables -> variables servidor---------Ejemplo:------(Enviar la cookie antes de nada, o sea arriba de todo)---<% response.cookies("Cantidad")=5 %>------El valor de la cookie es:------<%=request.cookies("Cantidad") %>------Ejemplo Formulario:------<form name="form1" method="post" action="mostrar.asp">---<p> <font face="Verdana, Arial, Helvetica, sans-serif" size="2">Nombre ---<input type="text" name="nombre">---</font></p>---<p> <font face="Verdana, Arial, Helvetica, sans-serif" size="2">Dirección ---<input type="text" name="dire">---</font></p>---<p> <font face="Verdana, Arial, Helvetica, sans-serif" size="2">Teléfono ---<input type="text" name="tel">---</font></p>---<p> <font face="Verdana, Arial, Helvetica, sans-serif" size="2"> ---<input type="submit" name="Submit" value="Submit">---</font></p>---</form>---------------------------------------------------Su nombre es: <%=request.form("nombre")%>---Su dirección es: <%=request.form("dire")%>---Su teléfono es: <%=request.form("tel")%>---------Si el form method="get" entonces no podemos hacer request.form, sino querystring.------method="post" -> request.form---method="get" -> querystring------path_info ---path_translated -> direccion fisica del disco duro---query_string -> cadena con parametros---remote_addr -> IP---remote_host -> Nombre de la maquina---request_method -> get o post---script_map -> base del URL---script_name -> ruta virtual---server_port -> puerto servidor---server_port_secure -> puerto SSL---server_protocol ->protocolo de comunicaciones---url -> URL---server_software -> servidor------Server Variables------Ejemplo Info.asp------<%=request.servervariables("server_port") %>---<%=request.servervariables("path_info") %>---<%=request.servervariables("server_software") %>---<%=request.servervariables("server_protocol") %>---<%=request.servervariables("script_name") %>---<%=request.servervariables("remote_host") %>---<%=request.servervariables("remote_addr") %>------etc,etc,etc------Objeto Response------Buffer -> cierto o falso (si es cierto hasta que no se acabe de ejecutar la pagina no se envian los datos, si es falso se va enviando) O todo o nada, si tenemos 50 registros, si el buffer esta true, o nos enseña los 50 o ninguno, si esta en false, nos enseña 10 por ejemplo.---CacheControl -> especificar si la pagina se guardará en caché en el proxy.---Expires -> tiempo que tiene que almacenarse esta pagina en caché.------AppendToLog -> se guardara en el fichero log del servidor.---Clear -> nos borra el buffer---End -> terminamos la pagina, y se envia este el buffer esta true o no.---FlusH -> envia lo que hay en el buffer, si esta true---Redirect -> redirecciona la pagina a otro sitio---Write -> para escribir---Coookies -> colección de galletas------Ejemplo:---------<%---For x=1 to 1000---response.write (x)---response.write
next
%>
Va saliendo....
Y ahora
<%
response.buffer=true
For x=1 to 1000
response.write (x)
response.write ---next---response.end---%>------Sale de golpe!!!------Más ejemplos:------login.htm------------------------------------------<html>---<head>---<title>- Login </title>---<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">---</head>---<body bgcolor="#FFFFFF" text="#000000">---<form name="form1" method="post" action="comprobar.asp">---<table width="41%" border="0" cellspacing="0" cellpadding="0" bgcolor="#999999" align="center">---<tr bgcolor="#333333"> ---<td colspan="3"> </td>---</tr>---<tr> ---<td width="19%"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Nombre</font></td>---<td width="55%"> ---<input type="text" name="nombre" maxlength="10">---</td>---<td width="26%" rowspan="3"> </td>---</tr>---<tr> ---<td width="19%"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Password</font></td>---<td width="55%"> ---<input type="password" name="pass" maxlength="20">---</td>---</tr>---<tr> ---<td width="19%"> </td>---<td width="55%"> ---<input type="submit" name="Submit" value="Enviar">---</td>---</tr>---</table>---</form>---</body>---</html>---------------------------------------------comprobar.asp------------------------------------------<%---if (request.form("nombre")="alex") and (request.form("pass")="alex") then---Session("nombre")=request.form("nombre")---response.redirect("correcto.asp")---else---response.redirect("incorrecto.asp")---end if---%>---------------------------------------------correcto.asp------------------------------------------<%---response.write("Bievenido"&Session("nombre"))---%>---------------------------------------------incorrecto.asp------------------------------------------<%---response.write("No tienes acceso")---%>---------------------------------------------Teoría:------En el IIS 5.0---ASP Error------ASPCode---Number---Description---File---Line---Column---Source---Category------variable+Error=server.getLastError------Página que abre el servidor cuando hay un erorr --> 500-100.asp------Conexiones con bases de datos-------> ODBC --> se puede conectar con cualquier base de datos que acepte ODBC---------¿ Qué es el OBDC ? -> Conexión base de datos a través de Windows. Object Data Base Conection.------ADO -> colección de objetos para conectarse a la BD. WorkSpace, Recordset, etc------Primer paso:------Vamos a crear una base de datos con access:------clientes------IDCliente (autonúmerico)---Nombre---Direccion---Telefono------Clientes.mdb------Configuración---Panel de Control---Fuentes de datos ODBC------Data Source Name (DSN)------DSN Usuario---DSN Archivo (solo de un archivo)------DSN Usuario --> Agregar, Microsoft Acces-Driver, Nombre del Origen Clientes, Base de Datos (Seleccionar y cogemos cliente.mdb, en avanzadas podemos poner password, etc.------Set con= Server.CreateObject("ADODB.CONNECTION")---con.open "DSN=Clientes;UID=Nombre_usuario;PWD=Password;"------a-> Crear RecordSet---set mirs=con.execute("Select * from clientes") -> es como un mysql_query------mirs.eof---mirs.movenext---mirs("Nombre")---etc------b-> Ejecutar una consulta---con.execute=("Update...")------Variable de aplicación mejor, ponerlo en el global.asa, y luego llamarlo con un include.------response.write(mirs("Nombre"))------Ejemplo:------<%---Set con= Server.CreateObject("ADODB.CONNECTION")---con.open "DSN=Clientes;"------set mirs=con.execute("Select * from clientes")------do until mirs.eof---response.write(mirs("Nombre"))---mirs.movenext---loop------%>------Para actualizar y borrar registros:------conexion.asp------<%---Set con= Server.CreateObject("ADODB.CONNECTION")---con.open "DSN=Clientes;"------set mirs=con.execute("Select * from clientes")------do until mirs.eof------response.write("<form method=post action=edit.asp>")---response.write("<input type=hidden name=id value="&mirs("IDCliente")&">")---response.write(mirs("IDCliente"))---response.write()
response.write(mirs("Nombre"))
response.write()---response.write(mirs("Direccion"))---response.write()
response.write(mirs("Telefono"))
response.write()---response.write("<input type=submit value=Editar>")---response.write("</form>")---response.write("<hr>")---mirs.movenext---loop------%>------edit.asp------<%---Set con= Server.CreateObject("ADODB.CONNECTION")---con.open "DSN=Clientes;"------if request.form("Borrar")="Borrar" then---set mirs=con.execute("DELETE from clientes where IDCliente="&request.form("id")&)
response.write ("Eliminado")
else
if request.form("Actualizar")="Actualizar" then
set mirs=con.execute("UPDATE clientes SET Nombre='"&request.form("Nombre")&"', Direccion='"&request.form("Direccion")&"', Telefono='"&request.form("Telefono")&"' where IDCliente="&request.form("id")&)---response.write ("Actualizado")---else---set mirs=con.execute("Select * from clientes where IDCliente="&request.form("id")&)
response.write("<form method=post>")
response.write("<input type=hidden name=id value="&mirs("IDCliente")&">")
response.write ("Nombre: <input type=text name=Nombre value="&mirs("Nombre")&">")
response.write()---response.write ("Dirección: <input type=text name=Direccion value="&mirs("Direccion")&">")---response.write()
response.write ("Telefono: <input type=text name=Telefono value="&mirs("Telefono")&">")
response.write("")
response.write("<input type=submit name=Actualizar value=Actualizar>")
response.write("<input type=submit name=Borrar value=Borrar>")
response.write("</form>")
end if
end if
%>
Funciones
var=array(1,2,3)
Join(matriz,caracter)
Join --> una matriz en una cadena
Split(cadena,delimitador)
Split --> una cadena la convierte en array
(Bod,Byte,CCur,CDate,CDBl,Chr,Clnt,Clong,Str) -> nos convierte cualquier variable en un tipo que le digamos
chr.Asc --> código ASCII
Funciones de Fecha
Time()
Now() --> fecha y hora actual
Date()
DateAdd(Internal,Cantidad,Fecha) --> suma la fecha que le digamos
Day(Fecha) Month(fecha) Year(fecha)
hour(fecha) minute(fecha) second(fecha)
DatePart(Inervalo,Fecha) --> q (cuarto trimestre) w (semana) y (dia del año) ww (semana del año)
FormatDateTime(fecha,formato) -> formatear una fecha o una hora
FormatDateTime(fecha,1)
FormatDateTime(fecha,2)
etc
InputBox(texto,titulo,valorpred,xpos,ypos)
InStr([conocimiento],cadena1, cadena2) -> buscar una cadena en otra (buscamos la cadena 2 en la cadena 1
Left(cadena,longitud)
Right(cadena,longitud)
Mid(cadena,longitud)
Obtener partes de una cadena