You are on page 1of 16

1

6 Interaciuni HTML
Din cele descrise mai sus privind limbajul HTML, se poate descrie orice document care s fie gzduit pe un server Web i s se navigheze prin el de ctre orice client Web folosind un navigator oarecare. Se poate ns observa uor c de la client nu se poate trimite nimic spre server, cu excepia comenzilor de ncrcare de noi documente prin intermediul ancorelor. Exist n HTML dou posibiliti prin care clientul poate transmite informaii ctre server: formularele HTML i hrile senzitive asociate imaginilor. Le vom prezenta pe rnd. 6.1 Formulare HTML 6.1.1 Principiul de funcionare Formularele sunt instrumentul principal HTML de interaciune cu utilizatorul. El furnizeaz o serie de faciliti grafice de preluare de informaii de la utilizator, cum ar fi: csue de dialog, butoane radio, liste de opiuni etc. Dup exprimarea opiunilor de ctre utilizator, acestea sunt transmise unui program specializat, numit CGI (Common Gateway Interchange). Acest CGI la rndul lui poate interaciona cu fiiere, baze de date etc. aflate pe serverul de Web. Ca rezultat al execuiei, CGI d la ieire, spre browser, un nou text HTML. n figura 6.1 este prezentat aceast relaie.

Figura 6.1 Relaia CGI - HTML Limbajele folosite pentru CGI pot fi: C, C++, Java (aplicaii stand-alone), scripturi Shell, Scripturi Perl etc. Indiferent de limbaj, trebuie precizat modalitatea de primire a informaiilor de ctre CGI de la formular i modalitatea de rspuns. Datele de intrare sunt primite de CGI sub forma unei linii de text. Programul trebuie s priveasc aceast linie fie ca primul parametru al liniei de comand (metoda Get) fie ca prima linie din fiierul de intrare standard (metoda Post). Datele de ieire din CGI sunt invariabil furnizate de ctre browser ca i un text HTML sau orice alt tip de document inteligibil n browser, furnizat de CGI prin ieirea standard.

6.1.2 Un exemplu simplu de formular Exemplul pe care-l vom prezenta este urmtorul. Vom cere printr-un formular ca userul s-i dea numele de user i parola. Serverul va ntoarce irul de caractere pe care l-a primit de la formular. Pentru aceasta, sunt necesare mai multe fiiere. Astfel, n subdirectorul public_html al directorului gazd exist fiierul index.html. Coninutul acestuia este:
<HTML>

<HEAD> <TITLE>Verificare user si parola</TITLE> </HEAD> <BODY> <FORM METHOD="post" ACTION=/cgi-bin/TestCgi.cgi> <P>Login:<INPUT NAME="Login"></INPUT> Password:<INPUT TYPE="password" NAME="Password"></INPUT> <INPUT TYPE="submit" VALUE="Login"> <INPUT TYPE="reset" VALUE="Cancel"> </FORM> </BODY> </HTML>

Fiierul index.html Lansarea lui n execuie cu Internet Explorer are ca efect imaginea din fig. 6.2. Figura 6.2 Imaginea iniial a formularului

Dup completarea cmpurilor Login i Password, se va da clic pe butonul Login. Ca efect, va fi lansat n execuie programul cu numele TestCgi.cgi situat n subdirectorul standard cgi-bin al directorului standard al serverului Web (de regul, sub Linux, acesta este /home/httpd/). Acesta este de fapt un program CGI. n acest exemplu, am folosit ca limbaj suport pentru CGI limbajul C sub Unix. Coninutul acestui program este uor de neles, el tiprind la ieirea standard, pur i simplu textul HTML de rspuns:
#include <stdio.h> main () { char DeLaFormular[1000]; // Aici se citeste mesajul formularului fgets(DeLaFormular, 1000, stdin); //Citeste din intrarea standard // linia primita de la formular printf("Content-type: text/html");// Trei linii standard printf("\n"); // cerute de printf("\n"); // protocolul HTTP printf("<HTML>"); // Urmeaza tiparirea la iesirea standard printf("<HEAD>"); // a documentului HTML de raspuns printf("<TITLE>"); printf("Raspunsul de la CGI"); printf("</TITLE>");

