Está en la página 1de 8

Tu mejor ayuda para aprender a hacer webs www.desarrolloweb.

com

Pginas dinmicas

Autores del manual Este manual ha sido realizado por los siguientes colaboradores de DesarrolloWeb.com: Rubn Alvarez
Redactor de DesarrolloWeb.com http://www.desarrolloweb.com (7 captulos)

Manual de pginas dinmicas: http://www.desarrolloweb.com/manuales/7/ Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorizacin.

Tu mejor ayuda para aprender a hacer webs www.desarrolloweb.com

Concepto de pginas dinmicas


Muy probablemente, estimado lector, seas una persona ms o menos familiarizada con el lenguaje HTML y con toda seguridad hayas desarrollado algn sitio basado en esta herramienta. En realidad el HTML no es lenguaje de programacin sino, ms bien, se trata de un lenguaje descriptivo que tiene como objeto dar formato al texto y las imgenes que pretendemos visualizar en el navegador. A partir de este lenguaje somos capaces de introducir enlaces, seleccionar el tamao de las fonts o intercalar imgenes, todo esto de una manera prefijada y en ningn caso inteligente. En efecto, el HTML no permite el realizar un simple clculo matemtico o crear una pgina de la nada a partir de una base de datos. A decir verdad, el HTML, aunque muy til a pequea escala, resulta bastante limitado a la hora de concebir grandes sitios o portales. Es esta deficiencia del HTML la que ha hecho necesario el empleo de otros lenguajes accesorios mucho ms verstiles y de un aprendizaje relativamente ms complicado, capaces de responder de manera inteligente a las demandas del navegador y que permiten la automatizacin de determinadas tareas tediosas e irremediables como pueden ser las actualizaciones, el tratamiento de pedidos de una tienda virtual... Estos lenguajes capaces de recrear a partir de ciertos "scripts" un sinfn de pginas automatizadas son los protagonistas de este concepto de pginas dinmicas. Este manual, que no es mas que una introduccin a otros manuales en curso de redaccin, esta destinado a aquellos que sienten que el HTML se les queda corto para realizar sus proyectos y que, sin tener ni idea de programar, desean dar el paso y darle un nuevo aire a sus pginas sin por ello pasar por experiencias traumticas debidas a su poca afinidad con los lenguajes informticos. El contenido ha sido, por lo tanto, deliberadamente simplificado y ser ampliado posteriormente a partir de anexos y artculos de mayor nivel para que pueda ser tambin utilizado por aquellos que ya estn familiarizados con este tipo de lenguajes. Artculo por Rubn Alvarez

Pginas dinmicas vs HTML


A pesar de que las pginas dinmicas nos puedan en un principio limitar a causa de su mayor complejidad con respecto al HTML, todas las ventajas que nos ofrecen compensan con creces este esfuerzo inicial. No obstante, hay que ser consciente del posible inters que pueda tener para uno el lanzarse en esta aventura de aprender un nuevo lenguaje y volver a redisear su propio sitio. Si la pgina en la que estamos pensando o que queremos redisear es relativamente pequea, no necesita estar al da continuamente sino que sus contenidos son perennes y no hemos previsto el pagar por mantenerla, el empleo de pginas dinmicas puede quedarse grande y resultar a todas luces improductivo.

Manual de pginas dinmicas: http://www.desarrolloweb.com/manuales/7/ Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorizacin.

Tu mejor ayuda para aprender a hacer webs www.desarrolloweb.com

