Scripts de ASP

  • Autor Cobac
  • Fecha de inicio
Estado
Cerrado para nuevas respuestas
C

Cobac

Guest
#1
Aqui voy poniendo todos los scripts que tengo utiles de asp, para que los empleis y demás
 
C

Cobac

Guest
#2
Mostrar últimos 6 datos de 4 bases de datos

Bueno esto lo que os hace es abriros 4 tablas de una misma base de datos, donde selecciona los campos titulo y fecha, y luego ordena en un array los últimos 6 añadidos, se puede emplear para mostrar las últimas 6 descargas que tengais en distintas tablas en una misma base de datos

Insertar CODE, HTML o PHP:
<%

'definimos los arrays

dim elinks(20,2), ordenado(20), seccion(4), cont, intermedia(2)

cont = 0

'nombre de las bases de las tablas que se van a abrir

seccion(0) = "tv"

seccion(1) = "games"

seccion(2) = "nose"

seccion(3) = "otro_mas"

for x=0 to 3 Step 1

strsql = "SELECT titulo, fecha FROM "& seccion(x) &" ORDER BY fecha DESC "

Set oConn = Server.CreateObject("ADODB.Connection")

oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="&Server.MapPath("\base.mdb")

Set RS = Server.CreateObject("ADODB.Recordset")

RS.Open strSQL, oConn,3,1

for y=0 to 4 Step 1

 elinks(cont,1) = rs("titulo")

 elinks(cont,2) = rs("fecha")

 cont = cont + 1

 RS.MoveNext

Next

Next

'limpiamos todo

RS.Close

Set RS = Nothing

oConn.Close

Set oConn = Nothing

'ordenamos el array bidimensional elinks

for x=0 to 19 Step 1

for y=x+1 to 19 Step 1

 if elinks(x,2) < elinks(y,2) then

 *intermedia(1) = elinks(x,1)

 *intermedia(2) = elinks(x,2)

 *elinks(x,2) = elinks(y,2)

 *elinks(x,1) = elinks(y,1)

 *elinks(y,1) = intermedia(1)

 *elinks(y,2) = intermedia(2) *

 

 End if

Next

Next

'mostramos los 6 primeros resultados, que serían los 6 mas nuevos

for x=0 to 5 Step 1

response.write "
"& x &" "& elinks(x,2) &" "& elinks(x,1) &"
"

Next

%>
Si quereis que se abran mas tablas hay que modificar un par de cosas, si teneis algúna duda decidmelo que os respondere encantado

saludos
 
C

Cobac

Guest
#3
Visitas reales de una pagina

Os pongo un contador en asp, que he realizado yo y lo tengo en mi web , ademas te muestra los numeros como imagenes, osea que tu tienes que tener 10 imagenes .gif que van desde 0 hasta 9 y ya tienes el contador hecho.

Archivo global.asa

Insertar CODE, HTML o PHP:
<script language=vbscript runat=server>

Sub Application_OnStart

Application("Activos") = 0

set fso = createobject("scripting.filesystemobject")

set act = fso.opentextfile(server.mappath("contador.txt"))

Application("contador") = clng(act.readline)

act.Close

End Sub

Sub Application_OnEnd

End Sub

Sub Session_OnStart

If Request.Cookies ("contador") <> "" Then

Else

Application.Lock

set fso = createobject("scripting.filesystemobject")

set act = fso.opentextfile(server.mappath("contador.txt"))

Application("contador") = Application("contador") + 1

Set act = fso.CreateTextFile(server.mappath("contador.txt"), true)

act.WriteLine(Application("contador"))

act.Close

Application.Unlock

Response.Cookies("contador")="visitado"

Response.Cookies("contador").Expires = now() + 5

End If

End Sub

Sub Session_OnEnd

End Sub

</script>
y luego en el archivo donde lo quieras mostrar pones esto

Insertar CODE, HTML o PHP:
<%

dim n

dim m

dim c(20)

for n=1 To len(Application("contador")) Step 1

c(n-1)=(mid(Application("contador"),n,1))

Next

for m=0 To n-2 Step 1

response.write ("<img src=/numeros/pekeños/"& c(m) &".gif hspace=0 width=13 height=19>")