printf("</HEAD>"); printf("<BODY>"); printf("<H3>"); printf("CGI a primit stringul:"); printf("</h3>"); printf("%s",DeLaFormular); printf("</BODY>"); printf("</HTML>"); }

Fiierul TestCgi.c Dup compilare, fiierului executabil i se va atribui numele TestCgi.cgi i va fi depus n directorul ~florin/public_html/cgi_bin Dup completarea numelui de user, aici florin, i a unei parole, aici am dat drept parol textul "o parola oarecare", se d click pe butonul Login. Imaginea rspuns dat de CGI pe navigator va fi cea din fig. 6.3.

Figura 6.3 Rezultatul ntors de CGI 6.1.3 Principalele taguri folosite la formulare HTML Tagul <FORM are sintaxa:
<FORM Action="URL" Method="get|post" [ Enctype="string" ] > Continutul formularului </FORM>

Action indic URL-ul programului CGI care va fi lansat la execuia formularului. Majoritatea serverelor Web pretind ca acest CGI s fie plasat ntrun loc anume n structura de directori, iar drepturile asupra lui s fie acordate de ctre administrator. Evident, aceast cerin apare din motive de securitate. n exemplul de mai sus CGI este plasat n mod standard de ctre serverul Web Apache. Method indic metoda care este folosit de formular spre a transmite informaiile spre CGI. Aa cum am artat mai sus, prin get se transmite ca

primul argument al liniei de comand, iar prin post ca i prim linie a intrrii standard. Enctype indic modalitatea de reprezentare a informaiilor culese prin formular. De regul acest atribut lipsete, iar informaiile sunt prezentate ntr-o form standard. n cele ce urmeaz vom prezenta acest standard de reprezentare. CGI primete de la formular o singur linie de text ASCII, cu urmtoarele caracteristici: Fiecare cmp al formularului furnizeaz o pereche nume=valoare (semnul = separ numele de valoare). Dou perechi nume=valoare sunt separate ntre ele prin semnul &. Caracterele nonalfanumerice sunt nlocuite prin %xx, unde xx sunt dou cifre hexazecimale reprezentnd codul caracterului ASCII. In acest context, pentru a se indica separarea a dou linii de informaie, ntre ele apare %0D%0A. Toate caracterele spaiu din nume sau valoare sunt nlocuite prin caracterul +. n coninutul formularului se specific, printre altele, tagurile <INPUT, <SELECT, <OPTION i <TEXTAREA, pe care le vom prezenta n continuare. n corpul unui formular nu poate s fie definit un alt formular!. Tagul <INPUT este instrumentul fundamental de specificare i obinere a intrrilor de la utilizator. Prin facilitile lui, ofer practic toate modalitile de intrare oferite de GUI actuale (de sub Windows, X Window etc.). Sintaxa tagului este:
<INPUT Type="text|password|radio|checkbox|image|hidden|submit|reset" Name="string" Value="string" Checked Src="URL" Text Size="n" Maxlength="n" Align="top|middle|bottom" >

Semnificaia atributelor lui <INPUT este: Type definete tipul cmpului de intrare prezentat utilizatorului. Fiecare dintre cele opt cuvinte posibile indic un mod de preluare a informaiilor, astfel: text indic colosirea pentru intrare a unei singure linii de text. Se folosesc la dimensionare i atributele Size i Maxlength (dac sunt prezente). password indic preluarea unei parole, afind n ecou caracterul *. radio prezint un set de butoane radio, din care se poate selecta doar o variant. Dac este prezent atributul Checked, atunci alternativa va fi selectat implicit. checkbox permite selectarea multipl la mai multe opiuni. image permite selectarea unui punct dintr-o imagine. La selectare se trimit automat (ca i la tipul submit) perechile nume/valoare spre CGI. In ce privete poziia selectat din imagine, se furnizeaz dou perechi nume.x=x

nume.y=y, indicndu-se coordonatele, n pixeli, ale punctului selectat din imagine. hidden specific o valoare setat de formular fr ca utilizatorul s dea vreun input. submit trimite perechile de informaii ctre CGI. reset reseteaz valorile formularului la valorile specificate implicit. Name indic numele cmpului, nume care va fi transmis spre CGI ca prim component n perechile nume/valoare. Value fixeaz o valoare implicit pentru cmp. Checked fixeaz o alegere implicit pentru o alternativ radio. Src indic URL-ul atunci cnd avem Type=image. Text indic faptul c este vorba de o singur linie text de intrare. La ENTER, se face automat submit. Size indic dimensiunea afiat pentru intrarea de tip text. Maxlength fixeaz limita maxim a acestei lungimi. Tagul <TEXTAREA are sintaxa:
<TEXTAREA Name="string" Rows="n" Cols="n" >

