Tutoriales de asp

« 1 2/3 3 »
Descripcion

Con el siguiente codigo crearemos una carpeta en el servidor utilizando FSO



<%
Set fs = CreateObject("scripting.FileSystemObject")
fs.CreateFolder("d:rameworld")
%>


Autor: S/A
Descripcion

Copia una carpeta completa utilizando FSO (FileSystemObject)



<%
Set fs = CreateObject("scripting.FileSystemObject")
fs.CopyFolder "d:db" , "d:clock"
%>


Autor: S/A
Descripcion

Copia un archivo utilizando FSO (FileSystemObject)

La sintaxis de la instrucción CopyFile es : CopyFile(archivo a copiar, destino)



<%
Set fs = CreateObject("scripting.FileSystemObject")
fs.CopyFile "d:db*.asp", "d:clock"
%>


Autor: S/A
Descripcion

El siguiente script cuenta los archivos que hay en una carpeta espesificada



<%
 ** first, set the folder that we want to list
 ** this can also be a value passed from a form
dirname="/users/kathi/asp/samples/tut/"
mypath = "tut/"
Set fso = CreateObject("scripting.FileSystemObject")
Set folder = fso.GetFolder(server.mappath(dirname))
Set filez = folder.Files
FileCount = folder.Files.Count
response.write "<center><font size=1>There are "
response.write "<b><font size=2>"
response.write FileCount & "</b></font>"
response.write " tutorials.</font></center><p>"
For Each listing in filez
    TotalChars = len(listing.name)
    Title = left(listing.name,TotalChars - 4)
    Title = replace(Title,"_"," ")
    response.write "<A HREF=" & mypath
    response.write listing.name
    response.write " class=""menu"" target=""_new"">"
    response.write Title
    response.write "</A><br>"
Next
%>


Autor: S/A
Introducion

Lo que tiene de interesante este ejemplo, es simplemente la sentencia SQL, tal vez un tanto desconocida para algunos. Con las sentencias que veremos a continuación podemos crear tablas nuevas sobre una base de datos ya existente, pudiendo también definir la cantidad y tipos de campo que la componen.
Hare un breve resumen de los parámetros de la sentencia para introducirlos y que sea mas fácil entenderla:



Sentencia

Definici&oacute;n / Acci&oacute;n

                    Ejemplo

CREATE TABLE

Sirve para crear la nueva tabla

        CREATE TABLE mi_tabla

DROP TABLE

Sirve para eliminar una tabla existente

DROP TABLE mi_tabla

PRIMARY KEY

Definimos el campo como Clave Primaria

campo PRIMARY KEY

AUTOINCREMENT

Definir un campo de tipo Auto Numerico

campo AUTOINCREMENT

INTEGER

Definir un campo de tipo Numerico

        campo INTEGER

TEXT (20)

Definir un campo de tipo Texto

        campo TEXT(20)

DATETIME

Definir un campo de tipo Dia/Fecha

campo DATETIME

MEMO

        Definir un campo de tipo Memo

        campo MEMO



Y ahora si, pasamos al código de ejemplo donde hacemos la conexion a una base de datos cualquiera, creamos la sentencia SQL con los parámetros que vimos aqui arriba, y la ejecutamos sobre la base. Suerte :)



<%
Driver de conexion a la BD
StrConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& 
Server.MapPath("base.mdb")
Set oConn = Server.CreateObject("ADODB.Connection")
oCOnn.open StrConn
sql = "CREATE TABLE nombre_de_tabla "
sql = sql & "(campo_autonumerico AUTOINCREMENT PRIMARY KEY, "
sql = sql & "campo_numerico INTEGER, campo_texto TEXT(20) ,"
sql = sql & "campo_memo MEMO, campo_fecha DATETIME )"
Ejecución de la sentecia sql sobre la BD
oConn.execute sql
oCOnn.close
Set oCOnn = nothing
%>


Autor: S/A
Introducción

?Alguna vez has querido saber la IP o el Host de quien visita tu web? ?Saber si la petición es post o get? Pues muy facil, esto se puede hacer recurriendo a las variables del servidor.

