programación html webmasters

Upload: jumiruar

Post on 30-May-2018

227 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/14/2019 Programacin HTML Webmasters

    1/193

    Webmasters

    Curso de HTML

    1. ESTRUCTURA BASICA DE UN DOCUMENTO HTML

    El principio esencial del lenguaje HTML es el uso de las etiquetas (tags). Funcionan de la siguientemanera:

    Este es el inicio de una etiqueta.

    Este es el cierre de una etiqueta.

    Las letras de la etiqueta pueden estar en maysculas o minsculas, indiferentemente.

    Lo que haya entre ambas etiquetas estar influenciada por ellas. Por ejemplo, todo el documentoHTML debe estar entre las etiquetas y :

    [Todo el documento]

    Un documento HTML en s est dividido en dos zonas principales:

    o El encabezamiento, comprendido entre las etiquetas y o El cuerpo, comprendido entre las etiquetas y

    Dentro del encabezamiento hay informacin del documento, que no se ve en la pantalla principaldel BROWSER que es utilizado para visualizar el documento HTML, principalmente la informacinencontrada en el encabezamiento es el ttulo del documento, comprendido entre las etiquetas y . El ttulo debe ser breve y descriptivo de su contenido, pues ser lo que vean

    los dems cuando aadan nuestra pgina a su bookmark (o agenda de direcciones).Dentro del cuerpo est todo lo que queremos que aparezca en la pantalla principal (texto,imgenes, etc.)

    Por tanto, la estructura de un documento HTML queda de esta manera:

    Ttulo de la pgina

    [Aqu van las etiquetas que visualizan la pgina]

    1

  • 8/14/2019 Programacin HTML Webmasters

    2/193

    2. DANDO FORMA AL TEXTO DEL DOCUMENTO HTML

    Cuando escribimos en el documento el texto que queremos que aparezca en la pantalla, veremosque ste se acomoda a ella, sin que tengamos que pulsar el retorno del carro. Si queremos separar

    el texto en distintos prrafos debemos usar la etiqueta

    , (que no tiene su correspondienteetiqueta de cierre

    )

    El texto puede tener unas cabeceras, comprendidas entre las etiquetas y , y, etc. (hasta el nmero 6), siendo el nmero indicativo del tamao. El tamao mayor es elcorrespondiente al nmero 1.

    Una etiqueta muy interesante es la de centrado y (no la soportan todoslos navegadores, aunque s la mayora de ellos). Nos centra todo lo que est dentro de ella, ya seatexto, imgenes, etc.

    Tambin tenemos los separadores (horizontal rules), que se consiguen con la etiqueta (noexiste la correspondiente de cierre). Con ella se obtiene una raya horizontal tan ancha como lapantalla, y con la apariencia de estar embutida sobre el fondo, como se puede observar acontinuacin:

    Mi pagina en el Web - 1

    Primera Pagina

    Esta es mi primera pagina, aunque todava es muy sencilla. Como l

    lenguaje HTML no es difcil, pronto estar en condiciones de hacer

    cosas ms interesantes.

    Aqu va un segundo prrafo, que les parece.

    Una etiqueta puede estar anidada dentro de otra. En el ejemplo anterior cmo lo est la etiqueta dentro de la etiqueta .

    2

  • 8/14/2019 Programacin HTML Webmasters

    3/193

    Cuando queremos poner un texto sin ninguna caracterstica especial, lo ponemos directamente.Unicamente, la separacin entre prrafos (dejando una lnea en blanco) la conseguimos con laetiqueta

    .

    Si queremos separar los prrafos, o cualquier otra cosa, pero sin dejar una lnea en blanco,usamos una etiqueta parecida
    (break, o romper). Tampoco tiene etiqueta de cierre.

    Al escribir el texto, si ponemos ms de un espacio en blanco entre dos palabras observamos que elnavegador slo reconoce uno de ellos. Si queremos forzarle a que lo haga, debemos poner elcdigo "" (non-breaking space).

    Para destacar alguna parte del texto se pueden usar:

    y para poner algo en negrita (bold).

    y para poner algo en cursiva (italic).

    Otra etiqueta interesante es y . El texto que se encuentre entre ella estarpreformateado, es decir que aparecer como si hubiera sido escrito con una mquina de escribir,con una fuente de espaciado fijo (tipo Courier). Adems se respetarn los espacios en blanco yretornos del carro, tal como estaban en nuestro documento HTML. Es muy apropiada paraconfeccionar tablas y otros documentos similares.

    Con la etiqueta y conseguimos tambin que el texto tenga un tamao menor y laapariencia de los caracteres de una mquina de escribir (typewriter). La diferencia con la anterior es que no preformatea el texto, sino que nicamente cambia su apariencia.

    La etiqueta y se utiliza para destacar una cita textual dentrodel texto general. Este prrafo est escrito entre ambas etiquetas. Obsrvese los mrgenes aambos lados.

    En las frmulas matemticas puede interesar poder escribir ndices y subndices, que se consiguencon las etiquetas y respectivamente.

    A menudo nos interesar presentar las cosas en forma de listas. Podemos escoger entre tres tiposdistintos:

    o Listas desordenadas (no numeradas)o Listas ordenadas (numeradas)o Listas de definicin.

    Las listas desordenadas (Unordered Lists) sirven para presentar cosas que, por no tener un ordendeterminado, no necesitan ir precedidas por un nmero. Su estructura es la siguiente:

    Un elemento

    Otro elemento

    Otro ms

    3

  • 8/14/2019 Programacin HTML Webmasters

    4/193

    etc.

    Es decir, toda la lista est dentro de la etiqueta y , y luego cada elemento va precedidade la etiqueta (list tem). El resultado de lo anterior es el siguiente:

    Se puede anidar una lista dentro de otra. Por ejemplo:

    Mamferos

    Peces

    Sardina

    Bacalao

    Aves

    Las listas ordenadas (Ordered Lists) sirven para presentar elementos en un orden determinado. Suestructura es muy similar a la anterior. La diferencia estriba en que en el resultado aparecerautomticamente un nmero correlativo para cada elemento.

    Primer Elemento

    Segundo Elemento

    Tercer Elemento

    etc.

    Al igual que las listas desordenadas, tambin se pueden anidar las listas ordenadas.

    El tercer tipo lo forman las listas de definicin. Como su nombre indica, son apropiadas paraglosarios (o definiciones de trminos). Toda la lista debe ir englobada entre las etiquetas y. Y a diferencia de las dos que hemos visto, cada rengln de la lista tiene dos partes:

    o El nombre de la cosa a definir , que se consigue con la etiqueta (definitionterm).

    4

  • 8/14/2019 Programacin HTML Webmasters

    5/193

    o La definicin de dicha cosa, que se consigue con la etiqueta (definitiondefinition).

    Una cosa a definir

    La definicin de esta cosa

    Otra cosa a definir

    La definicin de esta otra cosa

    Comentarios no visibles en la pantalla

    A veces es muy til escribir comentarios en el documento HTML sobre el cdigo que escribimos,

    que nos pueden servir para recordar posteriormente sobre lo que hicimos, y que no queremos quese vean en pantalla.

    Esto se consigue encerrando dichos comentarios entre estos dos smbolos:

    Mi pagina del Web - 2

    Mis aficiones

    Sin un orden particular, mis aficiones son las siguientes:

    El cine

    El deporte

    5

  • 8/14/2019 Programacin HTML Webmasters

    6/193

    Natacion

    Baloncesto

    La musica

    La musica que ms me gusta es (en orden de preferencia):

    El rock

    El jazz

    La musica clasica

    3. Caracteres especialesExisten algunas limitaciones para escribir el texto. Una de ellas es debido a que las etiquetas seforman como un comando escrito entre los smbolos "". Por tanto, si se quisieran escribir estos caracteres como parte normal del texto, dara esto lugar a una ambigedad, ya que elprograma navegador podra interpretarlos como el comienzo o final de una etiqueta, en vez de uncarcter ms del texto.

    Para resolver este problema, existen unos cdigos para poder escribir estos caracteres y otrosrelacionados con las etiquetas.

    < para < (less than, menor que)

    > para > (greater than, mayor que)& para & (ampersand)" para " (double quotation)

    Como se ve, estos cdigos empiezan siempre con el signo "&" y acaban siempre con ";"

    6

  • 8/14/2019 Programacin HTML Webmasters

    7/193

    De una manera similar, existen cdigos para escribir letras especficas de distintos idiomas. Haymuchos de ellos, pero, lgicamente, los que ms nos interesan son los propios del castellano (lasvocales acentuadas, la " " y los signos " " y " " )

    Los cdigos de las vocales acentuadas se forman comenzando con " & ", seguido de la vocal encuestin, seguido de la palabra acute (aguda) y terminando con el signo " ; "

    Para la Para la Para la Para la Para la Para la Para la Para la

    Para la Para la

    El resto de los cdigos son:

    Para la Para la Para la Para la Para Para

    Todo esto, que como se ve es muy laborioso, puede parecer intil ya que si escribimos nuestrotexto sin hacer ningn caso de estas convenciones, escribiendo las letras acentuadas y demssignos directamente, es muy posible que el resultado lo veamos correctamente en nuestronavegador, pero nunca podremos, estar seguros que les ocurra lo mismo a todos los que accedana nuestras pginas con otros navegadores distintos.

    4. ENLACES

    La caracterstica que ms ha influido en el espectacular xito del WEB ha sido, aparte la de sucarcter multimedia, la posibilidad de unir los distintos documentos repartidos por todo el mundopor medio de enlaces hipertexto.

    En general, los enlaces tienen la siguiente estructura:

    YYY

    Donde XXX es el destino del enlace (Obsrvese las comillas). YYY es el texto indicativo en lapantalla del enlace (con un color especial y generalmente subrayado)

    7

  • 8/14/2019 Programacin HTML Webmasters

    8/193

    Tipos de enlaces

    1. Enlaces dentro de la misma pgina2. Enlaces con otra pgina nuestra3. Enlaces con una pgina fuera de nuestro sistema4. Enlaces con una direccin de e-mail

    1. Enlaces dentro de la misma pgina

    A veces, en el caso de documentos (o pginas) muy extensos, nos puede interesar dar un saltodesde una posicin a otra determinada. En este caso, lo que antes hemos llamado XXX, es decir,el destino del enlace, en este caso el sitio dentro de la pgina a donde queremos saltar, sesustituye por #MARCA (la palabra MARCA puede ser cualquier palabra que queramos). Lo quehemos llamado antes YYY es la palabra (o palabras) que aparecern en la pantalla en color (enforma de hipertexto). Su estructura es, entonces:

    YYY

    Y en el sitio exacto a donde queremos saltar, debemos poner la siguiente etiqueta:

    2. Enlaces con otra pgina nuestra

    Puede ser que tengamos una sola pgina. Pero lo ms frecuente es que tengamos varias pginas,una inicial (o principal) y otras conectadas a ella, e incluso entre ellas mismas.

    Supongamos que queremos enlazar con la pgina creada en el ejemplo 2, que la hemos llamadomipag2.html. En este caso, simplemente sustituimos lo que hemos llamado XXX (el destino delenlace) por el nombre del archivo:

    Ejemplo de mi segunda pagina

    Si queremos que vaya a un sitio concreto de otra pgina nuestra en vez de ir al principio de lapgina, adonde va por defecto, en ese sitio tenemos que colocar una marca (ver la Enlaces dentrode la misma pgina), y completar el enlace con la referencia a esa marca.

    Lo veremos con el siguiente ejemplo: es la marca que colocaremosen nuestra pagina, que deseamos accesar desde otra nuestra. Entonces la etiqueta tiene que ser: En mi otra pagina .

    Una observacin importante: Pudiera ocurrir que nuestro sitio del WEB estuviera organizado conun directorio principal, y otros subdirectorios auxiliares. Si la pgina a la que deseamos accesar est, por ejemplo en el subdirectorio misubdir, entonces en la etiqueta tendra que colocarse"misubdir/mipag2.html".

    Y a la inversa, si quiero saltar desde una pgina a otra que est en un directorio anterior, en laetiqueta tendra que haber puesto "../mipag2.html". Esos dos puntos hace que se dirija al directorioanterior. Obsrvese que se debe utilizar el smbolo / para indicar los subdirectorios, y no este otro \,que es propio nicamente de Windows.

    8

  • 8/14/2019 Programacin HTML Webmasters

    9/193

    Si nos queremos evitar todas estas complicaciones, podemos tener todo junto en un nicodirectorio, pero esto tiene el inconveniente de que est todo ms desordenado, y sean ms difcilesde hacer las futuras modificaciones.

    3. Enlaces con una pgina fuera de nuestro sistema

    Si queremos enlazar con una pgina que est fuera de nuestro sistema (es decir, que est en unservidor distinto al que soporta nuestra pgina), es necesario conocer su direccin completa, oURL (Uniform Resource Locator). El URL podra ser, adems de la direccin de una pgina delWEB, una direccin de FTP, GOPHER, etc.

    Una vez conocida la direccin (o URL), lo colocamos en vez de lo que hemos llamadoanteriormente XXX (el destino del enlace). Si queremos enlazar por ejemplo con la pgina deNetscape (cuyo URL es: http://home.netscape.com/), la etiqueta sera:

    Pgina inicial de Netscape

    Es muy importante copiar estas direcciones correctamente (respetando las maysculas yminsculas, pues los servidores UNIX s las distinguen)

    4. Enlaces con una direccin de e-mail

    En este caso, sustituimos lo que se ha llamado antes XXX (el destino del enlace) por mailto:seguido de la direccin de e-mail. La estructura de la etiqueta es:

    Texto del enlace

    Un ejemplo podra ser:

    Webmaster

    Hay algunos navegadores que no subrayan el comentario de este tipo de enlace.

    Una manera recomendable y ms segura para conocer la direccin e-mail seria poner algo ascomo:

    Comentarios al webmaster en [email protected]

    Es decir, es conveniente, por la razn dicha anteriormente, poner tambin en el texto del enlace ladireccin de e-mail.

    Mi pagina del Web - 3

    9

  • 8/14/2019 Programacin HTML Webmasters

    10/193

    Mis paginas favoritas

    Estas son mis paginas favoritas:

    Netscape


    Microsoft


    Yahoo!

    5. IMAGENES

    La etiqueta que nos sirve para incluir imgenes en nuestras pginas del WEB es muy similar a lade enlaces a otras pginas, que hemos visto en el captulo anterior. La nica diferencia es que, enlugar de indicar al programa navegador el nombre y la localizacin de un documento de textoHTML para que lo cargue, se le indica el nombre y la localizacin de un archivo que contiene unaimagen.

    La estructura de la etiqueta es:

    Con el comando IMG SRC (image source, fuente de la imagen) se indica que se quiere cargar unaimagen llamada imagen.gif (o el nombre que tenga).

    Dentro de la etiqueta se pueden aadir otros comandos, tal como ALT

    Con el comando ALT se introduce una descripcin (una palabra o una frase breve) indicativa de laimagen. Este comando, que en principio se puede omitir, es en beneficio de los que accedan anuestra pgina con un programa navegador en forma de texto como el lynx. Ya que no soncapaces de ver la imagen, por lo menos pueden hacerse una idea sobre ella. Pero no es slo por esto. Hay casos, como veremos ms adelante, en los que se utiliza una imagen como enlace a otrapgina. Si se omitiera este comando, los que utilizan dichos navegadores no podran de ningunamanera acceder a esas pginas.

    Con respecto a la localizacin del archivo de esa imagen, se puede decir aqu lo mismo que en elcaptulo anterior referente a los enlaces. Si no se indica nada especial, como en el caso que se haexpuesto, quiere decir que el archivo imagen.gif est en el mismo directorio que el documentoHTML que estamos escribiendo. Si no es as, se siguen los mismos criterios que los indicados paralos enlaces.

    10

  • 8/14/2019 Programacin HTML Webmasters

    11/193

    Las imgenes deben estar guardadas en un formato de archivo especial llamado GIF. (Haytambin otro formato ms avanzado JPG). Este formato GIF almacena las imgenes con unmximo de 256 colores, en forma comprimida.

    Un aspecto muy importante a tener en cuenta es el tamao de las imgenes, pues una imagengrande supone un archivo grande, y esto puede resultar en un tiempo excesivo de carga, con el

    consiguiente riesgo de que quien est intentando cargar nuestra pgina se canse de esperar, ydesista de ello.

    Para elegir la posicin de la imagen con respecto al texto hay distintas posibilidades. La mssencilla es colocarla entre dos prrafos, con un titular a un lado. Los navegadores ms actuales(como el Netscape Navigator y el Microsoft Internet Explorer) permiten que el texto pueda rodear ala imagen.

    De momento nos vamos a limitar a escoger la posicin del titular con respecto a la imagen. Sepuede poner arriba, en medio o abajo del lado de la imagen. Para ello se aade el comando ALIGNa la etiqueta, de la siguiente manera:

    Titular alineado arriba Titular alineado en medio Titular alineado abajo

    Otra posibilidad muy interesante es la de utilizar una imagen como enlace a otra pgina. Para estoscasos se utilizan generalmente imgenes pequeas (iconos), aunque se puede usar cualquier tipode imagen.

    Segn vimos en el captulo anterior, la estructura general de un enlace es:

    YYY

    En este caso sustituimos XXX por el nombre del archivo de la pgina a la que queremos acceder.Y en lugar de YYY ponemos la etiqueta completa de la imagen (que queda as englobada dentrode la etiqueta del enlace).

    Como por ejemplo (hombre.gif) para acceder al ejemplo prctico del captulo 2 (mipag2.html):

    Pulsando la imagen comprobamos cmo efectivamente enlaza con la pgina deseada. Obsrveseadems que la imagen est rodeada de un rectgulo del color normal en los enlaces. Si no sedesea que aparezca ese rectngulo, hay que incluir dentro de la etiqueta de la imagen el atributoBORDER=0, es decir:

    Posicionando el cursor sobre esta ltima imagen, comprobamos que acta tambin como enlaceaunque carezca del rectngulo de color. Esto puede resultar ms esttico, pero se corre el riesgode que el usuario no se d cuenta de que la imagen sirve de enlace.

    Tambin podemos utilizar una imagen para enlazar con otra imagen. Supongamos que queremosenlazar con la imagen estaimagen.gif por medio de esta otra imagen desdeesta.gif:

    11

  • 8/14/2019 Programacin HTML Webmasters

    12/193

    Por ultimo, otra posibilidad es la de utilizar un texto para enlazar con una imagen. En este casosustituimos XXX (el destino del enlace) con el nombre del archivo de la imagen a la que queremosacceder e YYY (lo que aparece en pantalla como el enlace) por el texto.

    Por ejemplo: un paraso tropical

    Un tipo de imgenes del que se hace abundante uso y que sirven para mejorar la presentacin dela pgina son los iconos, botones, barras separadoras, etc. A pesar de su tamao o forma, sonimgenes como cualquier otra.

    6. Alineacin y dimensionado de imgenes

    Alineacin de las imgenes

    Si se quieren lograr diseos fantasticos y rodear con textos los grficos exactamente igual que enlas revistas se pueden usar los comando o atributos conjuntamente con la etiqueta , ALIGN=. Donde quiera que se desee que aparezca una imagen basta con insertar:

    Alinea la pagina a la izquierda Alinea la pagina al centro Alinea la pagina a la derecha

    Si se quiere interrumpir el proceso de rellenado del texto a los lados de la imagen, para que saltehasta debajo de ella, es decir, dejar un espacio en blanco parcialmente, se pueden emplear lassiguientes extensiones de la etiqueta
    :


    Busca el primer margen libre (clear) a la izquierda.
    Busca el primer margen libre a la derecha.
    Busca el primer margen libre a ambos lados.

    Un ejemplo para aclarar esto:

    Este texto esta a un lado de la imagen.


    Este tambien esta a un lado de la imagen, en la linea siguiente.


    Este otro texto, en cambio, ha buscado el primer margenlibre a la izquierda.

    Dimensionando la imagen

    Los programas navegadores cuando cargan un documento HTML y encuentran una etiqueta deuna imagen, interrumpen el proceso de carga y solicitan al servidor que le enve dicha imagen,quedando a la espera hasta que se complete el envo, repitindose este proceso con cada una delas imgenes.

    12

  • 8/14/2019 Programacin HTML Webmasters

    13/193

    Esto es especialmente molesto cuando, como ocurre frecuentemente, en la cabecera de la pginase encuentra una imagen grande, ya que durante un tiempo relativamente largo no se ver nada enla pantalla.

    Para evitar este inconveniente existen unas extensiones de la etiqueta de la imagen que sirven para indicar al navegador cules son sus dimensiones en pixels.

    (Este dato lo habremos obtenido previamente de algn programa grfico).En este caso, el navegador acta de una forma ms favorable, ya que entonces, como conoce lasdimensiones de las imgenes les reserva un espacio en la pantalla y va colocando el texto deforma apropiada, sin ninguna interrupcin, a la vez que va rellenando esos espacios reservados alas imgenes.

    Estos comandos o atributos son WIDTH (ancho) y HEIGHT (alto).

    Por ejemplo, para la imagen isla.gif situada ms arriba:

    Es conveniente hacer esto con todas las imgenes, incluso con las ms pequeas (iconos,botones, etc), para que no haya ninguna interrupcin en el proceso de carga del documento.

    Se puede tambin, si se quiere, dimensionar las imgenes con unos valores distintos a los querealmente tienen, variando el tamao, la anchura o la altura. Esto es muy conveniente, por ejemplopara poner en la pgina un thumbnail (reproduccin en pequeo de una imagen), que hace deenlace a la imagen en su verdadero tamao. De esta manera no recargamos demasiado unapgina, y el usuario ser quien decida qu imgenes desea cargar.

    Para hacer que una imagen reducida sea el enlace con la imagen en su tamao original, loconseguimos con:

    Tambin se puede conseguir esto de otra manera, ms correcta aunque ms laboriosa. Es la dereducir en un programa grfico esta imagen a 150x75, guardarla con otro nombre, y luego hacer que la pequea sea el enlace de la grande. Es ms correcta esta otra solucin porque no todos losnavegadores reconocen los comandos WIDTH y HEIGHT, incluso tampoco algunas de lasversiones ms antiguas de Netscape.

    7. Fondos y colores

    Se puede cambiar el fondo de dos maneras distintas:

    1.Con un color uniforme

    2.Con una imagen

    1. Fondos con un color uniforme

    Se consigue aadiendo el comando BGCOLOR a la etiqueta (situada al principio deldocumento), de la siguiente manera:

    13

  • 8/14/2019 Programacin HTML Webmasters

    14/193

    XX Es un nmero indicativo de la cantidad de color rojoYY Es un nmero indicativo de la cantidad de color verdeZZ Es un nmero indicativo de la cantidad de color azul

    Estos nmeros estn en numeracin hexadecimal. Esta numeracin se caracteriza por tener 16dgitos (en lugar de los diez de la numeracin decimal habitual). Estos dgitos son:

    0 1 2 3 4 5 6 7 8 9 A B C D E F

    Es decir, que en nuestro caso, el nmero menor es el 00 y el mayor el FF. As, por ejemplo, el color rojo es el #FF0000, porque tiene el mximo de rojo y cero de los otro dos colores. Los coloresprimarios son:

    #FF0000 Rojo

    #00FF00 Verde#0000FF Azul

    Otros colores son:

    #FFFFFF Blanco#000000 Negro#FFFF00 Amarillo

    Para hacer un color ms oscuro, hay que reducir el nmero de su componente, dejando los otrosdos invariables. As, el rojo #FF0000 se puede hacer ms oscuro con #AA0000, o an ms oscurocon #550000.

    Para hacer que un color tenga un tono ms suave (ms pastel), se deben variar los otros doscolores hacindolos ms claros (nmero ms alto), en una cantidad igual. As, podemos convertir el rojo en rosa con #FF7070.

    Colores del texto y de los enlaces

    Si no se variasen los colores habituales del texto y de los enlaces (negro y azul, respectivamente),podra ocurrir que su lectura contra un fondo oscuro fuese muy dificultosa, o incluso imposible, si elfondo fuese precisamente negro o azul.

    Para evitar esto, se pueden escoger los colores del texto y de los enlaces, aadiendo a la etiqueta(si se desea) los siguientes comandos:

    TEXT color del textoLINK color de los enlacesVLINK color de los enlaces visitadosALINK color de los enlaces activos (el que adquieren en el momento de ser pulsados)

    14

  • 8/14/2019 Programacin HTML Webmasters

    15/193

    Los cdigos de los colores son los mismos que los que se han visto anteriormente.

    La etiqueta, con todas sus posibilidades, sera:

    El comando TEXT explicado anteriormente (que va englobado dentro de la etiqueta )cambia el color de la totalidad del texto de la pgina.

    Tanto el Netscape Navigator 2, como el Microsoft Explorer soportan una etiqueta de color de lafuente con la que se puede cambiar slo una parte del texto:

    Este texto es de color XXYYZZ

    2. Fondos con una imagen

    El fondo de una pgina puede ser tambin una imagen, ya sea en formato GIF o JPEG. Esta

    imagen se repite por toda la pgina, de una manera anloga al tapiz de Windows. La estructura dela etiqueta puede ser:

    No todos los navegadores soportan este formato.

    Se pueden aadir tambin a esta etiqueta todos los comandos para cambiar los colores del texto yde los enlaces, vistos anteriormente. Esto es imprescindible a veces para conseguir que el textosea legible, en contraste con el fondo.

    Hay que prever la posibilidad de que quien acceda a nuestra pgina haya deshabilitado la cargaautomtica de imgenes, en cuyo caso tampoco cargara la imagen que sirve como fondo y slovera el fondo estndar de color gris. Esto podra ser muy perjudicial si hemos escogido unoscolores para el texto y los enlaces que no contrastan bien con ese fondo gris. La solucin a esteproblema es poner dentro de la etiqueta los dos comandos BACKGROUND y BGCOLOR(en este orden), teniendo cuidado en escoger un color uniforme de fondo parecido al de la imagen.

    Por ejemplo, supongamos que queremos poner como fondo la imagen nubes.jpg. Escogemosentonces un color de fondo azul claro, #CCFFFF. La etiqueta quedara as:

    Esto tiene la ventaja adicional de que, incluso aunque no se deshabilite la carga automtica deimgenes, al cargar la pgina, lo primero que se ve es ese fondo de color uniforme, que luego esreemplazado por el de la imagen.

    8. Tablas

    Las tablas pueden parecer un modo sencillo de disponer el texto en columnas o quizs de aadir un titular a una ilustracin, pero hay modos de sacar un gran partido de una caractersticaaparentemente sencilla. La etiqueta puede ser una poderosa herramienta de formato. Sepuede hacer por ejemplo, no mostrar el borde de una tabla en absoluto. Tambien se puede hacer

    15

  • 8/14/2019 Programacin HTML Webmasters

    16/193

    uso de la etiqueta para ubicar texto e imgenes con precisin, en prcticamente casicualquier lugar de una pgina.

    Estructura de una tabla

    Vamos a ver ordenadamente (de fuera hacia dentro) las etiquetas necesarias para confeccionar las

    tablas.

    [resto de las etiquetas]

    Es la etiqueta general, que engloba a todas lasdems.

    [resto de las etiquetas]

    Presenta los datos tabulados con un borde,haciendo las tablas ms atractivas, y el grosor es de n pixeles.

    [etiquetas de las distintas celdas de la primerafila]

    Permite formar cada fila de la tabla. Hay querepetirla tantas veces como filas queremos quetenga la tabla.

    [contenido de cada celda (imgenes, texto, etc.)]

    Permite formar las distintas celdas quecontendr cada fila de la tabla. Hay querepetirlas tantas veces como celdas queramosque tenga la fila.

    [encabezamiento de tabla]

    Es utilizada para colocar encabezamientos ennegrita sobre las columnas

    Pgina de prueba para tablas

    16

  • 8/14/2019 Programacin HTML Webmasters

    17/193

    Columna 1 Columna 2 Columna 3

    fila1 - c elda1 fila1 - celda2 fila1 - celda3

    fila2 - celda1 fila2 - celda2 fila2 - celda3


    [Aqu van las etiquetas que visualizan la pgina]

    Qu pasa si el numero de celdas de una fila es distinto al de otra?

    Pues el navegador forma el nmero de filas y columnas que haga falta, dejando espacios enblanco en las filas que tengan menos celdas.

    Titular de tabla

    Se puede aadir un titulo a la tabla, es decir un texto situado encima de la tabla que indica cul essu contenido. Se consigue con la etiqueta y . Por ejemplo:

    Esta es mi primera tabla

    TITULO Coloca l titulo sobre la tabla.TITULO Coloca l titulo bajo la tabla.

    Contenido de las celdas

    Solo se ha puesto hasta ahora en el ejemplo, texto normal dentro de las distintas celdas. Pero sepuede poner en ellas cualquier otro elemento de los que van en un documento HTML, comoimgenes, enlaces, etc. No hay ms que poner dentro de la etiqueta de la celda la etiquetacorrespondiente a una imagen, un enlace, etc.

    Con una imagen

    17

  • 8/14/2019 Programacin HTML Webmasters

    18/193

    Con un enlace

    Mi pgina principal

    Posicionamiento del contenido dentro de la celda

    Normalmente, el contenido de una celda est alineado a la izquierda. Pero se puede cambiar estoaadiendo dentro de la etiqueta de la celda los siguientes atributos:

    Al centro A la derecha Cabecera a la izquierda

    El alineamiento por defecto en el sentido vertical es en el medio. Tambin se puede cambiar,aadiendo dentro de la etiqueta de la celda los siguientes atributos:

    Arriba Abajo

    Variando las dimensiones de la tabla

    El navegador se encarga normalmente de dimensionar el tamao total de la tabla de acuerdo conel nmero de filas, de columnas, por el contenido de las celdas, espesor de los bordes, etc.

    A veces nos puede convenir forzarle para que la tabla tenga unas dimensiones totales mayoresque las que le corresponden, tanto en anchura como en longitud. Esto se consigue aadiendodentro de la etiqueta de la tabla los atributos WIDTH y HEIGHT igual a un porcentaje de ladimensin de la pantalla, o a una cifra que equivale al nmero de pixels.

    Por ejemplo, si colocamos:

    O, por ejemplo ponemos:

    18

  • 8/14/2019 Programacin HTML Webmasters

    19/193

    Celdas que abarcan a otras varias

    A veces puede interesarnos que una celda se extienda sobre otras varias. Esto se consigueaadiendo dentro de la etiqueta de la celda los atributos COLSPAN=nmero para extenderse sobreun nmero determinado de columnas, o ROWSPAN=nmero para extenderse verticalmente sobreun nmero determinado de filas.

    Por ejemplo, en la primera tabla del ejemplo anterior vamos a aadir una fila con una sola celda,que abarca a dos columnas:

    Celda sobre 2 columnas

    O, en la misma tabla, vamos a aadir una celda en la primera fila, pero que abarque tambin a lasiguiente:

    Celda junto a 2 filas

    Color de fondo en las tablas

    Podemos conseguir que las tablas tengan un color de fondo, siguiendo un procedimientototalmente anlogo al empleado para que una pgina tenga un color de fondo uniforme (segnvimos en el captulo 7). Para ello debemos utilizar el atributo BGCOLOR="#XXYYZZ", visto endicho captulo.

    Se puede conseguir:

    [resto de las etiquetas]

    La totalidad de la tabla tendr un color defondo.

    [contenido de la celda]

    Solamente una celda determinada tendrun color de fondo, distinto al del resto de latabla.

    Imgenes de fondo en las tablas

    El Explorer de Microsoft soporta la colocacin de imgenes de fondo en el interior de las tablas, deuna manera anloga a como se hace en una pgina (segn vimos en el captulo 7). Para ellodebemos, utilizar el atributo BACKGROUND="imagen.gif" o BACKGROUND="imagen.jpg", visto en

    dicho captulo.Si se utiliza dentro de la etiqueta la imagen en cuestin se multiplicar detrs de todaslas celdas.

    (Con el Netscape no se ver ninguna imagen de fondo, slo con el Explorer)

    Si, por el contrario, slo se pone este atributo dentro de la etiqueta de una celda concreta ( o), entonces la imagen de fondo se ver slo en esa celda.

    19

  • 8/14/2019 Programacin HTML Webmasters

    20/193

    Separacin entre las celdas de una tabla

    Por defecto, la separacin entre las distintas celdas de una tabla es de dos pixels. Pero se puedevariar esto con el atributo CELLSPACING, que se pone dentro de la etiqueta TABLE.

    Por ejemplo, para obtener una separacin de 20 pixels entre celdas ponemos:

    A primera vista parece como si esto fuera lo mismo que si hubiramos aumentado el espesor delos bordes. Pero para comprobar que no es as, hagamos que en el caso anterior, tenga ademsunos bordes de 5 de espesor:

    Separacin entre el borde y el contenido dentro de las celdas

    Por defecto, la separacin entre el borde y el contenido dentro de las celdas es de un pixel. Se

    puede cambiar esto con el atributo CELLPADDING, que se pone dentro de la etiqueta TABLE.Por ejemplo, para obtener una separacin de 20 pixels entre el contenido y los bordes, dentro decada celda:

    Se puede combinar este atributo con CELLSPACING (visto en el apartado anterior).

    Por ejemplo, una tabla con bordes de 5 de espesor, separacin entre celdas de 15 y separacin delcontenido con respecto a los bordes de las celdas de 20, lo obtendramos con:

    9. Formularios

    La manera general para que los lectores de nuestra pgina se puedan comunicar con nosotros espor medio de un enlace a nuestra direccin de e-mail, con lo que recibiramos un e-mailconvencional.

    Pero puede ser que lo que necesitemos sea solamente una respuesta concreta a unas opcionesque presentaremos nosotros mismos, o un comentario del usuario, para lo que le suministraremosun espacio en donde introducirlo.

    Se puede, hacer todo esto, adems de otras cosas, utilizando los formularios, con los que sepueden confeccionar pginas que contengan los elementos necesarios para ello, tal como botonesde radio, listas de seleccin, cajetines de introduccin de texto y de control, etc., como vamos aver.

    Los formularios permiten que los dems nos enven la informacin directamente a nosotros o biena nuestro servidor, en donde hemos instalado un programa que procese esta informacin. Por ejemplo, vamos a suponer que queremos crear una lista de correo. Los usuarios pueden introducir sus nombres y direcciones de e-mail y pulsar un botn de envo.

    20

  • 8/14/2019 Programacin HTML Webmasters

    21/193

    Esos datos los podemos recibir "en bruto" en nuestro correo, con los que confeccionaramosmanualmente dicha lista de correo, sin necesitar ningn programa para ello. Este proceso es el quevamos a comentar en este captulo.

    La otra posibilidad, de la que nicamente se va a hacer esta mencin, es que hubiramos instaladoen nuestro servidor un programa especial para procesar esos datos y aadirlos a la lista de correo,

    y que incluso pudiera devolver automticamente al usuario algn tipo de informacin. Paraconseguir esto, los formularios necesitan ejecutar programas o scripts por medio del CGI (CommonGateway Interface). El CGI permite a los formularios ser procesados por programas escritos encualquier lenguaje, aunque los ms usados en Internet son el Perl y el C.

    El tipo de formulario que se describe a continuacin podr ser utilizado por la mayora de losnavegadores, con la notable excepcin del Explorer (incluso la versin 3.0), por lo que esconveniente suministrar al final del formulario, como una alternativa para estos casos, un enlace dee-mail ordinario (ver el Captulo 4)

    Estructura de un formulario

    La estructura general de un formulario es:

    1.Etiqueta de inicio:

    2.Cuerpo del formulario

    (Elementos para introducir los datos).3.Botones de envo y de borrado.4.Etiqueta de cierre

    1.Etiqueta de inicio

    El atributo ACTION indica la accin que se debe efectuar y que es que los datos sean enviados por e-mail a la direccin indicada. (Si hiciramos uso del CGI, sera precisamente aqu dondeindicaramos su localizacin en el servidor, que habitualmente es el directorio cgi-bin, para queprocese los datos).

    El atributo METHOD=POST indica que los datos sean inmediatamente enviados por correo a ladireccin de e-mail, nada ms plsar el usuario el botn de envo.

    Con el atributo ENCTYPE="TEXT/PLAIN" se consigue que las respuestas las recibamos como unarchivo de texto, perfectamente legible y sin codificar.

    2.Cuerpo del Formulario (Elementos para introducir los datos)

    Los vamos a dividir en tres clases:

    1.Introduccin por medio de texto2.Introduccin por medio de mens

    21

  • 8/14/2019 Programacin HTML Webmasters

    22/193

    3.Introduccin por medio de botones

    La introduccin de los datos se consigue por medio de la etiqueta:

    En donde:

    XXX Es la palabra que indica el tipo de datos a introduccir.YYY Es el nombre que le asignamos nosotros a la variable de introduccin del dato.ZZZ Es la palabra asociada a un elemento.

    Todo esto, que de momento parece muy confuso, se aclarar al ir viendo los distintos casos.

    Introduccin por medio de texto

    En este caso es XXX=TEXT, es decir, INPUT TYPE="TEXT". El atributo VALUE no procede eneste caso. Vamos a poner un ejemplo.

    Solicitamos el apellido del usuario:

    Escribe tu apellido:


    Si el usuario introduce su apellido, p. ej. Ruiz, y pulsa el botn de envo (que veremos msadelante), recibiremos, un e-mail suyo con el siguiente texto:

    Apellido=Ruiz

    La longitud de este formulario es por defecto de 20 caracteres. Se puede variar incluyendo en laetiqueta el atributo SIZE="nmero". Por otra parte, sea cual sea la longitud del formulario, si no seindica nada, el usuario puede introducir el nmero de caracteres que quiera. Se puede limitar esto,incluyendo en la etiqueta el atributo MAXLENGTH="nmero".

    En el caso que hemos visto, si hubiramos cambiado la etiqueta correspondiente por:

    Tambin se puede hacer que el texto introducido no sea reconocible, es decir que todos loscaracteres se representen por asteriscos. Basta con cambiar en la etiqueta INPUT TYPE="TEXT"por INPUT TYPE="PASSWORD". En el ltimo ejemplo, si cambiamos la etiqueta correspondientepor:

    22

  • 8/14/2019 Programacin HTML Webmasters

    23/193

    Introduccin por medio de texto (mltiples lneas)

    Cuando el texto a introducir puede alcanzar una gran longitud, por ejemplo un comentario, esconveniente utilizar un formulario de texto de mltiples lneas.

    Esto se consigue con la etiqueta de inicio:

    (en donde no se utiliza INPUT TYPE y donde ROWS representa el nmero de filas, y COLS el decolumnas).

    y la de cierre:

    Ejemplo: un formulario solicitando los comentarios del usuario:

    Introduce tus comentarios:


    (El salto de lnea del texto introducido no se efecta automticamente).

    Una vez que el usuario haya escrito sus comentarios dentro del formulario, y haya pulsado el botnde envo, recibiremos un e-mail suyo con el siguiente texto:

    Comentarios = mensaje escrito por el usuario

    Introduccin por medio de mens

    Si queremos que el usuario, en vez de introducir un texto, como hemos visto en los casosanteriores, escoja entre varias opciones que le presentamos nosotros, haremos uso de unformulario en forma de men.

    Se consigue con la etiqueta de inicio y la de cierre .

    Las distintas opciones a escoger se consiguen con la etiqueta .

    Ejemplo: Pedimos al usuario que elija su color preferido:

    23

  • 8/14/2019 Programacin HTML Webmasters

    24/193


    Cul es tu color preferido?


    Rojo

    Verde

    Azul

    Amarillo

    Si el usuario ha escogido, p. ej. Azul y ha pulsado el botn de envo, recibiremos un e-mail suyocon el texto: ColorPreferido=Azul.

    En el ejemplo anterior, slo es visible en el formulario una opcin. Si queremos que sean visiblesmltiples opciones a la vez, aadimos en la etiqueta los atributos MULTIPLE SIZE="nmero",donde especificamos el nmero de opciones visibles.

    Si cambiamos en el ejemplo anterior la etiqueta correspondiente por:

    Introduccin por medio de botones

    Caja de confirmacin (checkbox)

    Si queremos que el usuario confirme una opcin determinada, podemos hacer uso de un formulariode confirmacin, o checkbox, que se consigue con la etiqueta:

    Ejemplo: Solicitamos al usuario que confirme su inclusin en una lista de correo:

    S, deseo ser incluido en la lista de correo.

    Si el usuario marca este formulario y pulsa el botn de envo, recibiremos un e-mail suyo con eltexto: Lista=On.

    24

  • 8/14/2019 Programacin HTML Webmasters

    25/193

    Si queremos que el formulario aparezca inicialmente como marcado (el usuario no necesitarhacerlo), basta con aadir el atributo CHECKED dentro de la etiqueta. En el ejemplo anterior sisustituimos la etiqueta equivalente por:

    Botones de radioCuando queremos que el usuario elija una nica opcin entre varias, podemos hace uso de losbotones de radio, que se consiguen con la etiqueta:

    Donde YYY es el nombre que le ponemos a la variable que se trata de elegir, y ZZZ es el nombrede cada una de las opciones en concreto.

    Ejemplo: solicitamos al usuario que defina cul es su sistema operativo preferido:

    Cul es tu sistema operativo preferido?


    PC

    Mac

    Unix

    Obsrvese el atributo opcional CHECKED que se ha aadido en la primera etiqueta. Esa ser laopcin que aparece marcada por defecto.

    Obsrvese tambin que no es posible escoger ms de una opcin.

    Si el usuario ha escogido la opcin PC y pulsa el botn de envo, recibiremos un e-mail suyo con eltexto: SistemaOperativo=PC.

    3.Botones de envo y de borrado

    Hasta ahora, en todos los ejemplos que hemos visto, faltaba un elemento esencial en cualquier formulario, y es el botn de envo de los datos, que se consigue con la etiqueta:

    En donde ZZZ es el texto que queremos que aparezca en el botn.

    Vamos a aadirlo al primer ejemplo, en el que se solicitaba el apellido del usuario:

    25

  • 8/14/2019 Programacin HTML Webmasters

    26/193

    Escribe tu apellido:


    Otro botn interesante es el de borrado de los datos introducidos, muy conveniente en unformulario con muchos elementos. Es muy similar al de envo, pues se consigue con la etiqueta:

    En donde ZZZ es el texto que queremos que aparezca en el botn.

    Si aadimos al ejemplo anterior la etiqueta:

    Se puede comprobar su funcionamiento, escribiendo algo en el formulario y pulsando luego elbotn de borrado.

    Consideraciones finales

    Hasta ahora hemos visto uno a uno los diferentes elementos que se pueden utilizar. Pero no hayningn inconveniente en usar, dentro del mismo formulario, distintos tipos de introduccin de datos.Al pulsar el usuario el botn de envo recibiramos en e-mail suyo con las distintas parejasNAME=VALUE de cada elemento, encadenadas con el smbolo &.

    Haremos como ejemplo prctico un libro de visitas a nuestra pgina.

    Libro de Visitas

    Libro de visitas

    Tu nombre:

    26

  • 8/14/2019 Programacin HTML Webmasters

    27/193


    Escribe tus comentarios:


    10. Mapas

    Hemos visto anteriormente dos maneras distintas de enlazar una pgina con otra: por medio de unenlace de texto o por medio de una imagen. Pero en este ltimo caso se haca uso de una imagenpara enlazar a una nica pgina.

    Se puede utilizar una nica imagen para enlazar con varias pginas, yendo a una u otra segn lazona en donde se pulse el ratn. Este tipo de imgenes se llaman mapas.

    Veremos cmo se crea un mapa partiendo de una imagen, y cmo se implementa dicho mapa conel lenguaje HTML en nuestra pgina.

    Hay dos tipos de mapas:

    1. Mapas gestionados por el servidor 2. Mapas gestionados por el cliente

    En nuestro caso, trataremos sobre los mapas gestionados por el cliente, pero cabe hacer mencinde los mapas gestionados por el servidor.

    1. Mapas gestionados por el servidor

    En este tipo de mapas al desplazar el cursor sobre la imagen que forma el mapa se van obteniendolas distintas coordenadas. Cuando se pulsa el ratn en un punto determinado, el navegador envaesas coordenadas al servidor, y ste comprueba en un archivo MAP (situado en su directorio cgi-bin) cul es la pgina que se corresponde con estas coordenadas, enva esta informacin alnavegador, y ste solicita a su vez al servidor que le enlace con dicha pgina.

    27

  • 8/14/2019 Programacin HTML Webmasters

    28/193

    Estos mapas, tienen una ventaja: que pueden ser utilizados por todos los navegadores, incluso por las versiones ms antiguas.

    Pero tienen varios inconvenientes: No todos los servidores tienen implementado el programa CGInecesario para que pueda funcionar un mapa de este tipo. Adems hay que conocer el tipo deservidor (NCSA, el ms comn, o CERN), pues el cdigo a aplicar es distinto en un caso u otro.

    Por otra parte, al requerir un trasiego de informacin entre el navegador y el servidor, el tiempo derespuesta es mayor que en el otro tipo, como veremos a continuacin.

    2. Mapas gestionados por el cliente

    Estos mapas son gestionados por el cliente (es decir, nuestro navegador) y no por el servidor,como en el caso anterior.

    En este tipo de mapas, al ir desplazando el cursor se observa que en ciertas zonas se convierte enel smbolo normal para enlazar con otras pginas (una mano, habitualmente).

    Si se pulsa en estas zonas activas (HOTSPOTS), el navegador consulta con el documento HTMLque ha recibido, y decide a qu pgina o direccin corresponde esa zona activa.

    Es decir, no necesita enviar la informacin al servidor y esperar la respuesta de ste, con lo que elproceso es ms rpido que en el caso anterior, reducindose adems el trfico de datos y lasobrecarga al servidor. Otras ventajas son que al pasar por una zona activa se muestra la direccina la que se corresponde (al contrario que en el caso anterior, en la que slo se ven unascoordenadas). Adems, estos mapas se pueden utilizar off-line, al contrario tambin que en el otrotipo, ya que no requieren la ayuda del servidor.

    Pero tiene el inconveniente de que estos mapas no son implementados por todos los navegadores,como en el caso anterior, aunque s por la mayora de los utilizados actualmente, desde lasversiones siguientes: Netscape 2.0, Microsoft Explorer 2.0, Mosaic 2.1, etc. Pero se puede obviar este inconveniente suministrando enlaces alternativos para los navegadores que no implementeneste tipo de mapas.

    En lo que sigue, vamos a ver exclusivamente cmo implementar este tipo de mapas, es decir,mapas gestionados por el cliente (client-side image maps).

    Confeccin de la imagen del mapa

    Antes que nada, es necesario confeccionar la imagen que va a servir como mapa. Se har con unprograma grfico, y pueden utilizarse los formatos GIF o JPG.

    Para crear una mapa para utilizarlo en nuestra pgina HTML, debemos seguir los siguientes pasos:

    1. Se confecciona con un programa grfico la imagen que nos va a servir como mapa.Para definir un rea activa rectangular, necesitamos conocer las coordenadas de su ngulosuperior izquierdo (X1,Y1) y las de su ngulo inferior derecho(X2,Y2).

    Estas coordenadas las obtenemos con el programa grfico con el que hemos confeccionado laimagen.

    Al obtener los datos necesarios (las coordenadas) podemos escribir el cdigo HTML que conviertaesta imagen en un mapa.

    28

  • 8/14/2019 Programacin HTML Webmasters

    29/193

    Cdigo HTML para definir un mapa gestionado por el cliente

    En este caso, el cdigo que debemos escribir es el siguiente:

    Veamos ahora cada una de las etiquetas:

    Esta es la etiqueta de apertura del mapa, y endonde se define su nombre.

    Esta etiqueta define la primera zona activa. Seindica que su forma (SHAPE, en ingls) esrectangular, y que las coordenadas de su ngulosuperior izquierdo son (X1,Y1), y que las delngulo inferior derecho son (X2,Y2). Acontinuacin se indica cul es enlace que sedesea obtener.

    Con esta etiqueta se define el rea completa delmapa, indicando que su forma es la que tienepor defecto (default), o sea rectangular. Si sequisiera que el mapa no abarcara la totalidad dela imagen, o incluso que tuviera una formadistinta, habra que indicarlo aqu, en lugar de lainstruccin DEFAULT, haciendo uso del mismotipo de instrucciones que las de las zonasactivas.

    Etiqueta de cierre del mapa. Con esta etiqueta se solicita primero al servidor

    que enve una imagen llamada imagen.gif. ConUSEMAP="#nombre" se indica que esta imagenes el mapa definido anteriormente con esenombre, y que debe actuar en consecuencia a

    las pulsaciones del ratn, solicitando un enlacedeterminado en las zonas activas, o no haciendonada en el resto.

    Con el atributo NOHREF, se define que el rea completa de la imagen es una zona no activa,excepto en las reas definidas anteriormente como activas.

    Enlaces alternativos de texto

    29

  • 8/14/2019 Programacin HTML Webmasters

    30/193

    Como se ha dicho anteriormente, no todos los navegadores implementan este tipo de mapasgestionados por el cliente. Por ello, es necesario suministrar unos enlaces alternativosconvencionales de texto, para obviar este inconveniente.

    Por ejemplo, a continuacin del mapa, se pueden poner enlaces de texto, correspondientes a lasdos zonas activas (reduciendo la fuente, para hacerlo menos antiesttico):

    Mi pgina XX |

    Mi pgina YY

    Zonas activas en forma de crculos o polgonos

    Hasta ahora se han definido las zonas activas en forma de rectngulos. Pero se pueden definir

    tambin estas zonas activas como crculos o como polgonos.Para definir una zona activa circular es necesario conocer las coordenadas de su centro (X,Y) y lalongitud de su radio (R). Una vez sabidos estos datos, la etiqueta es como sigue:

    Para definir una zona activa poligonal hay que conocer las coordenadas de los distintos puntos(X1,Y1), (X2,Y2), (X3,Y3), etc. Con estos datos, la etiqueta se escribe como sigue:

    11. Frames

    Frames (en ingls, marcos o cuadros) es un procedimiento del lenguaje HTML para dividir lapantalla en diferentes zonas, o ventanas, que pueden actuar independientemente unas de otras,como si se trataran de pginas diferentes, pues incluso cada una de ellas pueden tener sus propiasbarras deslizadoras. Los navegadores que lo implementan son el Netscape 2.0, y el Explorer 2.0en adelante.

    Una de sus caractersticas ms importantes es que pulsando un enlace situado en un frame, sepuede cargar en otro frame una pgina determinada. Esto se utiliza frecuentemente para tener unframe estrecho en la parte lateral (o superior) con un ndice del contenido en forma de diferentesenlaces, que, al ser pulsados cargan en la ventana principal las distintas pginas. De esta manerase facilita la navegacin entre las pginas, pues aunque se vaya pasando de unas a otras, siempre

    estar a la vista el ndice del conjunto.Para comprender los distintos conceptos vamos a desarrollar un ejemplo, creando una pgina condos Frames. El de la izquierda va a servir de ndice de lo que veamos en el de la derecha, y enste veremos inicialmente una pgina de presentacin.

    Documento de definicin de los frames

    30

  • 8/14/2019 Programacin HTML Webmasters

    31/193

    Lo primero que tenemos que hacer es crear un documento HTML en el que definiremos cuntaszonas va a haber, qu distribucin y tamao van a tener, y cul va ser el contenido de cada una deellas.

    En el ejemplo que vamos a desarrollar, la pgina va a tener dos frames distribuidos en columnas(es decir, uno al lado del otro, en vez de uno encima del otro, lo que sera una distribucin en filas).

    Con respecto al tamao, haremos que el primero (el del izquierda) ocupe el 20% del ancho de lapantalla, y el otro, el 80% restante.

    Y con respecto al contenido, el frame de la izquierda va a contener un documento HTML que va aservir de ndice de lo que veamos en el otro (y que vamos a llamar mi_indice.html), y el de laderecha otro documento HTML que va a servir de pgina de presentacin (al que llamaremosmi_presentacion.html).

    Todo lo anterior se refleja en el siguiente documento HTML:

    Mi primera pagina con frames

    Obsrvese lo siguiente:

    Es un documento parecido a los que conocamos hasta ahora. La diferencia est en que en vez deutilizar la etiqueta BODY, que sirve normalmente para delimitar lo que se va a ver en la pantalla, sehace uso de la etiqueta FRAMESET (definir los frames).

    En este caso, con la etiqueta se define que va a haber dosframes y que van a ir en columnas. Si hubiramos querido que fueran en filas, habramos puesto

    ROWS (filas, en ingls). Tambin se define el espacio en anchura que van a ocupar cada uno deellos en la pantalla. Se ha puesto como porcentajes del total, pero se podra tambin haber puestouna cifra absoluta, que representara el nmero de pixels a ocupar.

    Ya se ha definido el nmero de frames, su distribucin y su tamao, pero falta por definir elcontenido de cada frame. Esto se hace con las etiquetas:

    31

  • 8/14/2019 Programacin HTML Webmasters

    32/193

    Con esto se define que el contenido del primer frame (el de la izquierda) sea el documento HTMLmi_indice.html y el del segundo (el de la derecha) sea el documento HTML mipresentacion.html.

    Obsrvese que en la etiqueta del segundo se ha incluido el atributo NAME="principal", pero no asen el primero. El motivo es que se necesita dar un nombre al segundo frame, pues, como veremosa continuacin, en el documento del primer frame va a haber unos enlaces que van a ir dirigidoshacia l. En este caso slo tenemos dos frames, pero podra haber ms, y es necesariodistinguirlos unos de otros. Y el primero no necesita nombre, pues no va a haber enlaces en elsegundo dirigidos hacia l.

    A este documento le vamos a llamar mi_pagina.html, pero todava no lo vamos a guardar, puesfalta por aadir algo que veremos ms adelante.

    Documentos HTML de cada frame

    Necesitamos ahora confeccionar el documento HTML de cada uno de los frames. Recurdese que

    son como pginas independientes, que pueden tener cada una su propio fondo, etc., y todo lo quequeramos aadir en ellos y que hemos aprendido hasta ahora.

    Documento del frame de la izquierda

    Va a tener un fondo amarillo, y va a contener dos enlaces dirigidos al frame de la derecha.

    Indice

    Presentacin

    Esta es otra pgina

    Dentro de las etiquetas de los enlaces podemos observar algo nuevo, y es el atributo TARGET (eningls: objetivo, blanco), que sirve para hacer que al ser activado el enlace no se cargue en elpropio frame, sino en otro, precisamente en el que hayamos llamado con ese nombre en eldocumento de definicin de los frames.

    32

  • 8/14/2019 Programacin HTML Webmasters

    33/193

    En nuestro caso, le hemos dado el nombre de "principal" al frame de la derecha, y es por tanto ahdonde se van a cargar los documentos HTML.

    Guardamos este documento con el nombre de mi_indice.html.

    Documento del frame de la derecha

    Va a tener un fondo negro, y va a contener slamente un texto.

    Presentacion

    ESTA ES LA VERSION


    CON FRAMES


    DE MI PAGINA

    Guardamos este documento con el nombre de mi_presentacion.html

    Alternativa para los navegadores que no soportan frames

    Con lo visto anteriormente, ya tenemos las tres piezas que necesitamos:

    Documento de definicin de los framesDocumento del contenido del primer frameDocumento del contenido del segundo frame

    33

  • 8/14/2019 Programacin HTML Webmasters

    34/193

    Hay que prever el caso en que los navegadores no soportan o desconocen las etiquetasFRAMESET y FRAME.

    Para estos casos est prevista la etiqueta y . Se aaden al final deldocumento de definicin de los frames, y a se pone entre ambas lo que queremos que vean losque acceden con un navegador que no soporta frames. Puede incluso ser el cdigo HTML de una

    pgina completa (lo que normalmente va entre las etiquetas y )En nuestro caso, pudiramos poner un mensaje advirtiendo de esta circunstancia, y dirigiendo alusuario, con un enlace normal, hacia una pgina que hayamos definido como principal o depresentacion para estos casos. (Tambin podramos no decir nada sobre frames, y colocar aqu elcdigo de la pgina de presentacin)

    Estas utilizando un navegador que no soporta frames.

    Pulsa paravisitar mi pgina.

    Mi pagina con frames

    Estas utilizando un navegador que no soporta frames.

    Pulsa para visitar mi pgina.

    Ahora s podemos guardar este documento con el nombre de mi_pagina.html.

    Atributos de la etiqueta

    La etiqueta FRAMESET, como hemos visto en el ejemplo, es la que define la distribucin, elnmero y tamao de los frames. Tiene dos atributos: COLS (columnas) y ROWS (filas):

    34

  • 8/14/2019 Programacin HTML Webmasters

    35/193

    Define la distribucin de los frames en columnas o en filas, segn se use uno u otro atributo.

    Define el nmero de frames que habr, pues, por ejemplo:

    (habr dos frames en columnas) (habr tres frames en columnas)

    Define el tamao de los frames, segn el valor que demos a XX, YY, ZZ.... Este valor se puedeexpresar en:

    Un porcentaje del ancho del pantalla (para las columnas), o del alto de la pantalla (para las filas).As, por ejemplo:

    (la columna de la izquierda ocupar el 20% del ancho de la pantalla, y la de la derecha el 80%restante)

    (la fila superior ocupar el 10% del alto de la pantalla, la del medio el 70%, y la inferior el 20%)

    Un nmero absoluto que representa el nmero de pixels que ocupar cada frame a lo ancho o a loalto (segn sean filas o columnas). As, por ejemplo:

    (la columna de la izquierda tendr 40 pixels de ancho y la de la derecha 600). Pero es peligrosoutilizar slo valores absolutos, pues el tamao de la pantalla vara de un usuario a otro. Si se va ausar algn valor absoluto para un frame, es mejor mezclarlo con alguno relativo, como los quevamos a ver acontinuacin, para que se ajuste el total a la pantalla del usuario

    Un valor relativo que se consigue poniendo un asterisco (*), en vez de un nmero. Esto seinterpreta como que ese frame debe tener el espacio restante. Por ejemplo:

    (Habr tres filas, la superior y la inferior de una altura fija de 100 pixels, y la del medio obtendr el

    espacio restante).

    Si hay ms de un frame con asterisco, ese espacio restante se dividir por igual entre ellos.

    Si hay un nmero antes del asterisco, ese frame obtiene esa cantidad ms de espacio relativo. As"2*,*" dara dos tercios para el primer frame y un tercio para el otro.

    Frames sin bordes

    35

  • 8/14/2019 Programacin HTML Webmasters

    36/193

    Si se desea que no haya un borde de separacin entre los frames, se deben incluir el atributoFRAMEBORDER=0 dentro de la etiqueta FRAMESET. No todas las versiones de los navegadoreslo implementan.

    Para que tambin desaparezcan los huecos de separacin entre frames hay que aadir otros dosatributos (el primero es para el Explorer y el segundo para el Netscape): FRAMESPACING=0 y

    BORDER=0. con lo que la etiqueta completa quedara:

    Atributos de la etiqueta

    Esta etiqueta define las cararactersticas de un frame concreto, no del conjunto de los frames,como era el caso con la etiqueta . Puede tener los siguientes posibles atributos, quevan dentro de la etiqueta :

    SRC="direccin" Esta direccin puede ser la de un documento HTML(tal como hemos utilizado en el ejemplo), o cualquier otro recurso del Web (o URL). Con este atributo seindica lo que se cargar inicialmente en el frame. Sino se le pone este atributo a la etiqueta ,entonces dicho frame aparecer inicialmente vaco,aunque tendr las dimensiones asignadas.

    NAME="nombre_de_la_ventana" Este atributo se usa para asignar un nombre a unframe. De esta manera se podr "dar en el blanco"(en ingls, target) en esta pgina, desde un enlacesituado en otra pgina. Es decir, que pulsando enotra pgina un enlace, se cargar precisamente ensta, tal como hemos visto en el ejemplo. El atributoNAME es opcional. Por defecto, todas las ventanascarecen de nombre. Los nombres que se escojan

    deben comenzar por un carcter alfanumrico (unaletra o un nmero, pero no otro tipo de smbolo).MARGINWIDTH="nmero" Se utiliza este atributo cuando se quiere controlar el

    ancho de los mrgenes dentro de un frame. Elnmero que se ponga representa los pixels de losmrgenes. Este atributo es opcional.

    MARGINHEIGHT="nmero" Igual que el anterior, pero referido a los mrgenes enaltura.

    SCROLLING="yes|no|auto" Este atributo se utiliza para decidir si el frame tendro no una barra deslizadora. Si se escoje "yes" tendrsiempre una barra deslizadora. Si se escoje "no" nola tendr nunca, y si se escoje "auto", ser elnavegador quien decida si la tendr o no. Esteatributo es opcional. Su valor por defecto es "auto".

    NORESIZE A este atributo no se le asigna un valor numrico,como a los dems. Es un indicador para que laventana no se pueda re-dimensionar (en ingls,resize) por parte del usuario. Es un atributo opcional.Por defecto, todos los frames son re-dimensionables.

    FRAMEBORDER="no" Este atributo elimina el borde en un frame, pero si se

    36

  • 8/14/2019 Programacin HTML Webmasters

    37/193

    quiere que se elimine completamente, tambin hayque ponrselo al frame contiguo. Si se quiereeliminar los bordes de todos los frames, se debecolocar en la etiqueta FRAMESET, como hemosvisto anteriormente.

    El atributo TARGET

    En el ejemplo hemos visto que, como queramos que los enlaces situados en el frame de laizquierda surtieran efecto no en l mismo, sino en otro frame, tenamos que poner dentro de cadaenlace el atributo TARGET="principal", siendo "principal" el nombre que habamos dado al segundoframe, en el documento de definicin de frames. Es decir, hemos utilizado este atributo de estamanera:

    TARGET="nombre_dado_a_otro_frame".

    Estos nombres, que los escogemos nosotros, pueden ser cualquiera, pero con la condicin que elprimer carcter sea alfanumrico (letra o nmero).

    Pero hay unos nombres reservados (es decir, que no se pueden usar para denominar a un frame),que hacen que este atributo efecte unas funciones especiales. Para que cumplan su cometido, esimprescindible escribir estas palabras reservadas (blank, self y top) en minsculas.

    TARGET="_blank". Hace que se abra una nueva copia del navegador, y el enlace activado secarga en ella, a pantalla completa. Es decir, tendramos dos copias del navegador (Netscape,Explorer, etc.) funcionando a la vez.

    TARGET="_self". Hace que el enlace se cargue en el propio frame.

    TARGET="_top". Hace que el enlace se cargue a pantalla completa, suprimiendo todos los frames,pero sin que se cargue una nueva copia del navegador. Este es particularmente til. Un error muycomn es olvidarse de poner este atributo en los enlaces que estn en un frame, con lo que resultaque al ser activados, la pgina llamada se carga dentro del propio frame, lo cual es muy molesto siesa pgina pertenece a otro sitio del WEB, y an ms grave si esa pgina tiene a su vez frames.Este inconveniente se evita poniendo este atributo dentro de las etiquetas de los enlaces.

    Frames anidados dentro de otros frames

    Hasta ahora hemos contemplado slo la posibilidad de tener una distribucin de los frames bien enfilas o bien en columnas, (dependiendo que se utilice el atributo ROWS o COLS en la etiquetaFRAMESET), pero no ambos a la vez.

    Se pueden obtener distribuciones ms complejas anidando filas dentro de una columna, o a lainversa, columnas dentro de una fila.

    Supongamos que queremos la siguiente distribucin:

    Un frame estrecho en horizontal en la parte superior, de lado a lado de la pantalla (altura, el 15%)

    Otro frame estrecho en vertical en la parte izquierda, debajo del anterior (anchura, el 20%)

    Un tercero ocupando el resto de la pantalla.

    37

  • 8/14/2019 Programacin HTML Webmasters

    38/193

    Vemos que, en realidad, esto equivale a la siguiente distribucin:

    Dos filas. La superior ocupa el 15% y la inferior el resto.

    La fila inferior est a su vez dividida en dos columnas. La primera (la de la izquierda) ocupa el 20%y la otra, el resto.

    El documento de definicin de las dos filas (olvidmonos de momento que la de abajo estsubdividida), sera:

    Pagina con dos filas

    Como la fila inferior, en realidad, son dos columnas (con una distribucin del 20% y resto),sustituimos (anidando) la etiqueta por:

    Con lo que queda el documento definitvo as:

    Pagina con fila superior y dos columnas inferiores

    38

  • 8/14/2019 Programacin HTML Webmasters

    39/193

    12. Sonidos

    Una pgina del WEB puede tener sonidos incorporados, bien sea como un fondo sonoro que seejecuta automticamente al cargar la pgina, o como una opcin para que la active el propio

    usuario.Capacidades sonoras de los navegadores

    Para poder escuchar los sonidos es necesario disponer, como es lgico, de una tarjeta de sonidocon sus correspondientes altavoces. Pero esto no es suficiente, pues no todos los programasnavegadores estn capacitados en la misma medida.

    Explorer de Microsoft

    Es el que est mejor adaptado para el sonido, pues a partir de la versin 2.0 es capaz dereproducir fondos sonoros sin necesidad de aadir nada, y no hay ninguna complicacin con losservidores, como ocurre con el Netscape. Adems, a partir de la versin 3.0 del Explorer, esincluso compatible con los plug-ins del Netscape.

    Netscape

    Las versiones anteriores a la 2.0 no son capaces de reproducir fondos sonoros que se ejecutenautomticamente, sino que requerir que se activen los programas auxiliares asociados a losformatos, .WAV o .MID.

    La versin 2.0 s es capaz de reproducir un fondo sonoro, pero es necesario que tenga instalado unplug-in llamado Crescendo.

    La versin 3.0 lleva implcito el plug-in Live Audio (pero slo la versin completa, no la reducida).En caso afirmativo, es capaz de reproducir un fondo sonoro.

    Pero a todas estas complicaciones de las distintas versiones de los navegadores de los usuarios,hay otra ms y es que el servidor donde est alojada la pgina del WEB debe tener configuradoscomo MIME los formatos, .MID y .WAV. Si esto no es as, aunque depositemos en el servidor nuestro documento HTLM acompaado por el correspondiente archivo de sonido, ste no seejecutar. En dicho caso, es necesario ponerse en contacto con los administradores del servidor para que configuren como MIME los formatos, .MID y .WAV.

    39

  • 8/14/2019 Programacin HTML Webmasters

    40/193

    Este problema no existe, sin embargo para el Explorer, con el que no nos tenemos que preocupar por este tema.

    Fondo sonoro para el Microsoft Internet Explorer

    Para las versiones 2.0 en adelante, se utiliza la etiqueta:

    El archivo de sonido puede estar en formato .MID o .WAV.

    El atributo LOOP (en ingls, lazo) sirve para especificar el nmero (n) de veces que se debeejecutar el archivo de sonido. Si se escoge el nmero n=-1 o se pone LOOP=INFINITE, el sonidose ejecutar indefinidamente. Se puede omitir este atributo, y entonces el archivo se ejecutar unasola vez.

    La etiqueta para que se ejecute el archivo sonido.mid dos veces en el Explorer es:

    (Para poder oirlo, hay que estar utilizando el Explorer)

    Fondo sonoro para el Netscape

    La etiqueta bsica para el Netscape es:

    donde WIDTH es la anchura y HEIGHT la altura de una consola que aparece, y que tienediferentes teclas (Play, Stop, Pausa, etc.) Respecto a las dimensiones XXX e YY estas dependerndel plug-ins que existe para Netscape.

    El archivo de sonido puede estar en formato, .MID o .WAV, pero recurdese la advertencia hechaanteriormente, de que estos formatos deben estar configurados como MIME por el servidor dondeest alojada la pgina.

    Dentro de la etiqueta se pueden aadir los siguientes atributos opcionales:

    AUTOSTART="TRUE" Arranca automticamente.LOOP="TRUE" Se ejecuta ininterrumpidamente

    Para conseguir que la consola sea invisible hay que aadirle el atributo HIDDEN="TRUE".

    Fondo sonoro combinado para el Explorer y el Netscape

    Se pueden combinar los dos tipos distintos de etiquetas para conseguir que un fondo sonoro seaescuchado por usuarios que utilicen tanto el Explorer como el Netscape (siempre que ste ltimoest preparado para ello). En este caso, el Explorer ignorar la etiqueta del Netscape, y a lainversa.

    40

  • 8/14/2019 Programacin HTML Webmasters

    41/193

    Las dos etiquetas necesarias para que se reproduzca un archivo de sonido ya sea en formato,.WAV o .MID, como sonido de fondo, tanto por el Explorer como por el Netscape (lo har una solavez):

    Para el Explorer. Para el Netscape.

    Como vimos anteriormente para que un archivo de sonido, .MID o .WAV se ejecute como sonidode fondo, tanto por el Explorer como por el Netscape y que se ejecute indefinidamente, a laetiqueta del Explorer basta con aadirle el atributo LOOP=INFINITE, como se ha vistoanteriormente. Y con respecto a la etiqueta del Netscape, tericamente debera tambin bastar aadirle el atributo LOOP="TRUE", pero curiosamente esto no es as, porque hay que poner lasdimensiones de la consola (que no se va a ver).

    Las dos etiquetas quedarian de esta manera:

    Activacin del sonido por el propio usuario

    Hemos visto cmo poner un sonido de fondo en una pgina. Hay otra opcin, mucho ms sencilla,y es la de poner un enlace a un archivo de sonido, de tal manera, que al pulsarlo se ejecute elarchivo. (Ver la Captulo 4, en el que se explica cmo crear enlaces).

    Por ejemplo, poner un enlace a un archivo sonido.mid:

    Escucha esta musica

    Al pulsar el enlace se activa, en una ventana aparte, el programa que ejecuta el sonido. Esto esvlido para todos los navegadores, incluso las versiones ms antiguas, con la nica condicin deque se haya configurado un programa auxiliar capaz de ejecutar archivos .MID o .WAV.

    Se puede hacer el enlace con un icono.

    Por ejemplo al hacer un enlace con un icono llamado snd.gif al archivo de sonido sondiowav elenlace quedaria as:

    En el captulo anterior creamos una versin con frames, en la que aparece inicialmente en el framede la derecha una pgina de presentacin.

    Se puede colocar a esta pgina una msica de fondo, para que sea ejecutada por el Explorer y elNetscape. Para ello debemos hacer lo siguiente:

    En el documento de la derecha que llamamos como presentacion.html debemos aadir entre lasetiquetas y (situadas al final), lo siguiente:

    41

  • 8/14/2019 Programacin HTML Webmasters

    42/193


    Escucha la msica de fondo!

    42

  • 8/14/2019 Programacin HTML Webmasters

    43/193

    Curso de PHP

    PHP es un lenguaje de programacin muy fcil y poderoso. Gracias a l podemos hacer quenuestros sitios web tengan capacidades dinmicas y funciones avanzadas. Este curso es simple yrpido de entender, pero contiene todo lo necesario para empezar a programar en PHP.

    Hola mundo

    PHP es un lenguaje "de lado del servidor", lo que significa que el cdigo se ejecuta en el server yno el la PC del usuario, como lo hara JavaScript. El servidor, luego de interpretar el cdigo PHP,enva al navegador del visitante el resultado en forma de HTML. Eso significa que el navegador delvisitante no "ve" ni interpreta el cdigo fuente en PHP sino solamente el resultado en HTML.

    El programa ms bsico que podemos hacer en PHP es el famoso "Hola mundo":

    Hola mundo en PHP

    Vemos que dentro de un documento HTML clsico, tenemos embebido el cdigo PHP.

    El cdigo PHP siempre est delimitado por las etiquetas . Es muy importante abrirlas y

    cerrarlas correctamente.

    Este programita tiene dos lneas. La primera que dice que $texto contiene "Hola mundo" , y lasegunda que usa el comando echo , que imprime el contenido de $texto .

    En PHP las variables inician con el signo pesos ($), y cada instruccin debe finalizar con un punto ycoma (;). El resultado, o sea lo que se enviar al navegador del visitante, es lo siguiente:

    Hola mundo en PHPHola mundo

    Instalar PHP en forma local

    En casi todos los servidores de hosting, PHP viene preinstalado y operativo. Sin embargo instalarloen nuestra PC personal es sumamente til para poder programar y probar nuestras webs sin tener que subir y bajar archivos constantemente.

    43

  • 8/14/2019 Programacin HTML Webmasters

    44/193

    Afortunadamente existen paquetes que instalar directamente el servidor Apache, PHP y MySQL enWindows, de forma tal que el proceso que tradicionalmente es largo, se puede hacer en segundos.Uno de los mejores paquetes es el EasyPHP.

    Luego de instalarlo y ejecutarlo, debemos indicarle al server local donde estn nuestros sitios weblocales agregndos como "alias" en la opcin "Administrar" > "Apache - Alias".

    Lo recomendable es tener una carpeta llamada "C:\htdocs" con subcarpetas individuales para cadaproyecto. Esa carpeta debe ser agregada como alias.

    Por ejemplo, si tenemos nuestra web en "C:\htdocs\miweb\index.php" y dimos de alta "C:\htdocs"como alias, podremos acceder a los contenidos mediante la direccin localhttp://127.0.0.1/htdocs/miweb/index.php

    Comentarios en PHP

    Los comentarios son tiles para marcar o dejar notas y as poder entender luego ms fcilmenteque es cada parte del cdigo en PHP. De esta manera el cdigo ser mucho mas sencillo decomprender y a su vez de modificar o corregir.

    Los comentarios que soporta PHP son iguales a los de C, C++ y los del shell de Unix, as podemosusar // y /* */ para comentarios y comentarios multilnea respectivamente como haramos en C:

    O tambin podemos usar # como en los comentarios del shell de Unix:

    Variables

    Como la "x" de las ecuaciones en matemtica, en programacin una variable es un elemento queadquiere un determinado valor. Ese valor pueden ser nmeros, caracteres (texto) u otras cosasque luego veremos. En PHP todas las variables empiezan con el smbolo pesos ($).

    El lenguaje PHP trata las variables en forma muy simple, no es necesario definirlas antes deusarlas y pueden contener texto y nmeros indistintamente. Por ejemplo:

  • 8/14/2019 Programacin HTML Webmasters

    45/193

    echo $miVariableA.$miVariableB.$miVariableC;?>

    Como vemos, asignamos valor a una variable con el operador de igualdad (=), y concatenamos(juntamos cadenas para forma otra) con el operador punto (.)

    Se pueden usar variables de nombre variable, es decir una variable cuyo nombre puede cambiar segn el valor de otra variable:

    Definiendo variables

    Definir o declarar una variable significa indicarle al interprete la existencia de una variable y suscaractersticas. En la mayora de los lenguajes de programacin, debemos indicar al interprete quevamos a usar una variable, su tipo (por ejemplo es numrica, de texto, etc) y su mbito. En PHP noes obligatorio definir las variables, pero si es necesario en casos en los cuales queremos definir,por ejemplo, su mbito.

    Definimos una variable como global para que sea accesible desde cualquier parte de nuestroprograma PHP, sin necesidad de pasar el dato como parmetro.

    Constantes

    Una constante es como una variable pero con la diferencia que una vez toma un valor este nopuede cambiar durante la ejecucin del script, otra caracterstica de las constantes es que siempreson globales.

    Las constantes se expresan sin signo de pesos ($), y se tienen que definir usando la funcindefine:

    Constantes predefinidas

    En PHP existen algunas constantes predefinida, que contienen datos del sistema, algunas de ellasson estas:

    __FILE__

    45

  • 8/14/2019 Programacin HTML Webmasters

    46/193

    Recoge el nombre del archivo que se est ejecutando y la ruta completa de su ubicacin en elservidor.

    __LINE__

    Recoge el nmero de lnea (incluidas lneas en blanco) del archivo PHP que se est interpretando.

    PHP_OS

    Recoge informacin sobre el Sistema Operativo que utiliza el servidor en el que se estinterpretando el programa.

    PHP_VERSION

    Recoge la versin de PHP que est siendo utilizada por el servidor.

    Ejemplo del uso de constantes predefinidas:

    Operadores

    Los operadores son expresiones que nos permiten manipular datos, cada uno de los datos quepasan por un operador se llama operando, y segn el nmero de operandos de que disponga unoperador estaremos hablando de un operador unario (un operando), binario (dos operandos), etc.

    Habitualmente usamos varios operadores juntos que conforman una expresin ms compleja. Eneste caso, igual que con las operaciones matemticas o lgicas, tenemos que tener en cuenta laseparacin en trminos.

    Normas de preferencia

    El orden que PHP asigna a los operadores es el siguiente:

    new[! ~ ++ -- (int) (float) (string) (array) (object) @

    * / %+ - .>< >=== != === !==&^|&&||

    46

  • 8/14/2019 Programacin HTML Webmasters

    47/193

    ? := += -= *= /= .= %= &= |= ^= =printandxor or ,

    Igual que en las operaciones matemticas o lgicas usamos el parntesis para agrupar y separar trminos:

    Tipos de operadores

    PHP dispone de una gran cantidad de operadores que listaremos a continuacin:

    Operadores aritmricos

    Son los operadores bsicos, nos permiten sumar, restar, multiplicar y dividir. Se trata deoperadores binarios en todos los casos ya que requieren dos operandos.

    Adicin (+)devuelve la suma de los dos operandos que recibe el operador.

    Substraccin (-) devuelve la diferencia entre el primer y el segundo operando.

    Multiplicacin (*)devuelve el producto de los operandos.

    Divisin (/) devuelve el cociente en valor flotante de los operandos.

    Mdulo (%)devuelve el resto de dividir el primer operando entre el segundo.

    47

  • 8/14/2019 Programacin HTML Webmasters

    48/193

    Operadores de asignacin

    Los operadores de asignacin alteran el valor de una variable, el operador de asignacin bsico esel (=).

    Asimismo, combinando los operadores de aritmtica, bit a bit o de cadenas con el operador deasignacin, conseguimos los 'operadores combinados', con los que podemos realizar unaoperacin de asignacin conjuntamente con otra operacin:

    En este ejemplo vemos que podemos poner el operador de suma seguido del de asignacin paraincrementar el valor de la variable, asimismo podramos usar el operador de concatenacin (.=), elde multiplicacin (*=).

    Operadores de comparacin

    Los operadores de comparacin son operadores en su mayora binarios que permiten comparar variables devolviendo un valor booleano 1 (TRUE) si se cumple la condicin que expresan o 0(FALSE) en el caso contrario.

    Los operadores binarios de comparacin son:

    Igual (==)devuelve 1 si los operandos son iguales aunque sean de tipo distinto.

    Idntico (===) devuelve 1 si los operandos son iguales y del mismo tipo.

    Diferente (!= o )devuelve 1 si los operandos son distintos.

    No idnticos (!==) devuelve 1 si son distintos o de tipo diferente.

    Menor que () devuelve 1 si el primer operando es mas grande que el segundo.

    Menor o igual que (>=) devuelve 1 si el primer operando es mas pequeo o igual que el segundo.

    Mayor o igual que (>=) devuelve 1 si el primer operando es mas grande o igual que el segundo.Estos operadores se usan mayormente como condicin para las estructuras de control.

    48

  • 8/14/2019 Programacin HTML Webmasters

    49/193

    El operador de comparacin ternario es el '?:', este operador, evala una condicin, que puede ser una operacin de comparacin binaria y si se cumple ejecuta el segundo operando, de lo contrarioejecuta el tercero:

    Este ejemplo imprime 'Vale 1' si se cumple la expresion '$variable == 1' de lo contrario imprime'Vale mas de uno'.

    Operadores incrementales

    Los operadores de incremento (++) permiten aumentar en una unidad el valor de una variablenumrica, los de decremento (--) disminuyen la misma variable en una unidad. Estos operadoresson operadores unarios.

    Estos operadores pueden ponerse delante del operando, en ese caso la operacin devolver elvalor una vez operado, o despus, caso en el que la operacin devolver el valor antes de operar:

    Operadores lgicos

    Los operadores lgicos nos permiten crear expresiones complejas para evaluar estructuras decontrol, permitiendo enlazar varias operaciones de comparacin con los diferentes operadoresbooleanos.

    Estos operadores son mayoritariamente binarios, por lo que reciben 2 operandos, dependiendo deestos operandos (de valor 0 o 1) devolver 0 (FALSE) o 1 (TRUE), los operadores lgicos binariosson:

    Y (&& o and)devuelve 1 si ambos operandos son 1

    O (|| o or) devuelve 1 si algn operando es 1

    O exclusivo (xor) devuelve 1 si solo 1 operando es 1

    Un ejemplo de como funcionan estos operadores podra ser:

    Existe otro operador lgico, en este caso unario, que es el operador No (!) o negacin, esteoperador delante de un valor binario, devuelve el valor contrario (0 si es 1 y 1 si es 0):

    49

  • 8/14/2019 Programacin HTML Webmasters

    50/193

    En esta expresin primero evaluaremos los parntesis, el primero vale 1 porque se cumple, elsegundo 0 porque no se cumple, como usamos Y (&&) y no son 1 los dos vale 0, entonces lo

    negamos y vale 1.Operadores de cadena

    En esta categora encontramos el operador de concatenacin (.), que une cadenas:

    A su vez, existe un operador que hemos incluido entre los operadores de asignacin, que es eloperador de asignacin sobre concatenacin (.=), este operador concatena a una variable un valor dado de la siguiente manera:

    Este operador es de gran utilidad para almacenar gran cantidad de datos en una misma variable demanera limpia, por ejemplo:

    Hemos almacenado una pgina HTML en la variable $html de forma limpia para finalmente imprimir el resultado.

    Arrays

    Los arrays, matrices o vectores son tablas de valores. Simplificando, son una variable que poseevarias posiciones y que puede almacenar un valor en cada una de ellas.

    Cada array se identifica y se asigna mediante una variable ($nombre) seguida de un ([]) quecontiene el ndice del array. Ese ndice puede ser escalar (numrico) o asociativo (cadena).

    50

  • 8/14/2019 Programacin HTML Webmasters

    51/193

    Arrays escalares:

    Los elementos de un array escalar se escriben usando la siguiente sintaxis:

    En el primero de los casos, PHP asigna automticamente como ndice el valor siguiente al ltimoasignado. Si es el primero que se define, le pondr como ndice 0 (cero).

    En el segundo de los casos, seremos nosotros quienes pongamos (x) el nmero correspondiente alvalor del ndice. Si al ndice ya se le hubiera asignado un valor, cambiar el valor de la variable, encaso contrario crear un nuevo elemento del array.

    Arrays asociativos

    Los elementos de un array asociativo puede escribirse usando la siguiente sintaxis:

    En este caso, el ndice ser una cadena y se escribir entre comillas.

    Ejemplo del uso de arrays:

  • 8/14/2019 Programacin HTML Webmasters

    52/193

    $c["primero"]="Domingo";$c["segundo"]="Lunes";$c["tercero"]="Martes";$c["cuarto"]="Mircoles";$c["quinto"]="Jueves";$c["sexto"]="Viernes";$c["septimo"]="Sbado";echo "Al pedir que imprima $c["sexto"] escribir: ".$c["sexto"]."
    ";?>

    Estructuras de control

    Los scripts PHP no son lineales y podemos controlar la ejecucin de una accin o de undeterminado bloque de acciones. PHP dispone de lo que se llama estructuras de control, que nospermiten ejecutar o no, una o mas veces un determinado bloque de acciones. Las estructuras decontrol son:

    Condifcional if - else

    La estructura if nos permite ejecutar un bloque de instrucciones si se cumple una determinadacondicin, de lo contrario nos permite ejecutar otro bloque de acciones identificado por la sentenciaelse, si el resultado de la condicin es distinto de 0, se ejecutarn las acciones del if, de lo contrariolas del else:

    La condicin se escribe entre parntesis a continuacin de la palabra if, y esta formada por operaciones PHP, sobretodo por operaciones lgicas y de comparacin.

    Hay otra sentencia que usamos a menudo para unir mas de un condicional if, es la sentencia elseif,que nos permite dar otras condiciones:

    En este caso, si var1 es distinto de 10, evaluar si vale 5, si es as mostrar el segundo mensaje,sino el tercero. Podemos agregar cuantas condiciones elseif necesitemos pero siempre debe cerrar con else.

    52

  • 8/14/2019 Programacin HTML Webmasters

    53/193

    Bucle while

    While nos permite ejecutar un bloque de instrucciones mientras se cumpla una determinadacondicin, cuando deje de cumplirse, se continuar ejecutando el resto del cdigo PHP, lacondicin se cumple mientras no de resultado 0 y esta formada por operaciones PHP, sobretodopor operaciones lgicas y de comparacin.

    Este ejemplo imprime:

    $var1 = 0$var1 = 1$var1 = 2$var1 = 3$var1 = 4$var1 = 5$var1 = 6$var1 = 7$var1 = 8$var1 = 9

    Hay que tener cuidado con este tipo de bucle, en el interior del bloque de acciones siempre sedebe modificar algn parmetro de la condicin para que esta acabe cumplindose, de lo contrariocrearemos un bucle infinito.

    Bucle do - while

    El bucle do while es en su esencia igual al bucle while con la diferencia de que ejecuta las accionesantes de comprobar la condicin, consiguiendo que se ejecuten las acciones una vez si lacondicin retorna 0 o FALSE, as, este bucle se ejecutar siempre una vez mas que while si tienenla misma condicin:

    Este ejemplo imprime:

    $var1 = 0$var1 = 1$var1 = 2$var1 = 3$var1 = 4

    53

  • 8/14/2019 Programacin HTML Webmasters

    54/193

    $var1 = 5$var1 = 6$var1 = 7$var1 = 8$var1 = 9$var1 = 10

    Aunque en el ltimo caso no se haya cumplido la condicin de ya que $var1 no seria mas pequeoque 10.

    Bucle for

    El bucle for nos permite ejecutar un bloque de instrucciones un nmero determinado de veces. Laestructura for necesita tres variables que se indican separadas por punto y coma (;) y son:

    Estado inicial que pone valor inicial a la variable de control del bucle de condicin.

    La condicin que se evala en cada ciclo, mientras se cumpla se continua ejecutando el bucle.

    La accin que se ejecuta al final cada bucle y modifica la variable de la condicin.

    Ejemplo:

    1) Antes de empezar el bucle se ejecutar $var1 = 0.

    2) Como paso siguiente se evaluar si $var < 10 y si se cumple ejecutar las instrucciones en elinterior del bucle.

    3) Al finalizar el ciclo ejecuta la accin $var1++.

    Comienza el ciclo de nuevo volviendo a 2) evaluando si $var < 10, cuando finalmente no lo cumpla,sigue con el resto del cdigo PHP.

    Bucle foreach

    El bucle foreach nos permite ejecutar un bloque de instrucciones para cada elemento de un array.Hay que indicar el identificador de la matriz, la expresin as y seguidamente la variable que

    identificar el valor del elemento:

    Esta expresin tambin nos permite trabajar con arrays con ndice, en este caso trabajaremos as:

    54

  • 8/14/2019 Programacin HTML Webmasters

    55/193

    Como vemos en este caso especificamos la variable que identifica el ndice y la que identifica elvalor separadas por =>

    Ciclo switch

    Switch nos permite hacer una u otra accin dependiendo del valor de una variable.

    Este cdigo har un "switch" para la variable $i, y si coincide con alguna de los valores indicadosen case proceder y seguir con el cdigo, sino ejecutar el cdigo de default.

    Funciones

    En toda aplicacin hay bloques de cdigo que realizamos mas de una vez. Para no repetir estosbloques de cdigo una y otra vez, existe el concepto de funcin.

    Para declarar una funcin utilizamos la expresin function seguida del nombre que queremos dar ala funcin, a continuacin y entre parntesis, los argumentos que recibe la funcin y finalmente yentre corchetes el cdigo de la funcin en si misma.

    Llamando a una funcin

    Una vez creada la funcin, la debemos llamar como una funcin prefabricada de PHP, por sunombre pasando los argumentos que necesita.

    55

  • 8/14/2019 Programacin HTML Webmasters

    56/193

    El valor de retorno