Specific o intrare text pe mai multe linii. Prin Rows i Cols se specific numrul de linii i de coloane care dimensioneaz aceast zon de text. Ca i <INPUT i <TEXTAREA, tagul <SELECT este utilizat pentru a prelua informaii de la utilizator. n inteiorul unui tag <SELECT pot s apar mai multe taguri <OPTIONS. Dintre opiunile selectate se poate alege una i numai una dintre ele. Sintaxa celor dou taguri este:
<SELECT Name="string" <OPTION Selected <OPTION Selected . . . </SELECT> Size="n" Multiple > Value="n" > Value="n" >

Name este numele atribuit cmpului select. Size indic numrul de elemente vizibile la un moment dat dintre toate opiunile posibile. Multiple permite selectarea mai multor valori dintre opiunile oferite. Selected indic o opiune selectat n mod implicit. Value indic ce valoare va fi trimis spre CGI n cazul selectrii.

6.1.4 Un exemplu de formular complex n cele ce urmeaz, vom prezenta un formular complex, care cuprinde aproape toate facilitile posibile la un formular. Documentul de ieire afieaz intrrile date, iar n cazul n care se d clic ntr-un punct al hrii Romaniei, atunci se va afia numele judeului pe care s-a dat clic. Imaginea formularului pe care l-am conceput este afiat de ctre navigator ca n fig. 6.4.

Figura 6.4 Imaginea unui formular complex. Textul HTML care descrie formularul de mai sus este:

<HTML> <!-- Exemplu de formular complex --> <!-- preluat de la Author: john@december.com --> <!-- Created: 17 Mar 1995 --> <!-- Update: 3 Dec 1995: had to send to Sunsite echo; RPI down --> <!-- Update: 4 May 1996: moved to HTML station --> <!-- Romanizat: 423 Nov 1998 de Boian Florian --> <HEAD> <TITLE> Un formular complex</TITLE> </HEAD> <BODY> <FORM Method="POST" Action= "http://disco.scs.ubbcluj.ro/cgi-bin/TestCgi.cgi"> <P> <INPUT Type="hidden" Name="adresa" Value="florin@cs.ubbcluj.ro"> <INPUT Type="hidden" Name="subiect" Value="Formular HTML"> <INPUT Type="hidden" Name="numeuser" Value="User necunoscut"> <INPUT Type="hidden" Name="usermail" Value="Email necunoscut"> Varsta: <INPUT Type="text" Name="varsta" Size="2"><BR> Genul (sexul): <INPUT Type="radio" Name="genul" Value="M">Masculin <INPUT Type="radio" Name="genul" Value="F">Feminin<BR> Marcati numele persoanelor de care ati auzit:<BR> <INPUT Type="checkbox" Name="desprefunar">Gheorghe Funar <INPUT Type="checkbox" Name="desprelulu">Lulu <INPUT Type="checkbox" Name="despreemil">Emil Constantinescu <INPUT Type="checkbox" Name="despreion">Ion Iliescu<BR> Care este navigatorul Web preferat? <SELECT Name="webfavorit"> <OPTION>Arena <OPTION>Cello <OPTION>Chimera <OPTION>Internet Explorer <OPTION>Lynx <OPTION>Mosaic <OPTION Selected>Netscape <OPTION>SlipKnot <OPTION>Viola <OPTION>Web Explorer <OPTION>Altul decat cele de mai sus </SELECT><BR> Care dintre urmatoarele tipuri de inghetata va place? <SELECT Name="inghetatadorita" Multiple Size="3"> <OPTION Value="vanilie">Vanilie <OPTION Value="ciocolata">Ciocolata <OPTION Value="fragi">Fragi <OPTION Value="fistic">Fistic </SELECT><BR> Ne dati o parola (numai intre noi): <INPUT Type="password" Name="parola"><BR> Aveti o porecla? <INPUT Type="radio" Name="porecla" Value="nu" Checked>Nu <INPUT Type="radio" Name="porecla" Value="da">Da, ea este: <INPUT Type="text" Name="poreclauser" Size="12" Maxlength="12"><BR>