Next

%>
os buscara la imagen que se encuentra en la carpeta /numeros/pekeños/ y que sea gif

por ejemplo tienes 123 visitas pues esto kedaria así en html

Insertar CODE, HTML o PHP:
<img src=/numeros/pekeños/1.gif hspace=0 width=13 height=19>

<img src=/numeros/pekeños/2.gif hspace=0 width=13 height=19>

<img src=/numeros/pekeños/3.gif hspace=0 width=13 height=19>
si tieneis algún problema o duda decidmelo

P.D.: la cookie dura 5 días desde el dia de su creacion, y para guardar las visitas crea un archivo llamado contador.txt en la carpeta raiz (cambiale los permisos -CHMOD- para que todos puedan leer y escribir) y le pones de valor inicial 0.
 
C

Cobac

Guest
#4
Contador usuarios activos

Bueno ahora os pongo uno para mostrar los usuarios activos de la web, las imagenes son igual que antes, sirven las mismas, solo que el global.asa cambia un poco, y la manera de mostrarlo solo es cambiar el nombre de la variable.

Archivo global.asa

Insertar CODE, HTML o PHP:
<script language=vbscript runat=server>

Sub Application_OnStart

End Sub

Sub Application_OnEnd

End Sub

Sub Session_OnStart

Application.Lock

Application("Activos") = Application("Activos") + 1

Application.Unlock

End Sub

Sub Session_OnEnd

Application.Lock

Application("Activos") = Application("Activos") - 1

Application.Unlock

End Sub

</script>
Archivo .asp donde se quiere mostrar

Insertar CODE, HTML o PHP:
<%

dim a

dim b

dim d(20)

for b=1 To len(Application("Activos")) Step 1

d(b-1)=(mid(Application("Activos"),b,1))

Next

for a=0 To b-2 Step 1

response.write ("<img src=/numeros/pekeños/"& d(a) &".gif hspace=0 width=13 height=19>")

Next

%>
Bueno para que lo entendais un poco os lo explico, en el global.asa cuando un usuario entra en nuestra web se le crea una sesión (de una duracion de 20 min si no especificamos otro tiempo) al iniciar la sesión la variable "Activos" que es una variable general (no como otras que solo son de una pagina) aumenta en 1, entonces por cada usuario que entra solo tenemos que aumentar esa variable y cuando acaba la sesión se disminuye la variable.

Alguna duda o demas decidmelo.

Saludos y espero que os sea util.
 
C

Cobac

Guest
#5
Enviar un boletin

Este consta de varios archivos, es bastante largo, si no entendeis algo ya me lo direis, la base de datos se llama boletin.mdb y tiene una tabla llamada usuarios, con un campo ID autonumerico (la clave principal) y otro campo destino memo.

este primero es para insertar un usuario para enviarle los emails

inscribirte.asp

Insertar CODE, HTML o PHP:
<%

Const adOpenKeyset = 1

Const adLockOptimistic = 3

destino = Trim(Request.Form("destino"))

'si no se ha rellenado el campo

if destino = "" then

%>

<html>

<head>

<title>SUBSCRIPCION AL BOLETIN</title>

</head>

<body>

<form method=post action=inscribirte.asp>

Correo: <input type="text" name="destino" size="40">

<input type="submit" value="Enviar" name="B1"><input type="reset" value="Restablecer" name="B2"></p>

</form>

</body>

</html>

<%

else

Set Conn = Server.CreateObject("ADODB.Connection")

Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\boletin.mdb"))

set rs=createobject("ADODB.Recordset")

rs.CursorType = adOpenKeyset

rs.LockType = adLockOptimistic

rs.open "usuarios",conn

rs.addnew

rs("destino")=destino

rs.update

rs.close

response.write "<center><font color=#000000 size=2>Usuario añadido</font></center>"

End if

%>
Este es para enviar el boletin

enviarboletin.asp

Insertar CODE, HTML o PHP:
<html>

<body>

<form method=post action=send.asp>

Mensaje: <textarea rows="20" name="Mensaje" cols="70"></textarea>

<input type="submit" value="Enviar" name="B1"><input type="reset" value="Restablecer" name="B2"></p>