Por ejemplo si quisieramos mostrar la ip del visitante hariamos:



<% response.write Request.ServerVariables("REMOTE_ADDR") %>


Algunas de las variables más utilizadas:

CONTENT_TYPE: El tipo de datos que se está mostrando (texto, imagen jpeg, etc)

QUERY_STRING: Aquí se almacena todo lo que va detrás de "?" . Por ejemplo si pusieramos pagina.asp?var=value QUERY_STRING contendría "var=value"

REMOTE_ADDR: La ip del visitante

REMOTE_HOST: El host del visitante

HTTP_CLIENT_IP: Esta variable proporciona la ip del usuario cuando accede a través del proxy caché de telefónica.

REQUEST_METHOD: El método de petición que se ha utilizado para abrir la página actual (post o get)

SERVER_NAME: IP o Nombre que tiene asignado el servidor.

HTTP_REFERER: Contiene la página de la que procede el visitante.

REQUEST_URI: Devuelve la uri de la página. Si abrimos http://www.tuweb.com/dir/pagina.asp nos devuelve /dir/pagina.asp

Como ya hemos visto al principio, para utilizar estas variables sólo tenemos que utilizar el método "ServerVariables" Ejemplo:



<% Referer = Request.ServerVariables("HTTP_REFERER") %>


Autor: Gamaliel M.
Introducción

Validar un e-mail ingresado en un formulario usando InStr() y Len()

Con este script podemos verificar que una cadena de caracteres, represente a algun mail. En resumen, verificaremos si un usuario ingreso un mail o no. Si no lo hizo, rechazaremos su petición.



<FORM METHOD="post" ACTION="">
Ingresar un email: <INPUT NAME="correo"><INPUT TYPE="submit" VALUE="Comprobar!">
</FORM>
<%
if request.form("correo") <> "" then hago la comprobacion.
correo = trim(request.Form("correo"))
response.Write "El email que ingresaste es: <B>"& correo &"</B><BR><BR>"
nos fijamos que tenga mas de 4 caracteres de longitud (no existen mails de 4) 
if Len(correo) < 5 then novalido = "No puede tener menos de <B>5</B> 
caracteres.<BR>"
nos fijamos que contenga el caracter "@"
if Len(correo, "@") = 0 then novalido = novalido + "No contiene <B>""@""</B><BR>"
nos fijamos que contenga el caracter "."
if Len(correo, ".") = 0 then novalido = novalido + "No contiene <B>"".""</B><BR>"
nos fijamos que exista un . despues de la "@"
cuidado con los mails que son de este estilo algo.algo@hotmail.com
para eso ponemos como comienzo de busqueda, el caracter de la "@"
ubicacion_arroba = Len(correo, "@")
si no hay @ en la cadena, ubicacion_arroba tomará el valor 0, entonces...
if (ubicacion_arroba <> 0) and (Len(correo, ".") <> 0) then
if Len(correo, "@") > Len(ubicacion_arroba, correo, ".") then
novalido = novalido + "No existe un <B>"".""</B> despues del <B>""@""</B>"
end If
end If
if novalido = "" then 
novalido = "<B>Email valido</B>"
response.Write novalido
else
response.Write "<B>Email invalido</B>. Los motivos son los siguientes: <BR>"
response.Write novalido
end If
end If
%>


Autor: Gamaliel M.
Introducción

Login con usuario y contraseña desde una BD de Access

El ejemplo a continuación sirve para chequear si el nombre de usuario ingresado en un formulario, coincide con su contraseña. Si no es asi, denegaremos el ingreso a la siguiente página.
Veamos el ejemplo que sigue.

Este codigo de Puro HTML va en la primer página:

Archivo: pagina1.asp



<FORM ACTION="pagina2.asp" METHOD="post"><BR>
<B>Usuario:</B> <INPUT NAME="usuario" SIZE="12"><BR>
<B>Contraseña:</B> <INPUT NAME="password" SIZE="12"><BR><BR>
<INPUT TYPE="submit" VALUE="Ingresar">
</FORM>