Ne spuneti un moto personal (ca de exemplu):<BR> <TEXTAREA Name="motopersonal" Rows="2" Cols="40"> Daca ceva se poate strica, atunci se strica (Murphy) </TEXTAREA><BR> Daca s-a gresit la completare: <INPUT Type="reset" Value="Anulare"><BR> Formular completat corect: <INPUT Type="submit" Value="Trimitere informatii"><BR> Daca se doreste si o pozitie pe harta, clic pe harta: <BR> <INPUT Type="image" Src="romap.gif" Name="imagine" Align="bottom"><BR> <BR> </FORM> </BODY> </HTML>

Formularul Test.html Dup un clic pe hart, (care implic automat operaia submit), apare imaginea din fig. 6.5.

Figura 6.5 Rezultatul aciunii CGI pentru formularul complex

10

Textul surs al programului CGI este de aceast dat scris n Shell sub Unix:
#!/bin/sh echo "Content-type: text/html" echo echo "<html>" echo "<head>" echo "<Title>Raspuns al cgi $0</title>" echo "</head>" echo "<body>" read Intrare echo $Intrare | awk -F\& '{for (i=1; $i"<BR>";}' echo "</body>" echo "</html>"

i<=NF;

i++)

print

6.2 Hri senzitive asociate imaginilor Aceste hri senzitive reprezint o form elegant de realizare a unei interaciuni dintre o imagine a unui document HTML i utilizator. n esen este vorba de a asocia unor pri dintr-o imagine legturi spre URL-uri specifice. Asocierea se poate face, in extremis, la nivel de pixel. n practic se definesc poriuni poligonale, n particular dreptunghiulare, sau poriuni circulare care pot fi imaginate ca i poriuni transparente plasate peste imaginea respectiv. n momentul n care utilizatorul d clic pe una din aceste poriuni, se activeaz automat URL-ul asociat poriunii respective. De exemplu, accesai http://www.vtourist.com/ i vei vedea cum funcioneaz aceste hri (imagini) senzitive. Implementarea unui astfel de mecanism presupune trei etape succesive: crearea imaginii respective; prepararea unei liste de coresponden ntre pixelii imaginii i resursele dorite a se asocia cu acetia; integrarea celor dou spre a deveni active ntr-o pagin de Web. Conectarea ntre prile imaginii i resursele asociate poate fi realizat n dou moduri: 1. 2. Stabilirea acestei corespondene de ctre server. Stabilirea acestei corespondene de ctre client.

6.2.1 Stabilirea corespondenei de ctre server Atunci cnd corespondena este realizat de server, aciunea este cea din figura 6.6.

11

Figura 6.6 Harta senzitiv tratat de server n acest caz, tagul <IMG corespunztor conine atributul Ismap. Tot n server este definit un fiier de tip *.map, accesibil printr-un CGI, n care sunt definite regiunile imaginii i resursele asociate acestora. Cnd serverul primete coordonatele punctului n care s-a dat clic, el identific regiunea n care se afl i activeaz resursa asociat. Fiierul care specific regiunile imaginii i URL-urile asociate conin linii de forma:
default rect poly circle URL URL URL-implicit ColtStangaSus ColtDreaptaJos Punct1 Punct2 . . .Punctn URL Centru PunctPeCircumferinta

Toate punctele sunt reprezentate prin perechi x,y de pixeli. De exemplu, dac avem o imagine de 45 X 400 pixeli, pe care o vom mpri n ase zone alturate pe orizontal, preciznd faptul c de-a asea zon solicit o resurs audio, descrierea este:
default http://host.domain/~kevin/index.html rect http://host.domain/~kevin/works/top.html 0,0 45,45 rect http://host.domain/~kevin/works/stories.html 46,0 120,45 rect http://host.domain/~kevin/works/poems.html 121,0 210,45 rect http://host.domain/~kevin/cmc/study.html 211,0 295,45 rect http://host.domain/~kevin/works/book.html 296,0 360,45 rect http://host.domain/~kevin/sound/beverage.au 361,0 400,45

