elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Ingresar Registrarse
11 Octubre 2008, 12:08  



+  Foro de elhacker.net
|-+  Informática
| |-+  Tutoriales - Documentación (Moderador: yeikos)
| | |-+  Curso ASP
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Imprimir
Autor Tema: Curso ASP  (Leído 13171 veces)
el-brujo
Adm
*****
Desconectado Desconectado

Mensajes: 14.044


La libertad no se suplica, se conquista


Ver Perfil WWW
Curso ASP
« en: 28 Agosto 2002, 15:58 »

ASP->Active Server Pages

C++ | Visual Basic
|
Interpretado:JavaScript | VBScript
Servidor: PHP | ASP



PROGRAMACIÓN EN ASP:

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
En línea

Give peace a chance
Páginas: [1] Ir Arriba Imprimir 
Ir a:  







Consolas     La Web de Goku     MilW0rm     MundoDivx

Hispabyte     Truzone     TodoReviews     ZonaPhotoshop

hard-h2o modding    Foros de ayuda    Yashira.org    Videojuegos    indetectables.net   

Noticias Informatica    Seguridad Informática    ADSL    Foros en español    eNYe Sec

Todas las webs afiliadas están libres de publicidad engañosa.

Powered by SMF 1.1.6 | SMF © 2006-2008, Simple Machines LLC
Free counter and web stats