Este código va en la página a donde se envian los datos del FORM. En mi ejemplo seria pagina2.asp.

Archivo: pagina2.asp



<%
Dim usuario, password, oConn, RS
Primero nos fijamos si ambos campos fueron completados.
Si no se cumple, redireccionamos a pagina1.asp
if Request.Form("usuario") = "" OR Request.Form("password") = "" then
response.Redirect "pagina1.asp"
else
Guardamos los datos del Form en variables y evitamos la comilla simple
usuario = trim(Request.Form("usuario"))
password = trim(Request.Form("password"))
usuario = Replace(usuario,"","")
password = Replace(password,"","")

Conectamos a nuestra BD.
Set oConn = Server.CreateObject ("ADODB.Connection")
oConn.open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& 
Server.MapPath("./basedatos.mdb") 

Seleccionamos de la tabla solo los registros que concuerden con el 
usuario del Form.
sql = "select * from prueba where usuario = "& usuario &""
Set RS = Server.CreateObject ("ADODB.RecordSet")
RS.open sql, oConn 

Si el valor EOF (fin de la tabla elegida) es verdadero, no existe el usuario.
if (RS.EOF = true) then
response.Write "Ese usuario no existe"
elseif RS.Fields("password") = password then Si el campo de la tabla es 
igual a nuestra variable, estas logueado.
response.Write "Te logueaste con exito... Bienvenido "& usuario &""
else Otra cosa, seria cuando el password no es la que seleccionamos.
response.Write "Esa contraseña no concuerda con el usuario ingresado"
end if 

Limpiamos y cerramos.
RS.close
oConn.close
Set RS = nothing
Set oConn = nothing
end If
%>


Autor: Gamaliel M.
Introducción

Recibir a un usuario cordialmente. (Cookies)

Trabajaremos con las Cookies para almacenar el nombre del visitante y la cantidad de veces que visitó la página. Para ello mostraremos un formulario, donde se preguntará por el nombre de la persona. Al completarlo, creamos una cookie que contenga la informacion del nombre, y otra que lleve la cuenta de sus visitas. Cada vez que entra, comprobamos la existencia de la cookie con el nombre. Si no existe, es que nunca llenó el formulario, entonces se lo mostramos. En cambio si la cookie existe, no mostramos el formulario, y mostramos la información que contienen las galletas (cookies).



<%
Declaro la varible visit, con la cual modificaré el valor de las visitas.
Dim visit
Pregunto si el form se relleno recien.
if Request.Form <> "" then
response.Cookies("nombre").Expires = "1/1/2005"
Si se cumple, creo las cookies para este usuario nuevo.
response.Cookies("nombre") = Request.Form("nombre")
end If
Verifico la existencia de la cookie("nombre").
if Request.Cookies("nombre") <> "" then
Si existe la cookie, muestro los datos.
response.Write "Hola <B>"&Request.Cookies("nombre")&"</B>"
Modifico el valor de la cookie("visitas"), dandole el valor de la variable
visit (modificada arriba).
si no existe, muestro el formulario .
else
%>

<FORM METHOD="post" ACTION="misma_pagina.asp">
Tu Nombre: <INPUT name=nombre>
<INPUT TYPE="submit" VALUE="Enviar">
</FORM>
<% end if %>


Observación:
Cuidado con el tema de los encabezados HTTP. Una forma de solucionar este conflicto es agregar la linea <% response.Buffer = true %> al comienzo de la página ASP

Autor: Gamaliel M.
Introducción

Añade este script en tu web para saludar a los usuarios según la hora del día:



<%
Dim hora
hora = Hour(time())
Empezamos la comprobaciones de tiempo.
if  hora > 6 and hora < 13 then
response.Write ("Buenos Dias, son las: " & time())
elseif hora > 12 and hora < 20 then
response.Write ("Buenas Tardes, son las: "& time())
elseif hora > 19 and hora < 24 then
response.Write ("Buenas Noches, son las: "& time())
elseif hora >= 0 and hora < 7 then
response.Write ("Buenas Noches, son las: "& time())
end IF
%>


Autor: Gamaliel M.
« 1 2/3 3 »