12

Pentru a activa mecanismul trebuie specificate n documentul HTML dou taguri, prin care s se precizeze descrierea regiunilor i imaginea la care se refer.
<A Href = http://host.domain/cgibin/imagemap/~loginid/path/info.map> <IMG Src = "info.gif" Ismap> </A>

Prin aceast construcie se specific faptul c pe serverul host.domain (de exemplu), cu programul de mapare a imaginii situat n cgi-bin/imagemap (de exemplu), iar fiierul de referin la imagine este situat n ~loginid/path/info.map. Imaginea este indicat prin tagul <IMG n care se specific faptul c maparea este realizat pe server. 6.2.2 Stabilirea corespondenei de ctre client Cnd corespondena este realizat de client, aciunea este cea din fig. 6.7

Figura 6.7 Tratarea hrii senzitive de ctre client n acest mod de abordare, trebuie ca n textul HTML s se furnizeze, n tagul <IMG, atributul Usemap="string". Pe lng acesta, trebuie s se declare, ntr-un tag <MAP cu atributul Name="#string" (corespondena fcndu-se prin numele string). Tagul <MAP cuprinde n interiorul lui definirea fiecrei zone (arii, regiuni) printr-un tag <AREA. n interiorul unui astfel de tag se delimiteaz, printr-o

13

pereche de atribute Shape Coords regiunea respectiv, dup care se precizeaz URL-ul asociat. Precizarea unei regiuni se face n una din urmtoarele patru forme:
Shape="rect" Coords="stanga,sus,dreapta,jos" Shape="poly" Coords="x1,y1,x2,y2,xn,yn" Shape="circle" Coords="xcentru,ycentru,raza" Shape="default" Coords="stanga,sus,dreapta,jos"

n dreptul fiecrei perechi Shape,Coord fie se specific URL-ul corespunztor, fie se specific absena unui URL pentru zona respectiv, astfel: Href="URL" Noref Iat un exemplu de astfel de descriere.
<MAP Name="mymap"> <AREA Shape="circle" Coords="70,84,51" Href="http://www.december.com"> <AREA Shape="rect" Coords="25,180,125,280" Href="http://www.december.com/html/"> <AREA Shape="poly" Coords = "153,106,186,225,340,193,315,81,304,167" Href="http://www.december.com/works/tour.html"> <AREA Shape="rect" Coords="422,17,480,277" Nohref> <AREA Shape="circle" Coords="499,299,100" Href="http://www.cnn.com/"> <AREA Shape="default" Coords="0,0,195,111" Href="http://www.december.com/john/"> </MAP>

Pentru punerea n coresponden ntre imagine i definirea regiunilor, trebuie s se specifice:


<IMG Src = "../images/imagemap.gif" Width="500" Height="300" Alt="Imagemap" Usemap="#mymap" Ismap>

6.2.3 Exemplu de hart senzitiv Fiierul HTML care urmeaz afieaz o hart a Romniei cu mprirea acesteia pe judee. n momentul n care utilizatorul d clic ntr-un punct al hrii, se ncarc automat un URL avnd ca i nume numele (prescurtarea) judeului.

14