Por el contrario, si el sitio es extenso y sus contenidos cambian rpidamente, nos interesa el automatizar en la medida de lo posible todas las tareas de tal forma que podamos gestionar su explotacin de la manera ms ptima. Para dejar ms claro hasta que punto resulta til utilizar pginas dinmicas lo mejor ser ejemplificarlo a partir de un sitio web modelo. Supongamos que hemos decidido realizar un portal de televisin donde una de las informaciones principales a proveer podra ser la programacin semanal. Efectivamente, esta informacin suele ser dada por las televisiones con meses de antelacin y podra ser muy fcilmente almacenada en una base de datos. Si trabajsemos con pginas HTML, tendramos que construir una pgina independiente para cada semana en la cual introduciramos "a mano" cada uno de los programas de cada una de las cadenas. Asimismo, cada semana nos tendramos que acordar de descolgar la pgina de la semana pasada y colgar la de la anterior. Todo esto podra ser fcilmente resuelto mediante pginas dinmicas. En este caso, lo que haramos sera crear un programa (solo uno) que se encargara de recoger de la base de datos de la programacin aquellos programas que son retransmitidos en las fechas que nos interesan y de confeccionar una pgina donde apareceran ordenados por cadena y por hora de retransmisin. De este modo, podemos automatizar un proceso y desentendernos de un aspecto de la pgina por unos meses. Este hecho lo podramos aplicar a otras situaciones: podemos preparar el horscopo de todos los das, las promociones de un sitio de e-comercio... Adems, tampoco resultara complicado el introducir una pequea caja de bsqueda que nos permitiera dar rpidamente con el programa que queremos ver, saber a qu hora y en qu cadena se emite. Volviendo a nuestro portal de televisin, en l hay una seccin en la cual presentamos todas las series actualmente emitidas con comentarios sobre ella, fotos, etc. Podramos, en lugar de hacer una pgina HTML por serie, hacer una nica pgina dinmica en contacto con una base de datos en la cual visualizamos las fotos y comentarios relativos a la serie que nos interesa. Asimismo, si lo que buscamos es modificar el formato del texto de dicha seccin, podemos automatizar este proceso sin necesidad de cambiar a mano cada una de las etiquetas font y sin hacer uso de la hojas de estilo las cuales no son reconocidas por la totalidad de los navegadores. Otra serie de aspectos tales como la gestin de las lenguas, podran ser fcilmente resueltos sin para ello duplicar el nmero de pginas y buscar los textos a traducir penosamente entre el cdigo HTML. En realidad, a partir de estas herramientas, podemos plantearnos cuantas cosas queramos. El nico lmite... nuestra imaginacin Artculo por Rubn Alvarez

Lenguajes de lado servidor o cliente


El navegador es una especie de aplicacin capaz de interpretar las rdenes recibidas en forma

Manual de pginas dinmicas: http://www.desarrolloweb.com/manuales/7/ Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorizacin.

Tu mejor ayuda para aprender a hacer webs www.desarrolloweb.com

de cdigo HTML fundamentalmente y convertirlas en las pginas que son el resultado de dicha orden. Cuando nosotros pinchamos sobre un enlace hipertexto, en realidad lo que pasa es que establecemos una peticin de un archivo HTML residente en el servidor (un ordenador que se encuentra continuamente conectado a la red) el cual es enviado e interpretado por nuestro navegador (el cliente). Sin embargo, si la pgina que pedimos no es un archivo HTML, el navegador es incapaz de interpretarla y lo nico que es capaz de hacer es salvarla en forma de archivo. Es por ello que, si queremos emplear lenguajes accesorios para realizar un sitio web, es absolutamente necesario que sea el propio servidor quien los ejecute e interprete para luego enviarlos al cliente (navegador) en forma de archivo HTML totalmente legible por l. De modo que, cuando pinchamos sobre un enlace a una pagina que contiene un script en un lenguaje comprensible unicamente por el servidor, lo que ocurre en realidad es que dicho script es ejecutado por el servidor y el resultado de esa ejecucion da lugar a la generacion de un archivo HTML que es enviado al cliente. As pues, podemos hablar de lenguajes de lado servidor que son aquellos lenguajes que son reconocidos, ejecutados e interpretados por el propio servidor y que se envan al cliente en un formato comprensible para l. Por otro lado, los lenguajes de lado cliente (entre los cuales no slo se encuentra el HTML sino tambin el Java y el JavaScript los cuales son simplemente incluidos en el cdigo HTML) son aquellos que pueden ser directamente "digeridos" por el navegador y no necesitan un pretratamiento. Cada uno de estos tipos tiene por supuesto sus ventajas y sus inconvenientes. As, por ejemplo, un lenguaje de lado cliente es totalmente independiente del servidor, lo cual permite que la pgina pueda ser albergada en cualquier sitio sin necesidad de pagar ms ya que, por regla general, los servidores que aceptan pginas con scripts de lado servidor son en su mayora de pago o sus prestaciones son muy limitadas. Inversamente, un lenguaje de lado servidor es independiente del cliente por lo que es mucho menos rgido respecto al cambio de un navegador a otro o respecto a las versiones del mismo. Por otra parte, los scripts son almacenados en el servidor quien los ejecuta y traduce a HTML por lo que permanecen ocultos para el cliente. Este hecho puede resultar a todas luces una forma legtima de proteger el trabajo intelectual realizado. Artculo por Rubn Alvarez

