Un Rotador de Banners al Azar
Christian Gustavo Riva
El siguiente codigo te mostrara
una de las formas en las cuales puedes hacer facilmente un script en Perl
que despliegue al azar anuncios publicitarios (Banners) en tu Sitio Web.
Ademas, este mismo codigo
te permitira gestionar banners de diferentes medidas en forma simultanea,
por lo que una vez configurado podras agregarlo en distintos espacios de
tus paginas para visualizar multiples anuncios.
Para implementarlo deberas
generar el archivo banners.pl con el codigo listado, copiarlo a tu FTP
y asignarle los permisos correspondientes de ejecucion, y luego agrega
en tus paginas una referencia al script en SSI de la siguiente forma:
<!--#include
virtual="/ruta_del_script/banners.pl?X" -->
Donde deberas reemplazar
la X por el Formato de banners que quieres mostrar en determinadas posiciones
de las paginas.
Recuerda que el codigo es
para uso libre y su finalidad es introducirte en los conceptos que trata
y animarte a que experimentes por tu cuenta.
BANNERS.PL
###################################
# (C) 2001
Christian Gustavo Riva #
# https://www.programasprogramacion.com
#
###################################
#!/usr/bin/perl
## Requerido
para servidores Unix/Linux unicamente.
$formato =
$ENV{'QUERY_STRING'};
## Tomamos
del entorno la variable QUERY_STRING, la cual contiene
## todo lo
que se encuentre seguido al signo ? en la linea que llamo
## al script
(/ruta_del_script/banners.pl?2)
if ($formato==1)
{ $banner=&Formato_1(); }
elsif($formato==2)
{ $banner=&Formato_2(); }
else { $banner="Formato
incorrecto o no especificado."; }
## En estas
lineas lo que hacemos es asignar a la variable $banners
## el codigo
HTML que corresponda mostrar.
## Segun el
$formato reconocido (en el paso previo) peticionamos
## la asignacion
de la variable a distintas funciones
## (en el
ejemplo denominadas Formato_1 y Formato_2).
print "Content-type:
text/html\n\n";
## Le indicamos
al cliente (Navegador) el tipo de datos que le
## enviaremos
(html).
print $banner;
## Y finalmente
enviamos el codigo html del banner a mostrar
## (o en su
defecto un mensaje de error).
exit;
## Funciones
donde deberemos configurar los Banners ##
sub Formato_1()
{
@htm = ( 'codigo
del banner1', 'codigo del banner2','etc' );
return( $htm[rand(@htm)]
);
}
sub Formato_2()
{
@htm = ( 'codigo
del banner3', 'codigo del banner4','etc');
return( $htm[rand(@htm)]
);
}
## Observa
que en ambas funciones hacemos lo mismo:
## - Creamos
una variable List (vector en 1xn), a la cual
## le asignamos
para cada uno de sus items el codigo
## html (completo)
del banner a mostrar. El codigo html
## que ingresemos
estara delimitado por comillas simples
## para no
tener que utilizar codigos de escape (\", por ej).
## De esta
forma, asignamos a la variable @htm de la
## funcion
Formato_1 cada uno de los banners entre
## los cuales
debera elegir. E idem para su homonima
## pero de
la funcion Formato_2.
## - Una vez
asignados los codigos, solo retornamos como
## valor de
la funcion uno de los items seleccionado al azar.
## (recuerda
que al comienzo asignamos a nuestra variable
## $banner
el valor que estas funciones devuelven).
## En todos
los casos, el codigo HTML que representa un
## banner
debera ser del tipo:
## <a href="http://www.destino.com">
## <img
src="http://www.destino.com/grafico.gif">
## </a>
## Incluso
puedes utilizar codigo en JavaScript, o cualquier
## otro (Rich
Media inclusive), solo deberas tener cuidado
## de las
comillas simples que este codigo contenga.