<HTML> <HEAD> <TITLE>Harta senzitiva client (Romania)</TITLE> </HEAD> <IMG Src="romap.gif" Usemap="#hartasenzitiva" Ismap> <MAP Name="hartasenzitiva"> <AREA Shape="poly" Href="http://disco.scs.ubbcluj.ro/maram.html" Coords="267,29,289,51,291,66,265,66,240,73,229,84,218,85,206,81,179,7 9,180,70,194,65,195,51,205,50,212,41,206,33,244,34,253,31,257,31"> <AREA Shape="poly" Href="http://disco.scs.ubbcluj.ro/timis.html" Coords="2,190,7,187,14,187,22,183,31,184,52,198,70,202,75,198,96,211, 105,203,130,208,133,228,125,233,113,236,107,243,84,238,74,248,75,266, 65,271,38,249,28,246,31,229"> <AREA Shape="poly" Href="http://disco.scs.ubbcluj.ro/const.html" Coords="529,396,549,304,582,292,563,293,554,281,539,286,543,296,531,3 09,492,304,493,329,485,349,447,359,447,368,479,372,501,390"> <AREA Shape="poly" Href="http://disco.scs.ubbcluj.ro/calarasi.html" Coords="444,372,391,377,380,359,393,345,450,341,471,342,481,350,456,3 60,446,361"> <AREA Shape="poly" Href="http://disco.scs.ubbcluj.ro/ialomita.html" Coords="483,349,493,331,486,305,473,295,463,300,418,307,391,298,384,3 21,389,345,441,344,465,338"> <AREA Shape="poly" Href="http://disco.scs.ubbcluj.ro/tulcea.html" Coords="585,289,562,295,554,280,535,284,543,295,531,307,495,303,481,2 48,497,238,511,255,536,250,569,237,591,249"> <AREA Shape="poly" Href="http://disco.scs.ubbcluj.ro/braila.html" Coords="483,307,494,301,484,246,455,240,445,248,441,262,431,259,426,2 69,435,271,437,301,466,301,473,294"> <AREA Shape="poly" Href="http://disco.scs.ubbcluj.ro/buzau.html" Coords="435,307,435,270,424,270,430,259,443,260,446,246,432,242,427,2 47,385,220,367,234,367,262,386,269,393,296,416,305"> <AREA Shape="poly" Href="http://disco.scs.ubbcluj.ro/prahova.html" Coords="368,264,384,268,393,291,388,311,356,305,328,269,330,248,365,2 43"> <AREA Shape="poly" Href="http://disco.scs.ubbcluj.ro/dambov.html" Coords="328,270,328,252,311,254,306,273,314,333,324,333,355,307"> <AREA Shape="poly" Href="http://disco.scs.ubbcluj.ro/bucurest.html" Coords="387,346,383,328,381,319,387,311,367,305,350,309,346,345,359,3 55,372,352,378,354"> <AREA Shape="poly" Href="http://disco.scs.ubbcluj.ro/giurgiu.html" Coords="342,400,383,378,378,351,357,353,346,345,346,318,322,335,350,3 75,335,382"> <AREA Shape="poly" Href="http://disco.scs.ubbcluj.ro/teleor.html" Coords="342,403,336,381,347,376,323,334,285,342,276,384,278,403,328,4 11"> <AREA Shape="poly" Href="http://disco.scs.ubbcluj.ro/olt.html" Coords="277,403,240,402,247,370,231,338,253,322,254,300,270,305,280,3 19,281,344,276,377"> <AREA Shape="poly" Href="http://disco.scs.ubbcluj.ro/dolj.html" Coords="239,400,245,371,230,334,218,317,188,336,158,391,173,400,186,3 95"> <AREA Shape="poly" Href="http://disco.scs.ubbcluj.ro/mehed.html" Coords="136,318,121,334,109,328,119,308,132,307,146,280,195,330,183,3 35,183,354,173,366,170,375,145,363,132,342,152,323"> <AREA Shape="poly" Href="http://disco.scs.ubbcluj.ro/gorj.html" Coords="198,331,168,304,150,279,158,260,172,272,196,258,220,264,222,3 19">

15