</form>

</body>

</html>
send.asp
Insertar CODE, HTML o PHP:
<%

'origen del mensaje

Origen = "boletin@tudireccion.org"

'asunto del mensaje

Asunto = "Boletin de tudireccion.org"

Mensaje = request.form("mensaje")

dim array(200)

dim x

dim total

x = 0

strsql = "SELECT * FROM usuarios"

'la ruta y el nombre de la base de datos 

Set oConn = Server.CreateObject("ADODB.Connection") 

oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="&Server.MapPath("\boletin.mdb") 

Set RS = Server.CreateObject("ADODB.Recordset") 

'la abrimos 

RS.Open strsql, oConn,3,1 

Do while not RS.eof

array(x) = RS("destino")

x = x + 1

RS.MoveNext

Loop

total = x-1

RS.Close

oConn.Close

Set RS = nothing

Set oConn = nothing *

for x=0 to total Step 1

    'Creamos una instancia del objeto CDO

    Set ObjetoCDO = Server.CreateObject("CDONTS.NewMail")

    'Asignamos las propiedades al objeto

    ObjetoCDO.From = Origen 

    ObjetoCDO.To = array(x)

    ObjetoCDO.Subject = Asunto

    ObjetoCDO.Body = Mensaje

    'Enviamos el e-mail

    ObjetoCDO.Send

    'Destruimos el objeto

    Set ObjetoCDO = Nothing

'nos movemos al proximo registro

Next

%>

<%="el email a sido enviado con exito"%>
bueno solo puede enviar a 200 usuarios , si son mas tendreis que modificar el tamañao del array

saludos y ya me contareis si os vale
 
C

Cobac

Guest
#6
Contar longitud de un texto

Este se emplea para mi web en noticias informatica, te cuenta las palabras que hay, y si hubiera menos de 350 carácteres, entonces no te saldria lo de leer mas...

Osea te cuenta las palabras, y si el texto tiene menos de 350 carácteres no te sale para leer mas, si tiene más de 350 carácteres te muestra los 300 primeros y lo demas no

Insertar CODE, HTML o PHP:
<%

noticia = rs("noticia")

palabras = 0

espacio = 0

if len(noticia) > 350 then

 * *contenido = mid(noticia,1,300)

 * *response.write contenido&"..."

    for x = 0 to len(noticia) Step 1

    espacio = mid(noticia,x+1,1)

 *if espacio = " " then

 *    palabras = palabras + 1

 *end if

    next

else

    response.write noticia

end if

%>
luego donde quieras que te aparezca lo de leer mas...

Insertar CODE, HTML o PHP:
<%if len(noticia) > 350 then%>

<%="Leer mas...("& palabras &" palabras)"%>

<%end if%>
saludos
 
C

Cobac

Guest
#7
Quiero que cuando añada un elink me ponga automáticamente el tamaño de este

Bueno esto es algo que he descubierto hoy (no sabia que el tamaño se encontraba en el mismo elink :))

Insertar CODE, HTML o PHP:
<%

Dim edk, mb, mb2, elink

elink = "ed2k://|file|dev-ut45.X-Gamers.www!OSIOLEK!com.bin|764868048|909EB1BA30E06B9FF4D129D4CA52F6DE|/"

edk = Split(elink,"|",5)

%>

<%

mb = edk(3)/1048576

mb2 = Split(mb,",")

elink = mb2(1)

elink = mid(elink,1,2)

response.write "
Tamaño del archivo: "&mb2(0)&","&elink&" MB"

%>
este es con un ejemplo de un juego (el ut2004 XD)

pero si los elinks los sacais de una base de datos (lo mas normal ):

Insertar CODE, HTML o PHP:
<%

Dim edk, mb, mb2, elink

elink = rs("ed2k")

edk = Split(elink,"|",5)

mb = edk(3)/1048576

mb2 = Split(mb,",")

elink = mb2(1)

elink = mid(elink,1,2)

response.write "
Tamaño del archivo: "&mb2(0)&","&elink&" MB"

%>
bueno he puesto para que solo muestre dos decimales (casualmente como en el eMule)

saludos
 
Estado
Cerrado para nuevas respuestas
Arriba Pie