Lenguajes de lado servidor


Existe una multitud de lenguajes concebidos o no para Internet. Cada uno de ellos explota ms a fondo ciertas caractersticas que lo hacen ms o menos tiles para desarrollar distintas aplicaciones. La versatilidad de un lenguaje est ntimamente relacionada con su complejidad. Un lenguaje complicado en su aprendizaje permite en general el realizar un espectro de tareas ms amplio y ms profundamente. Es por ello que a la hora de elegir el lenguaje que queremos utilizar tenemos que saber claramente qu es lo que queremos hacer y si el lenguaje en cuestin nos

Manual de pginas dinmicas: http://www.desarrolloweb.com/manuales/7/ Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorizacin.

Tu mejor ayuda para aprender a hacer webs www.desarrolloweb.com

lo permite o no. En el dominio de la red, los lenguajes de lado servidor ms ampliamente utilizados para el desarrollo de pginas dinmicas son el ASP, PHP y PERL. El ASP (Active Server Pages) es un lenguaje derivado del Visual Basic desarrollado por Microsoft. Evidentemente su empleo se realiza sobre plataformas funcionando bajo sistema Windows NT. El PHP podra ser considerado como el lenguaje anlogo al ASP utilizado en plataformas Unix y Linux. Estos dos lenguajes resultan bastante tiles para la explotacin de bases de datos y su aprendizaje resulta accesible para una persona profana de la programacin. Cualquiera de ellos resultara la opcin ideal a la hora de hacer evolucionar un sitio web realizado en HTML. Por otra parte, el PERL es un lenguaje ms rpido y potente que requiere obviamente un aprendizaje ms largo y resulta ms reservado para personas ya familiarizadas con la verdadera programacin. Artculo por Rubn Alvarez

Algunos aspectos prcticos previos


Antes de lanzarnos en las consideraciones tericas relativas a la programacin, resultara interesante aclarar algunas dudas que puede presentarse referentes a cmo escribir y publicar pginas dinmicas. Para escribir una pgina dinmica podemos hacerlo del mismo modo que si lo hicisemos en HTML. En realidad, el cdigo est constituido exclusivamente de texto y lo nico que tenemos que hacer por lo tanto es guardar el archivo texto con una extensin que pueda ser reconocida posteriormente por el servidor. As, por ejemplo, las pginas de ASP son reconocidas por su extensin "asp" del mismo modo que las de PHP lo son a partir de extensiones "php" u otras en las que se especifica la versin utilizada ("php3" o "php4"). En muchos casos el servidor nos permite seleccionar qu tipo de extensin debe ser reconocida para un determinado lenguaje por lo que estas extensiones no estn totalmente generalizadas aunque son sin duda las ms utilizadas. Dado que se trata nicamente de archivos texto, es posible crear pginas dinmicas a partir del Bloc de Notas o cualquier otro procesador de texto plano (Texto ASCII, sin cdigos raros como los que pone MS Word). Tambin podemos utilizar los editores clsicos empleados para el HTML aunque en este caso, estamos obligados a trabajar en modo editar y no en modo grfico. Esta ltima posibilidad resulta tanto menos aconsejable cuanto que la mayora de estos editores no estn preparados para la programacin en estos lenguajes y algunos de ellos (Frontpage en sus versiones anteriores a la 2000, sin ir ms lejos) estn dispuestos a borrar aquellos textos que no es capaz de interpretar.
Existe un artculo en desarrolloweb que explica de manera ms detallada el mundo de los editores de pginas