<AREA Shape="poly" Href="http://disco.scs.ubbcluj.ro/arges.html" Coords="282,345,278,338,279,314,261,290,266,239,300,241,313,252,302,2 74,313,339"> <AREA Shape="poly" Href="http://disco.scs.ubbcluj.ro/valcea.html" Coords="232,335,221,319,222,264,196,260,212,246,269,237,261,290,271,3 02,254,302,251,322"> <AREA Shape="poly" Href="http://disco.scs.ubbcluj.ro/huned.html" Coords="190,257,171,272,156,264,135,232,132,185,147,170,164,177,195,2 37,211,248,201,257"> <AREA Shape="poly" Href="http://disco.scs.ubbcluj.ro/caras.html" Coords="107,329,118,310,132,308,155,261,137,230,102,243,78,243,67,270 ,68,308"> <AREA Shape="poly" Href="http://disco.scs.ubbcluj.ro/galati.html" Coords="482,248,497,240,488,208,488,184,454,194,445,190,437,206,454,2 36,469,240"> <AREA Shape="poly" Href="http://disco.scs.ubbcluj.ro/vrancea.html" Coords="445,249,454,236,441,212,435,203,442,188,443,180,427,182,407,1 95,391,192,381,218,404,237,425,249,433,243"> <AREA Shape="poly" Href="http://disco.scs.ubbcluj.ro/covasna.html" Coords="382,222,381,209,384,193,373,179,348,187,334,180,328,187,332,2 12,363,237"> <AREA Shape="poly" Href="http://disco.scs.ubbcluj.ro/brasov.html" Coords="365,238,363,243,316,252,297,239,266,238,285,195,308,188,325,1 93,331,214"> <AREA Shape="poly" Href="http://disco.scs.ubbcluj.ro/sibiu.html" Coords="267,234,285,197,274,192,268,177,248,177,209,225,209,247"> <AREA Shape="poly" Href="http://disco.scs.ubbcluj.ro/alba.html" Coords="206,247,208,229,233,197,246,178,188,154,176,165,155,157,150,1 71,165,175,184,206,193,236"> <AREA Shape="poly" Href="http://disco.scs.ubbcluj.ro/arad.html" Coords="133,210,134,183,149,174,120,162,118,148,78,139,55,176,28,183, 62,200,77,197,97,211,104,202"> <AREA Shape="poly" Href="http://disco.scs.ubbcluj.ro/vaslui.html" Coords="487,183,493,150,478,120,467,122,452,114,445,123,431,125,426,1 34,443,161,444,187,453,194"> <AREA Shape="poly" Href="http://disco.scs.ubbcluj.ro/bacau.html" Coords="383,194,392,191,408,190,428,181,444,181,444,162,427,137,408,1 32,378,146,359,144,372,178"> <AREA Shape="poly" Href="http://disco.scs.ubbcluj.ro/harghita.html" Coords="373,180,362,159,356,147,346,143,339,112,328,103,304,103,313,1 39,288,172,304,186,323,193,335,178,347,186"> <AREA Shape="poly" Href="http://disco.scs.ubbcluj.ro/mures.html" Coords="314,138,289,171,304,187,288,195,276,191,268,179,238,174,237,1 40,266,121,292,101,303,105"> <AREA Shape="poly" Href="http://disco.scs.ubbcluj.ro/cluj.html" Coords="232,173,189,154,179,164,161,158,154,142,158,120,177,128,196,1 23,201,103,227,99,240,132"> <AREA Shape="poly" Href="http://disco.scs.ubbcluj.ro/bihor.html" Coords="76,140,85,115,106,85,119,64,151,89,151,108,160,120,152,136,15 8,154,148,169,120,162,118,150"> <AREA Shape="poly" Href="http://disco.scs.ubbcluj.ro/salaj.html" Coords="149,91,149,107,168,124,179,128,198,121,201,102,228,96,228,86, 212,82,180,78,177,84,154,82"> <AREA Shape="poly" Href="http://disco.scs.ubbcluj.ro/bistrita.html" Coords="229,86,253,67,289,65,297,101,242,136,228,100"> <AREA Shape="poly" Href="http://disco.scs.ubbcluj.ro/neamt.html" Coords="355,147,366,142,378,145,407,132,427,133,423,109,395,102,384,8 2,358,88,340,88,329,104,341,114,343,144"> <AREA Shape="poly" Href="http://disco.scs.ubbcluj.ro/iasi.html"

16

Coords="449,113,469,125,478,120,440,55,419,74,407,69,385,82,392,102,4 06,107,425,107,428,126,444,124"> <AREA Shape="poly" Href="http://disco.scs.ubbcluj.ro/botosani.html" Coords="439,54,401,3,375,2,360,24,386,66,380,81,408,69,416,73"> <AREA Shape="poly" Href="http://disco.scs.ubbcluj.ro/suceava.html" Coords="290,52,300,43,321,29,344,32,356,24,385,64,382,78,360,90,339,8 5,328,106,313,101,296,101"> <AREA Shape="poly" Href="http://disco.scs.ubbcluj.ro/satumare.html" Coords="120,63,148,86,161,81,176,84,181,69,193,64,194,48,203,51,211,3 9,207,31,194,28,180,14,176,24,147,46,135,46"> <AREA Shape="default" Href="http://disco.scs.ubbcluj.ro/nimic.html" Coords="0,0,500,300"> </MAP> </BODY> </HTML>

Fiier de mapare a hrii Romniei pe judee

You might also like