Manual de pginas dinmicas: http://www.desarrolloweb.com/manuales/7/ Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorizacin.

Tu mejor ayuda para aprender a hacer webs www.desarrolloweb.com

Existen sin embargo algunos editores de HTML que si ofrecen ventajas al editar scripts. Tal es el caso del Homesite que muestra coloraciones diferentes en funcin de la sintaxis del programa lo cual permite una lectura ms fcil. Adems, hay otra serie de editores ms pensados para pginas dinmicas en general o para algn lenguaje en particular. Una vez el programa realizado, el paso inmediato es el de ejecutarlo. Como ya ha sido explicado, los lenguajes de lado servidor ejecutan los scripts en el propio servidor y envan el resultado en forma de cdigo HTML al cliente (navegador). Resulta obvio que para probar entonces el programa es necesario colgar por FTP los archivos que lo componen en el servidor y hacer la peticin desde el navegador. En principio, no es por tanto posible el trabajar offline a partir de archivos alojados en el disco duro tal y como hacamos con el HTML. Esto en realidad no es completamente cierto ya que existe la posibilidad de convertir nuestro propio ordenador en servidor web personal de manera que podemos trabajar en local sin necesidad de estar conectados continuamente lo cual podra representar un problema para aquellos que tengan que pagar una factura telefnica al estar conectados por modem adems de resultar ms juicioso puesto que un servidor no es el sitio ideal para hacer nuestros pinitos en un lenguaje que no controlamos suficientemente. Bucles infinitos, variables no cerradas y otra serie de irregularidades pueden estar consumiendo recursos importantes en perjuicio de los usuarios que estn accediendo a otras paginas albergadas por este servidor. Como puede verse, la forma de operar resulta casi anloga a lo que hacamos para nuestro sitio esttico y no presenta ninguna complicacin aparente. Cabe destacar que, como ya se ha dicho anteriormente, para poder servirse de estos lenguajes de lado servidor, es imprescindible que el servidor est preparado para leer las pginas programadas en un lenguaje no comprendido por el navegador. Dichos servidores son en su gran mayora de pago lo cual aade ciertas limitaciones econmicas al proyecto. Artculo por Rubn Alvarez

Conceptos bsicos de programacin I


Antes de abordar en detalle las particularidades de estos lenguajes, es importante guardar en espritu toda una serie de nociones bsicas comunes. Estos aspectos son sin duda conocidos por aquellos que hayan programado alguna vez y pueden ser muy rpidamente asimilados por todos los que estn familiarizados con las matemticas. Teniendo en cuenta esto, hemos querido acercar estos conceptos a cualquier persona proponiendo definiciones poco rigurosas y carentes de detalles pero que en contrapartida permiten ser digeridas con ms facilidad. As pues, aquellos sugerimos el pasar directamente al siguiente captulo a todos aquellos que consideren conocer perfectamente los conceptos de variable y funcin aunque siempre puede resultar interesante volver a recordarlo visto desde el prisma de otra definicin. Variable Una variable consiste en un elemento al cual le damos un nombre y le atribuimos un determinado tipo de informacin. Las variables pueden ser consideradas como la base de la programacin. De este modo podramos escribir en un lenguaje ficticio:

Manual de pginas dinmicas: http://www.desarrolloweb.com/manuales/7/ Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorizacin.

Tu mejor ayuda para aprender a hacer webs www.desarrolloweb.com

a="perro" b="muerde" La variable que nosotros llamamos "a" posee un elemento de informacin de tipo texto que es "perro". Asimismo, la variable "b" contiene el valor "muerde". Podramos definir una tercera variable que fuese la suma de estas dos: c=a+b Si introdujsemos una peticin de impresin de esta variable en nuestro lenguaje ficticio: imprimir(c) El resultado podra ser: perro muerde Podramos de la misma forma trabajar con variables que contuviesen nmeros y construir nuestro programa: a=3 b=4 c=a+b imprimir(c) El resultado de nuestro programa sera: 7 La utilidad de estas variables quedar de relieve en el transcurso de los siguientes captulos. Artculo por Rubn Alvarez

Conceptos bsicos de programacin II


Funcines y procedimientos La funcin podra ser definida como un conjunto de instrucciones que permiten procesar las variables para obtener un resultado. Puede que esta definicin resulte un poco vaga si no nos servimos de un ejemplo para ilustrarla. Supongamos que queremos calcular el valor total de un pedido a partir de la simple suma de los precios de cada uno de los artculos. Podramos definir una funcin suma en nuestro lenguaje ficticio: definir funcion suma(art1,art2,art3) suma=art1+art2+art3

Manual de pginas dinmicas: http://www.desarrolloweb.com/manuales/7/ Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorizacin.

Tu mejor ayuda para aprender a hacer webs www.desarrolloweb.com

imprimir(suma) fin funcion Este supuesto programa nos permitira calcular la suma de tres elementos e imprimir el resultado en pantalla. Lo interesante de utilizar este tipo de funciones es que ellas nos permiten su utilizacin sistemtica tantas veces como queramos sin necesidad de escribir las instrucciones tantas veces como veces queremos utilizarla. Por supuesto, podemos prescindir de esta declaracin de funcin e introducir una lnea del siguiente tipo: imprimir(art1+art2+art3) Evidentemente, cuanto ms complicada sea la funcin y ms a menudo la utilicemos en nuestros scripts ms til resulta definirlas. Esta funcin suma podra ser utilizada en cualquier lugar de nuestro script haciendo una llamada del siguiente tipo: ejecuta suma(4,6,9) Cuyo resultado sera: 19 Del mismo modo, los procedimientos son parecidos a las funciones. La diferencia consiste tan solo en que en estos ltimos el inters no radica en el resultado obtenido sino ms bien en las operaciones realizadas al ejecutarla (creacin de un archivo, reenvo a otra pgina,...). En lenguajes como el PHP las funciones y los procedimientos son considerados como la misma cosa y para definirlos se hace usando los mismos comandos. Tanto las variables como las funciones y los procedimientos deben ser nombradas sin servirse de acentos, espacios ni caracteres especiales para no correr riesgos de error . Estos conceptos son bsicos para una comprensin de la programacin. No obstante, es posible que si es la primera vez que omos hablar de ellos, su asimilacin puede resultar parcial o nula. En realidad esto no es preocupante ya que a partir de los ejemplos de los captulos siguientes y con la prctica de uno mismo se irn consolidando poco a poco. Para nada hay que desanimarse si despus de leer este captulo algunas dudas quedan en el aire. El paso siguiente es continuar el aprendizaje de un lenguaje de programacin que nos sirva para construir las pginas dinmicas, con el manual de ASP o el manual de PHP, segn nuestros gustos o necesidades. Artculo por Rubn Alvarez

Manual de pginas dinmicas: http://www.desarrolloweb.com/manuales/7/ Los manuales de DesarrolloWeb.com tienen el copyright de sus autores. No reproducir sin autorizacin.