Univerzitet u Zenici 

U

N

IV

E

R

S

IT

A

S  S

T U D I O R UM

   Z

E

N

IC

A

E

N

S

IS

U

N

IV

E R

Z I T E T  U  Z E

N

IC

 

Pedagoški fakultet 

Katedra za matematiku i informatiku 

 
 
 

Programiranje za Internet 

doc.dr. Samra Muja

č

i

ć

 

v.as.mr. Samir Lemeš

 

 
 
 

Zenica, 2006 

 
 
 
 
 

 

background image

Programiranje za Internet 

 

II 

4.13.1.  

Skripting jezici koji se izvršavaju na serveru (Server-side scripting) .............65 

4.13.2.  

Skripting jezici koji se izvršavaju kod klijenta (Client-side scripting) ...........67 

 
5.  

Macromedia Dreamweaver.............................................................................68 

5.1.  

Uvod u Macromedia Dreamweaver ................................................................68 

5.2.  

Razvijanje strukture prezentacije....................................................................71 

5.3.  

Definisanje lokalne web prezentacije .............................................................72 

5.4.  

Zadavanje browsera ........................................................................................75 

5.5.  

Pravljenje i snimanje nove strane ...................................................................76 

5.5.1.  

Dajte naslov web strani...................................................................................78 

5.5.2.  

Zadavanje boje pozadine ................................................................................78 

5.5.3.  

Slika na pozadini strane ..................................................................................80 

5.5.4.  

Zadavanje podrazumijevane boje fonta ..........................................................80 

5.6.  

Smještanje teksta na stranu .............................................................................80 

5.6.1.  

Uvoženje teksta...............................................................................................81 

5.6.2.  

Centriranje i uvla

č

enje teksta..........................................................................82 

5.6.3.  

Pravljenje spiskova .........................................................................................83 

5.6.4.  

Ugnjež

đ

ivanje lista .........................................................................................84 

5.6.5.  

Formatiranje znakova .....................................................................................84 

5.6.6.  

Promjena fonta................................................................................................85 

5.6.7.  

Promjena veli

č

ine fonta ..................................................................................86 

5.6.8.  

Mijenjanje boje slova......................................................................................87 

5.7.  

Definisanje html stilova ..................................................................................87 

5.7.1.  

Primjena html stilova ......................................................................................88 

5.8.  

Dodavanje specijalnih znakova.......................................................................89 

5.9.  

Dodavanje horizontalnih linija........................................................................89 

5.10.  

Automatsko dodavanje datuma.......................................................................90 

5.11.  

Umetanje grafi

č

kih elemenata na stranu.........................................................91 

5.11.1.  

Mijenjanje veli

č

ine grafi

č

kih elemenata i vra

ć

anje na prvobitnu veli

č

inu......93 

5.11.2.  

Pozicioniranje slika na strani ..........................................................................94 

5.11.3.  

Dodavanje okvira oko slike ............................................................................95 

5.11.4.  

Omotavanje teksta oko slika ...........................................................................95 

5.11.5.  

Prilago

đ

avanje prostora oko slike...................................................................96 

5.11.6.  

Poravnavanje slike u odnosu na jedan red teksta ............................................96 

5.11.7.  

Izrada mapiranih slika.....................................................................................97 

5.12.  

Crtanje tabela u prikazu layout .......................................................................98 

5.12.1.  

Mijenjanje nacrta tabele................................................................................100 

5.12.2.  

Formatiranje 

ć

elija ........................................................................................100 

5.12.3.  

Širina tabele i slike koje održavaju razmak...................................................101 

5.12.4.  

Izrada tabele u prikazu standard ...................................................................102 

5.13.  

Pravljenje šablona (Template-a) ...................................................................104 

5.13.1. 

Ubacivanje oblasti koje se mogu mijenjati u šablon .....................................104 

5.13.2. Uklanjanje 

promjenljivih oblasti...................................................................106 

5.13.3. Izrada 

opcionih oblasti šablona.....................................................................106 

5.13.4. Pravljenje 

oblasti koje se ponavljaju.............................................................107 

5.13.5. Pravljenje 

strana 

pomo

ć

u šablona.................................................................108 

5.13.6. Kontrolisanje pojavljivanja opcionih oblasti ................................................109 
5.13.7. 

Izmjena stranica pomo

ć

u šablona .................................................................109 

 

Programiranje za Internet 

 

III

6. Izrada 

obrasca ...............................................................................................111 

6.1. 

Dodavanje polja za jedan red teksta..............................................................112 

6.2. 

Dodavanje polja za više redova teksta ..........................................................115 

6.3. Dodavanje 

polja za potvrdu ..........................................................................116 

6.4. Dodavanje 

radio-dugmadi.............................................................................117 

6.5. Dodavanje 

spiskova i menija ........................................................................118 

6.6. Dodavanje 

dugmadi ......................................................................................120 

6.7. 

Provjera valjanosti podataka u obrascima.....................................................121 

6.8. Testiranje obrasca .........................................................................................123 
 
7. 

Meta oznake i komentari...............................................................................125 

 
8. Pravljenje 

spoljnih 

kaskadnih opisa stilova ..................................................127 

8.1. Mijenjanje 

postoje

ć

eg stila ...........................................................................130 

8.2. Izrada 

kaskadnih 

opisa 

CSS stilova za hiperveze .........................................132 

8.3. Povezivanje 

postoje

ć

im opisom stila..........................................................133 

 
9. Rad 

bojama.................................................................................................134 

9.1. Pozadina 

stranice ..........................................................................................134 

9.2. Kodiranje 

boja ..............................................................................................135 

 
10. 

Slike u HTML dokumentima ........................................................................137 

10.1. Veli

č

ina slika ................................................................................................137 

10.2. Korištenje 

manjih datoteka ...........................................................................138 

10.3. 

Prozirne i isprepletene GIF slike...................................................................139 

 
11. CGI 

programiranje........................................................................................140 

11.1. Upoznavanje 

sa skriptama ............................................................................140 

 
12. JavaScript......................................................................................................147 
12.1. 

Java i JavaScript ...........................................................................................148 

12.2. Kada 

JavaScript? 

Kada Java? Kada CGI? ....................................................149 

12.3. JavaScript i HTML .......................................................................................150 
12.4. Svojstva 

JavaScript jezika ............................................................................152 

12.4.1. 

Varijable i automatsko pretvaranje tipova ....................................................152 

12.4.2. Pisanje 

vrijednosti i komentara.....................................................................154 

12.4.3. Svojstva 

objekata i nizovi .............................................................................154 

12.4.4. Kontrola 

tijeka programa ..............................................................................155 

12.4.5. 

Operatori i njihovi prioriteti..........................................................................155 

12.4.6. Funkcije ........................................................................................................156 
12.5. Stvaranje 

objekata.........................................................................................157 

12.6. Ugra

đ

eni objekti ...........................................................................................157 

12.6.1. Objekt Window.............................................................................................158 
12.6.2. Objekt 

Document..........................................................................................159 

12.6.3. Objekti 

Date i Math ......................................................................................160 

12.7. Obrada 

doga

đ

aja ...........................................................................................160 

12.8. Prakti

č

ne primjene JavaScripta.....................................................................163 

12.8.1. Pozdravne poruke .........................................................................................163 
12.8.2. Ispisivanje 

pomo

ć

i ........................................................................................164 

background image

Programiranje za Internet 

 

15.1.5. ADO..............................................................................................................205 
15.2. Baze 

podataka 

na web sajtovima ..................................................................205 

15.2.1. 

Windows vs. LINUX vs. ASP vs. PHP.........................................................206 

15.3. Spajanje 

na 

bazu podataka............................................................................207 

15.4. Manipulacija podacima.................................................................................209 
15.5. Korisni 

linkovi ..............................................................................................210 

15.6. 

Razvoj PHP & MySQL aplikacije korištenjem Dreamweavera ...................210 

15.6.1. Priprema........................................................................................................211 
15.6.2. Tabele ...........................................................................................................211 
15.6.3. Definisanje sajta............................................................................................212 
15.6.4. Konekcija na bazu.........................................................................................212 
15.6.5. Unos 

novosti .................................................................................................213 

15.6.6. Zaštita 

administrativnog dijela baze .............................................................213 

15.6.7. Kreiranje 

novih korisnika .............................................................................214 

15.6.8. Login 

forma ..................................................................................................216 

15.6.9. Ograni

č

enje pristupa stranicama...................................................................217 

15.6.10. Log out..........................................................................................................217 
 
16. .NET .............................................................................................................218 
16.1. 

Šta je .NET Framework? ..............................................................................218 

16.2. Osnovni 

koncepti ..........................................................................................218 

16.2.1. Common 

Language Runtime ........................................................................218 

16.2.2. Skupovi-assemblies ......................................................................................219 
16.2.3. Opsezi imena ................................................................................................220 
16.3. Konfigurisanje 

okruženja..............................................................................221 

16.3.1. Instalacija IIS-a.............................................................................................221 
16.3.2. Instalacija 

Visual Studio .NET-a ..................................................................222 

16.4. Pregled 

procesa 

dinami

č

kih strana................................................................222 

16.5. 

Pregled obrade Web Service-a......................................................................223 

16.6. Kreiranje 

Login.aspx strane..........................................................................223 

16.7. Korištenje 

Web kontrola...............................................................................226 

16.7.1. Dostupne 

Web kontrole ................................................................................228 

16.7.2. Definisanje Web formi..................................................................................228 
16.7.3. Kodiranje 

iza 

formi u ASP.NET-u................................................................228 

16.8. ASP.NET ......................................................................................................230 
16.8.1. Na

č

in pisanja koda........................................................................................231 

16.8.2. Programska 

poboljšanja................................................................................233 

 
17. XML .............................................................................................................235 
17.1. 

DTD – Document Type Definition ...............................................................237 

17.2. Prikazivanje 

XML 

dokumenata u browseru .................................................239 

 
18. Budu

ć

nost: Ajax, Gadget,.............................................................................245 

18.1. Ajax 

.............................................................................................................245 

18.2. 

Ajax Agent 0.1..............................................................................................246 

18.3. Gadget...........................................................................................................251 
18.3.1. Kako 

rade gadgeti .........................................................................................252 

18.3.1. Gadget 

datoteke ............................................................................................253 

18.3.2. Kreiranje gadgeta..........................................................................................253 

Programiranje za Internet 

 

VI 

18.3.3. Sistemski 

API-ji gadgeta ..............................................................................256 

18.3.4. Postavke gadgeta ..........................................................................................257 
 
19. 

Planiranje i procedura dizajna web prezentacije...........................................261 

19.1. Profiliranje ....................................................................................................261 
19.2. Planiranje dizajna..........................................................................................261 
19.3. Struktura sajta ...............................................................................................262 
19.3.1. Slike ..............................................................................................................262 
19.3.2. Fontovi..........................................................................................................263 
19.3.3. Navigacija.....................................................................................................263 
19.4. Izgradnja: 

sklapanje 

sadržaja u cjelinu .........................................................264 

19.4.1. Flash 

ili ne?...................................................................................................265 

19.4.2. Veli

č

ina dokumenata ....................................................................................265 

19.4.3. Podloge .........................................................................................................266 
19.4.4. GIF 

ili 

JPEG?................................................................................................266 

19.4.5. Web 

tehnologije............................................................................................267 

19.5. 

Postavljanje na server – web hosting ............................................................268 

19.6. Izbor 

domene ................................................................................................269 

19.7. Prijavljivanje 

na 

pretraživa

č

e........................................................................270 

19.7.1. Meta 

tagovi ...................................................................................................270 

19.7.2. 

Prijava na pretraživa

č

e..................................................................................272 

19.7.3. 

Trikovi za prijavljivanje na Yahoo ...............................................................274 

19.7.4. Doma

ć

i pretraživa

č

i......................................................................................275 

19.8. Održavanje sajta............................................................................................275 
 
20. Literatura.......................................................................................................278 
 

background image

Programiranje za Internet 

 

je samo važno da se me

đ

usobno dobro "razumiju". U po

č

etku, ARPAnet je spajao 

samo 

č

etiri institucije (uglavnom univerzitetske), dok ih je 1972. bilo oko dvadeset.  

Do velikog buma dolazi po

č

etkom osamdesetih, ta

č

nije 1983., kada nastaju prve 

lokalne mreže jer je Ethernet mrežna tehnologija postala svima dostupna. To je 
omogu

ć

ilo priklju

č

ivanje mnogih novih radnih stanica na Internet, a sve su one 

ve

ć

inom koristile tada vrlo popularni operativni sistem Berkeley BSD Unix i 

protokol IP za komunikaciju s drugim ra

č

unarima. Skupina protokola TCP/IP 

razvijena je po

č

etkom osamdesetih, a 1983. prihva

ć

ena kao standardni 

komunikacijski protokol na ARPAnetu. Na mrežu se nisu priklju

č

ivale samo 

pojedine radne stanice, ve

ć

 i cijele lokalne mreže: svako je htio u ARPAnet. 

ARPAnet je tako postajao medij komuniciranja i za mnoge komercijalne 
organizacije, a ne samo za vojne i univerzitetske ustanove, kako je prvobitno bilo 
zamišljeno. Prednosti su bile sasvim o

č

ite: korisnik s jedne mreže mogao bi bez 

problema komunicirati s korisnikom za nekim drugim ra

č

unarom, bilo gdje na 

ARPAnetu. 

Tako su nastajale neke namjenske lokalne mreže, poput NSFneta. NSF (Nacional 
Science Foundation) je agencija ameri

č

ke vlade koja se bavi znanoš

ć

u i ona je 

stvorila NSFnet s namjerom da nudi ra

č

unarske usluge drugim korisnicima. 

Konkretno, napravljeno je nekoliko centara sa super-ra

č

unarima (iako danas ono 

što se onda zvalo "super-ra

č

unarom" stane u jedan sasvim prosje

č

ni Pentium) koji 

su trebali pružati usluge složenih matemati

č

kih izra

č

unavanja i sli

č

ne usluge 

drugim obrazovnim ustanovama. Napravljeno je samo pet takvih centara. 

 

1.1.2. Organizacija Interneta 

Zna

č

aj NSFneta je u tome što je zapo

č

eo s organiziranjem Internetove 

komunikacijske infrastrukture. Isprva, NSFnet je bio povezan s drugim preko 
ARPAneta. To rješenje nije bilo najbolje: najve

ć

a prepreka bila je birokracija i 

administracija, jer je trebalo urediti odnose izme

đ

u takve dvije mreže 

č

iji su 

vlasnici dvije sasvim razli

č

ite vladine ustanove. Stoga su u NSF-u odlu

č

ili 

napraviti svoju vlastitu mrežu, ali su pritom koristili ARPAnetovu IP tehnologiju 
za komuniciranje. Pojedine 

č

vorove u NSFnetu spojili su zakupljenim telefonskim 

linijama koje su prenosile oko 7 KB podataka u sekundi. U usporedbi s današnjim 
propusnostima to je bilo dosta malo, ali sasvim zadovoljavaju

ć

e za zahtjeve koji su 

se tada postavljali pred mrežu. 

Me

đ

utim, trebalo je riješiti još jedan problem: kako povezati udaljene ra

č

unare na 

novu mrežu? Iznajmljene telefonske linije vrlo su skupe u cijelom svijetu, te si je 
rijetko tko mogao dopustiti pla

ć

anje stotina ili hiljada kilometara posebne 

telefonske linije do nekog zamišljenog centra mreže. Zbog toga je Internet od prvih 
trenutaka zamišljan kao potpuno decentralizirana mreža. Problem je riješen tako da 
su stvorene regionalne mreže u državama i ve

ć

im gradovima. Zatim su se one 

me

đ

usobno povezivale, 

č

ime su troškovi umrežavanja znatno pali, jer bi svaka od 

Programiranje za Internet 

 

mreža bila povezana samo s njoj najbližom. Na taj na

č

in, svaki ra

č

unar može do

ć

do bilo kojeg drugog ra

č

unara. Doduše, ne neposredno, ali ARPAnetov razvijeni 

protokol IP ve

ć

 je predvi

đ

ao da drugi ra

č

unari moraju znati kako isporu

č

iti neku 

poruku na ispravno odredište. Do današnjih dana, Internet upravo tako radi. Mnoge 
druge mreže koje su tada postojale (npr. DECnet, Bitnet i sli

č

ne) povezale su se s 

Internetom iako tada nisu koristile protokol IP. Pomo

ć

u posebnih hardversko-

softverskih rješenja, nazvanih pristupnici (gateway), one su spojene na tu, sad ve

ć

 

veliku, globalnu mrežu ra

č

unara. 

Godine 1986. zapo

č

eo je rad na intenzivnoj komercijalizaciji mreže. Odlu

č

eno je 

da se svi vojni ra

č

unari isklju

č

e u zasebnu podmrežu, a zastarjeli i spori 

ARPAnetov sistem zamijenjen je boljim, NSFnetovim. Tako nam je ostao vrlo 
dobro organizirani Internet, s NSFnetom kao ki

č

mom. (Ki

č

mom mreže – backbone 

– smatra se struktura mreže na koju su spojeni svi drugi dijelovi mreže). U aprilu 
1995. NSFnet je zasluženo "umirovljen", a ki

č

mom Interneta postale su sve do tada 

povezane mreže. Zanimljivo je da tako Internet danas odli

č

no radi bez dva osnovna 

po

č

etna dijela: ARPAneta i NSFneta. U me

đ

uvremenu je osnovana i organizacija 

CIX (Commercial Internet Exchange) putem koje su povezane sve tvrtke koje 
pružaju pristup Internetu na komercijalnoj osnovi. 

 

1.1.3. Ko upravlja Internetom? 

Internet je decentraliziran u svojoj tehni

č

koj organizaciji, pa tako ne postoji niti 

jedno vrhovno nadzorno tijelo koje bi nadziralo cijelu mrežu. Umjesto toga, 
poslovi oko održavanja mreže, definiranja novih pravila, standarda i 
komunikacijskih protokola povjereni su ve

ć

em broju organizacija u cijelom svijetu.  

Kada bi službeno postojao vrh, na njemu bi se našlo neprofitabilno društvo koje se 
naziva The Internet Society (ISOC; http:/www.isoc.org). Njegove su zada

ć

promocija Interneta i komunikacijske tehnologije. U njemu su 

č

lanovi koji se 

uglavnom bave tehni

č

kim razvojem Interneta, planiranjem njegove budu

ć

nosti, 

razvojem protokola i arhitektura, te donošenjem osnovnih pravila za rad mreže.  

RFC je skra

ć

enica od Request for Comment (zahtjev za komentarom). Kada se 

neko dosjeti ne

č

ega što bi moglo unaprijediti Internet, neku uslugu ili neki 

protokol, napiše svoj prijedlog i javno ga objavi na Internetu, traže

ć

i od drugih da 

mu pošalju svoje komentare. Nakon toga dopunjuje osnovni prijedlog prema 
pristiglim komentarima i tako se stvaraju prijedlozi novih standarda ili usluga. 
Svaki RFC nosi svoj broj. Pisci RFC-ova su dobrovoljci, to rade besplatno, a RFC-
ovi se mogu slobodno i neograni

č

eno koristiti. Dakle, ne radi se o službenoj 

dokumentaciji ili standardima, ali ako ste zaista zainteresirani za prou

č

avanje 

mreže i Interneta, RFC-ovi su golem izvor korisnih informacija. Mnogi od njih 
namijenjeni su i po

č

etnicima, pa naprimjer, sadrže rje

č

nike, objašnjenja pojmova 

ili upute za rad s pojedinim uslugama. 

background image

Programiranje za Internet 

 

2. Klijentsko-serverski model 

Kovanica client/server jedna je od onih koje se naj

č

ć

č

uju posljednjih godina. 

Razli

č

iti pojedinci i razli

č

ite tvrtke tuma

č

e ovaj pojam na sasvim razli

č

ite na

č

ine 

kada pri

č

aju o svojoj mreži. Zamislite bilo kakvu mrežu ra

č

unara. Mrežu valjda ne 

trebamo definirati: 

č

uli ste za takve stvari? Valjda jeste, nešto su jako popularne u 

zadnje vrijeme... Svaki ra

č

unar koji pruža neku vrstu usluge ili koji nudi neke svoje 

resurse na korištenje (npr. ispis na priklju

č

enom pisa

č

u ili korištenje podataka s 

njegovog tvrdog diska) naziva se serverom. S druge strane, svaki ra

č

unar koji 

koristi usluge servera naziva se klijentom. 

U op

ć

enitom slu

č

aju, serverom se naziva bilo koji ra

č

unar koji daje neke svoje 

usluge na korištenje drugim ra

č

unarima. Jednako tako, klijent je bilo koji ra

č

unar 

koji "posu

đ

uje" i koristi uslugu ili neki resurs drugog ra

č

unara. Zbog toga svaki 

ra

č

unar može biti ili klijent ili server, i jedno i drugo, ili ništa od toga.  

Druga važna stvar je na

č

in komunikacije izme

đ

u klijenta i servera. To je posebno 

važno, jer se svi komunikacijski protokoli, uklju

č

uju

ć

i i TCP/IP i HTTP, 

sporazumijevaju upravo na taj na

č

in. Kada klijent želi zatražiti pristup nekoj usluzi 

ili resursu servera, šalje mu zahtjev za pristup usluzi. Nakon toga server šalje 
odgovor klijentu i omogu

ć

ava mu korištenje zatražene usluge. Na taj se na

č

in 

zahtjevi i odgovori razmjenjuju sve do završetka komunikacije.  

Klijentsko-serverski model nije danas tek tako prihva

ć

en kao jedno od najboljih 

rješenja za realizaciju ra

č

unarske mreže. Me

đ

utim, postoje mnoge njegove 

prednosti. Za po

č

etak, taj je model mreže vrlo ekonomi

č

an, jer se veliki ra

č

unarski 

kapaciteti i kapaciteti za pohranjivanje podataka traže samo na strani servera. Osim 
toga, pokazao se dosta prakti

č

nim u svakodnevnom radu, jer je mogu

ć

e rasporediti 

optere

ć

enje jednog ra

č

unara (npr. glavnog servera u tvrtki) na više njih. 

Klijentski program je jednostavno program kojim pristupate nekoj odre

đ

enoj usluzi 

na serverski. Naprimjer, pretraživa

č

 za World Wide Web je primjer klijentskog 

programa. Serverski program izvršava se na serverskom ra

č

unaru i opslužuje 

zahtjeve klijenata. Bitno je jedino da klijent i server razmjenjuju podatke po istim 
pravilima; informati

č

ari bi rekli: koriste

ć

i se istim protokolom.  

 

2.1. Mrežne adrese 

Na velikoj mreži kakva je Internet, najve

ć

i je problem bio osmisliti sistem 

imenovanja ra

č

unara, koji 

ć

e koristiti svi protokoli, usluge i – na kraju krajeva – 

sami korisnici da bi komunicirali s nekim ra

č

unarom. Sistem IP adresa koji je 

razvijen imao je mnogo prednosti nad nekim drugim tada predloženim sistemima, 
pa je prihva

ć

en za korištenje na ARPAnetu i, kasnije, NSFnetu i Internetu. 

Svaki ra

č

unar na mreži dobiva adresu u obliku 

č

etiri broja odvojena ta

č

kama – to je 

ono što 

ć

emo zvati IP adresom. Kako ra

č

unari najbolje rade s binarnim brojnim 

Programiranje za Internet 

 

sistemom, adrese su zapravo predstavljene s 32 bita. Naprimjer, mrežna adresa 
nekog ra

č

unara može biti 

10100001  00110101  00000011  00101000 

Ljudima takav format, iz sasvim o

č

itih razloga, nije baš prihvatljiv, pa se takav 

32-bitni niz binarnih cifara pretvara u 

č

etiri dekadska broja koja su odvojena 

ta

č

kom. Dekadska adresa dobiva se tako da se svaka grupa od 8 bitova zasebno 

pretvori u svoj dekadski brojni ekvivalent. Adresa gornjeg ra

č

unara je tako 

161.53.3.40 

što je prihvatljivije za pam

ć

enje. Budu

ć

i da dekadska vrijednost svakih 8 bitova 

može biti izme

đ

u 0 i 255, može se izra

č

unati da bi se na taj na

č

in moglo adresirati 

nešto preko 

č

etiri milijarde ra

č

unara.  

Numeri

č

ka adresa ima dva važna dijela, koja nisu baš o

č

ita ako je promatrate samo 

kao niz od 

č

etiri broja. Me

đ

utim, važno je znati da dio adrese predstavlja broj 

mreže na koju je priklju

č

en ra

č

unar, a da drugi dio adrese predstavlja broj ra

č

unara 

u toj mreži. Naravno, postavlja se pitanje "šta je šta" ako imate adresu od 

č

etiri 

broja: postoje barem tri mogu

ć

nosti. 

Upravo se sve te tri mogu

ć

nosti koriste. Ve

ć

 smo rekli da je Internet velika mreža 

manjih, lokalnih mreža koje se nalaze u tvrtkama ili organizacijama. Kada se 
razmišljalo o na

č

inu izvedbe IP adresiranja, pretpostavilo se da 

ć

e postojati: 

 

mali broj samostalnih mreža s jako velikim brojem ra

č

unara 

 

odre

đ

en broj mreža koje imaju srednji broj ra

č

unara 

 

vrlo veliki broj mreža koje povezuju manji broj ra

č

unara. 

Zbog toga su osmišljene klase adresa. Ako op

ć

i format adrese napišemo kao 

aaa.bbb.ccc.ddd 

Klasa A su one adrese kojima je dio aaa adresa mreže, a ostali brojevi adresa 
ra

č

unara. Tako može postojati samo nešto više od 120 takvih mreža, ali svaka 

može imati preko 16 miliona ra

č

unara (jer posljednja tri broja ozna

č

avaju samo 

ra

č

unar). U klasi B, dio aaa.bbb predstavlja adresu mreže. Budu

ć

i da su brojevi do 

126 ve

ć

 zauzeti za klasu A, u klasi B prvi broj je ve

ć

i od 128. Tako može postojati 

16 hiljada mreža u toj klasi, a svaka od njih ima do 65 hiljada ra

č

unara (jer ra

č

unar 

predstavljaju posljednja dva broja). U klasi C, prva tri broja, aaa.bbb.ccc, 
ozna

č

avaju mrežu i zato je mogu

ć

e imati oko 1 miliona mreža u toj klasi. Broj aaa 

mora biti ve

ć

i od 192. Samo zadnji broj, ddd, koristi se za oznaku ra

č

unara, pa 

mreža klase C može u sebi imati samo malo više od 250 ra

č

unara. 

U prvom stupcu tabele 1 je oznaka klase, u drugom i tre

ć

em prvi brojevi iz IP 

adrese izme

đ

u kojih se nalazi ta klasa, a posljednja dva stupca pokazuju koliko 

mreža može biti u toj klasi i koliko svaka od tih mreža može imati ra

č

unara. 

 

background image

Programiranje za Internet 

 

odgovaraju

ć

ih organizacija, imate sva prava na njeno korištenje. Sli

č

no je i na 

Internetu: nakon što InterNIC prihvati ime vaše domene, sva su prava na njeno 
korištenje samo vaša. 

Time se pokušao okoristiti jedan desetogodišnji dje

č

ak iz Amerike, koji je 

registrirao domenu toysrus.com kod InterNIC-a prije no što su to u

č

inili iz same 

tvrtke. Zatim je tražio od ljudi iz tvrtke Toys R Us da mu u zamjenu za ime 
domene daju jedan bicikl i (jedan) ra

č

unar. Predsjednik tvrtke smatrao je prijedlog 

simpati

č

nim i povoljnim, pa je odlu

č

io "otkupiti" ime domene. 

Me

đ

utim, cijela ta ideja s registriranjem imena domena poznatih tvrtki nije bila 

dje

č

akova, nego njegovog pohlepnog ujaka, koji je registrirao još nekoliko imena 

domena poznatih tvrtki prije no što su one to stigle u

č

initi. Ujak je zabrljao cijelu 

stvar jer se nije mogao odlu

č

iti koje ra

č

unar želi dobiti od Toys R US, pa su za inat 

neki direktori iz tvrtke odlu

č

ili da nema šanse niti da dobiju bicikl. InterNEC je 

riješio problem tako da je domenu dao onome kome i pripada – tvrtki Toys R Us – 
a dje

č

a

č

i

ć

 i ujak ostali su i bez ra

č

unara i bez bicikla. 

Da biste od InterNIC-a dobili svoju grupu IP adresa i registrirali je kao domenu, 
morate popuniti poseban formular. Do njega možete do

ć

i pomo

ć

u FTP-a na adresu 

ftp.internic.net, pomo

ć

u World Wide Weba na adresi http://www.rs.internic.net ili 

elektroni

č

kom poštom s adrese [email protected]. Odgovor na elektroni

č

ki 

zahtjev dobit 

ć

ete u roku od dva dana.  

 

2.2. Imena ra

č

unara 

IP adrese u dekadskom obliku (

č

etiri broja s ta

č

kama) u svakom slu

č

aju ljudi lakše 

pamte od binarnih adresa, ali to još uvijek nije to. Zato su mrežama i ra

č

unarima 

nadjevena sasvim normalna imena. Ime se tako

đ

er sastoji od nekoliko rije

č

i, koje 

su opet odvojene ta

č

kama. Naprimjer, pogledajte adresu: 

pi.unze.ba 

Posljednja oznaka, ba, predstavlja oznaku države u kojoj se ra

č

unar nalazi. Oznaka 

prije nje, u našem slu

č

aju unze, ime je organizacije u kojoj se ra

č

unar nalazi. Ime 

organizacije i oznaka države zajedno se nazivaju domena. Kona

č

no, pi je ime 

ra

č

unara koje se nalazi u domeni unze.ba. Adresa ra

č

unara napisana u tom obliku 

naziva se Fully Qualified Domain Name (FQDN). Gotovo uvijek kada se radi o 
Webu, susretat 

ć

ete se upravo s ovakvim, a ne s IP adresama. 

Broj oznaka u ovakvoj adresi nije ograni

č

en, ali ih je obi

č

no izme

đ

u tri i pet. 

Naprimjer, mogu

ć

a je i adresa poput: 

www.pf.unze.ba 

Ovdje je www ime ra

č

unara, a sve ostalo predstavlja domenu. Kao što vidite, 

domena ima tri dijela: osim zemlje i imena institucije (unze), u njoj se nalazi i 
oznaka odjela (pf) te institucije gdje se ra

č

unar nalazi. 

Programiranje za Internet 

 

Zadnja oznaka u ovakvom imenu naj

č

ć

e je oznaka države (ba za BiH, hr za 

Hrvatsku, si za Sloveniju, de za Njema

č

ku, uk za Veliku Britaniju, fr za Francusku, 

au za Australiju itd). No, u slu

č

aju ra

č

unara koji se nalaze u Sjedinjenim 

Ameri

č

kim Državama naj

č

ć

e nema oznake us, ve

ć

 na tom mjestu stoji oznaka 

tipa mreže u kojoj se nalazi ra

č

unar. Naprimjer, edu ozna

č

ava obrazovanu 

ustanovu, com komercijalnu organizaciju, gov vladinu ustanovu, mil vojno 
ra

č

unar, org neku me

đ

unarodnu organizaciju, net neku mrežu koja se prostire na 

ve

ć

em podru

č

ju i tako dalje. 

Ovakav na

č

in imenovanja ra

č

unara ostavlja mogu

ć

nost dodavanja aliasa, odnosno 

alternativnih zamjenskih imena za svaki ra

č

unar. Naprimjer, ako ra

č

unar pi.unze.ba 

služi kao Web server, on obi

č

no dobiva dodatno ime www.unze.ba, ili kada bi na 

njemu bila FTP arhiva s programima, ftp.unze.ba. Na taj je na

č

in olakšan pristup 

korisnicima pojedinih usluga. Numeri

č

ka IP adresa i dalje ostaje ista, ali ra

č

unar 

ima nekoliko FQDN imena.  

 

2.3. Maskiranje  

Podmreže dijele jednu ve

ć

u mrežu na više manjih. Ako ste mrežni administrator, to 

vam može ili ne treba koristiti. Naprimjer, ako vaša tvrtka dobije IP adresu u klasi 
C koja dopušta samo 254 ra

č

unara, podmreže van ne trebaju: Ali, ako se radi o 

nekoj  ve

ć

oj mreži, poželjno je njeno dijeljenje u više podmreža, jer se manje 

mreže lakše održavaju, mrežni promet smanjuje, a sigurnost mreže poboljšava. 
Recimo, mreža 161.53 predstavlja Hrvatsku. Podmreža 2 je zagreba

č

ko SRCE 

(adresa ra

č

unara 181.53.2.x), a podmreža 128 je Institut Ru

đ

er Boškovi

ć

 (adresa 

ra

č

unara 161.53.128.x). Loše izvedeno maskiranje naj

č

ć

e ima za posljedicu 

potpuni raspad i nefunkcionalnost mreže, jer se poruke gube, putuju krivim 
putevima, pro

đ

u cijeli svijet da bi se zatim vratile na susjedni ra

č

unar i tako dalje. 

Kada administrator mreže upotrijebi neke adrese za ozna

č

avanje podmreže mora na 

neki na

č

in re

ć

i protokolu TCP/IP kako da razlikuje jednu podmrežu od druge. Za to 

se koristi maskiranje. Podmrežna maska je, poput IP adrese, tako

đ

er 32-bitni 

binarni broj, u kojemu se bitovi za adresu mreže (zajedno s podmrežom) 
postavljaju na 1, a bitovi za adresu ra

č

unara na 0. To zahtijeva malo opreznog 

binarnog ra

č

unanja i planiranja. 

Naprimjer, ako vaše ra

č

unar pretražuje adresu klase B, 161.53.3.20 uz podmrežnu  

masku 255.255.0, tada dio "161.53.3" smatra mrežom (podmrežom), a dio "20" 
adresom ra

č

unara. 

Podmrežna maska mora biti ista za sva ra

č

unara u podmreži. Ina

č

e, mreža ima 

odre

đ

enu podmrežnu masku 

č

ak i ako nema podmreža. Naprimjer, maska za adrese 

iz klase A je 255.0.0.0, za klasu B 255.255.0.0, a za klasu C 255.255.0. Da ste se 
poslužili onime što znate o tome što ozna

č

ava mreža a što ra

č

unar u pojedinim 

klasama adresa i 

č

injenicom da 8 bitova koji su postavljeni na jedinicu tvore 

dekadski broj 255 i sami biste došli do ovoga. 

background image

Programiranje za Internet 

 

11 

Najve

ć

a razlika izme

đ

u primarnih i sekundarnih DNS servera je u tome gdje 

pronalaze svoje informacije o adresama. Primarni ih imaju zapisane u bazama 
podataka, a sekundarni ih dobivaju od primarnih, ili od drugih sekundarnih servera.  

I obi

č

ni ra

č

unari mogu se smatrati malim DNS serverima, iako ne u pravom smislu 

te rije

č

i. Naime, nakon što ra

č

unar pita DNS servera (primarnog ili sekundarnog) 

za IP adresu nekog drugog ra

č

unara, on 

ć

e je upamtiti u nekoj svojoj datoteci kako 

slijede

ć

i put ne bi moralo pitati DNS za adresu. Šta ako se promijeni IP adresa 

nekog ra

č

unara i podatak zapisan na lokalnom ra

č

unaru postane pogrešan? Ra

č

unar 

se želi povezati s ra

č

unarom kojemu je promijenjena  IP adresa, a on zna samo 

staru. Zbog toga naj

č

ć

e te keširane adrese imaju "rok trajanja", nakon 

č

ega se 

brišu s obi

č

nog ra

č

unara, pa ono ponovo mora kontaktirati DNS server da bi dobilo 

adresu. 

 

Slika 1. Funkcionisanje DNS-a 

 

2.4.1. Obrnuto DNS mapiranje: pretvaranje IP u FQDN adresu 

Evo i suprotnog slu

č

aja. Znate IP adresu, ali željeli biste znati i ime ra

č

unara. 

Naprimjer, Web server može poželjeti saznati ime ra

č

unara s kojeg se javljate 

pomo

ć

u vaše IP adrese koju je dobilo prilikom uspostavljanja veze s vašim 

klijentom. DNS zato može ustanoviti i ime nekog ra

č

unara, ako zna njegovu IP 

adresu. Taj se proces naziva reverse lookup ili obrnuto mapiranje adresa, a ima i 
drugih naziva. 

Programiranje za Internet 

 

12 

Da bi se podržalo obrnuto mapiranje, na Internetu postoji posebna domena, 
in-addr.arpa, koja se u prikazanom stablu adresa nalazi na vrhu. 

Č

vorovi u imenu te 

domene su zapravo IP adrese. Tako domena in-addr.arpa ima 256 poddomena, koje 
odgovaraju prvom broju IP adrese. Svaka od tih poddomena dalje  opet može imati 
256 poddomena koje odgovaraju drugom broju IP adrese, a svaka od njih opet ima 
sljede

ć

ih 256 poddomena za tre

ć

i broj IP adrese. Kona

č

no, one se dijele na još 256 

poddomena za 

č

etvrti broj iz IP adrese. U toj krajnjoj grani nalazi se FQDN ime 

ra

č

unara. 

Pogledajmo kako to radi: pretpostavimo da želite saznati koje se ra

č

unar koje iza 

adrese 161.63.2.120. DNS kre

ć

e od vrha stabla in-addr.arpa. On po

č

inje 

pretraživati stablo od domene 161.in-addr.arpa. zatim ide dalje u dubinu do 
53.161.in-addr.arpa, i tako sve dok ne do

đ

e do kona

č

nih 120.2.53.161.in-addr.arpa. 

U toj grani stabla zapisana je adresa jagor.srce.hr, što zna

č

i da je navedenoj IP 

adresi  odgovarao upravo taj ra

č

unar. Ovakva stabla adresa održavaju se na DNS 

serveru paralelno s bazama podataka koje pretvaraju FQDN adresu u IP adresu, pa 
su tako mogu

ć

e pretvorbe adresa u oba smjera. 

 

background image

Programiranje za Internet 

 

14 

Tako je nastao i termin port. Radi se jednostavno o nekoj identifikacijskoj oznaci 
pojedine usluge. Ili, još slikovitije, radi se o "vratima" neke usluge na pojedinom 
serveru. Port se ozna

č

ava brojem izme

đ

u 0 i 65535. Neke osnovne i uobi

č

ajene 

usluge na Internetu imaju brojeve do 1000, dok se druge koriste na pojedinim 
operativnim sistemima ili za neke ne toliko standardizirane usluge. 

Evo i kako stvar radi: kada se pokrene serverski program za neku uslugu, on za 
sebe rezervira neki broj porta (pogledajte tablicu 2) i 

č

eka da u pristignu zahtjevi 

upravo na taj port. Kada tome serveru pristignu neki paketi s podacima od nekog 
klijenta, a zatim protokol za komunikaciju – TCP/IP – prvo pogleda koji je broj 
porta u tim paketima, a zatim proslijedi zahtjev odgovaraju

ć

em serveru, pod 

uvjetom da svi oni rade na razli

č

itim portovima. Klijentski programi znaju na 

kojem se od portova izvršava serverski program i tako mu znaju pristupiti. Stvar je 
riješena, lako i jednostavno. 

Tabela 2 Osnovni portovi i usluge koje se na njima izvršavaju 

Broj 
porta 

Osnovni 
protokol 

Aplikacijski 
protokol ili usluga 

Opis usluga 

13 

TCP/UDP 

daytime 

Daje trenutno lokalno vrijeme 

17 

TCP 

qotd 

Quote of the Day 

21 TCP 

ftp 

Prenošenje 

datoteka 

23 TCP 

telnet 

Terminalsko 

povezivanje 

25 TCP 

SMTP 

Prenošenje 

elektroni

č

ke pošte 

37 TCP/UDP 

timeserver 

Time 

server 

42 TCP 

nameserver 

Name 

server 

43 

TCP 

whois 

Dobivanje podataka o korisniku/ra

č

unaru 

53 

TCP/UDP 

DNS 

Domain Name Server 

69 

UDP 

tftp 

Trivial File Transfer Protocol 

70 TCP 

gopher 

Gopherski 

serveri 

79 

TCP 

finger 

Dobivanje podataka o korisniku/ra

č

unaru 

80 

TCP 

HTTP 

World Wide Web serveri 

110 TCP 

POP3 

Post-Office-Protocol 

(elektroni

č

ka pošta) 

119 TCP 

NNTP 

Pristup 

novinskim 

grupama 

210 TCP 

WAIS 

Pristup 

bazama 

podataka 

517 

UDP 

talk 

Razgovor s drugim korisnikom 

518 UDP 

ntalk 

Nova 

verzija 

talka 

540 

TCP 

UUCP 

Zastarjeli protokol Unix-to-Unix Copy 

 

Pogledajte sliku 2. Na toj slici, jedan je ra

č

unar istovremeno server za tri usluge: 

World Wide Web (HTTP), prenošenje datoteka (FTP) i E.mail (SMTP). Ti se 
serverski programi izvršavaju na portovima 80, 21 i 25. Ako klijent želi pristupiti 
Web serveru, upu

ć

uje svoj zahtjev na port 80. Istovremeno, neki sasvim drugi 

klijent na sasvim drugom kraju svijeta može komunicirati s portom 25 na istom 
serverskom ra

č

unaru i tako pristupati serverskom programu za E-mail. Više 

serverskih programa na jednom ra

č

unaru tako ne smetaju jedan drugome i 

poslužuju svaki svoje klijente. 

Programiranje za Internet 

 

15 

 

Slika 2. Primjer komunikacije klijenta i servera, gdje klijenti pristupaju razli

č

itim 

portovima na istom serveru kako bi koristili razli

č

ite usluge 

Pogledajmo još na trenutak tablicu 2. U prvom se stupcu  nalaze brojevi portova 
nekih važnijih usluga na Internetu. U drugom je stupcu tip protokola pomo

ć

kojega se pristupa pojedinom portu. Kao što vidite, ovdje stoji ili oznaka TCP, ili 
oznaka UDP, ili u nekim slu

č

ajevima obje. Ta se oznaka zapravo odnosi na 

osnovni komunikacijski protokol niske razine pomo

ć

u kojega se pristupa tom 

portu. Skupina komunikacijskih protokola TCP/IP zapravo sadrži dva takva 
protokola niske razine, TCP i UDP. Ta dva protokola samo prenose podatke 
mrežom  i oni mogu bez problema dijeliti jedan isti broj porta, zato što je za 
uspješno uspostavljanje veze sa serverskim programom potrebno osim IP adrese i 
broja porta znati i tip osnovnog protokola pomo

ć

u kojeg mu se pristupa. 

U tre

ć

em stupcu tabele 2 nalazi se ime aplikacijskog protokola (protokola više 

razine) koji se koristi za komunikaciju s pojedinom uslugom. Kona

č

no, u 

č

etvrtom 

je stupcu samo kratak opis usluge koja se izvršava na navedenom protu. 

 

3.2. Rad na udaljenom ra

č

unaru (Telnet) 

Rad na udaljenom ra

č

unaru jedna je od osnovnih Internet usluga. Program kojim se 

to omogu

ć

uje standardni je dio Unixa i naziva se Telnet. Telnet omogu

ć

ava da se, 

sa ra

č

unara na kojemu radite, povežete s ra

č

unarom u susjednoj sobi ili na drugom 

kraju svijeta i koristite njegove usluge. Vaše ra

č

unar tada postaje terminal, koji na 

svom ekranu samo prikazuje rezultate izvršavanja programa na udaljenom 
ra

č

unaru, a sve što otipkate tako

đ

er odmah proslje

đ

uje udaljenom ra

č

unaru. Da 

biste se povezali s udaljenim ra

č

unarom, trebate samo znati njegovu adresu i 

pokrenuti program za telnet sa imenom ra

č

unara na koji se spajate. 

 

3.3. HTML 

HTML (Hypertext Markup Language) je alat kojim se stvaraju hipertekstualni 
dokumenti za upotrebu na Webu. Nastao je iz op

ć

enitijeg jezika SGML (Standard 

background image

Programiranje za Internet 

 

17 

teksta, što možete vidjeti i iz njegovog punog imena. Napravljen je kako bi 
omogu

ć

io developerima da definišu kako 

ć

e se tekst u njihovim dokumentima 

prikazati na korisni

č

kom ra

č

unaru, te da omogu

ć

i korisniku pristup ostalim 

dokumentima povezanih hiperlinkovima. Mnogo tehnologija je razvijeno kako bi 
popunile rupe u podru

č

jima gdje HTML ne zalazi, jednostavno zbog toga što nije 

bio namijenjen i za šta više osim formatiranja teksta  nezavisno od operativnog 
sistema. HTML je prošao nekoliko revizija i standardizacija. 

HTML 1.0 

Ovo je prva verzija HTML jezika. Definisana je krajem 1990. godine i tada je samo 
NeXT operativni sistem mogao 

č

itati HTML dokumente. "Otac" HTML-a, Tim 

Berners-Lee, primijetio je nedostatak tekstualnog programskog jezika neovisnog o 
operativnom sistemu za upotrebu na Internetu, tako da je specifikacije HTML-a 1.0 
postavio na Internet. Prije objavljivanja specifikacija, Bermers-Lee je napravio 
reviziju HTML-a kako bi postigao neovisnost o operativnom sistemu kroz softver 
za kompajliranje, danas poznat kao Browser. U samo nekoliko mjeseci browseri 
prve generacije po

č

eli su podržavati ovaj standard, me

đ

utim stvari nisu bile tako 

jednostavne. Gotovo svaki od browsera imao je svoju specifi

č

nu verziju HTML-a, 

a samo nekolicina njih je bila me

đ

usobno kompatibilna. Godinama su razne grupe 

za standarde pokušavale unificirati ovaj jezik i napraviti ga industrijskim 
standardom, ali ti pokušaji nisu urodili plodom sve do pojave HTML-a 2.0. 

HTML+ 

U 1993. godini, dok je borba za standarizaciju  HTML-a uveliko trajala, pojavila se 
inicijativa za nadogradnju jezika za verziju HTML+. Na žalost, ova verzija nikada 
nije priznata, iako je nudila ve

ć

u fleksibilnost od HTML-a 2.0 koji je kasnije 

postao standard. Me

đ

utim, važno je pomenuti HTML+ iz razloga što je on imao 

uticaja na razvoj sljede

ć

ih verzija HTML-a. 

HTML 2.0 

Ovo je prva verzija ovog jezika koja je postala standardom. Ugledala je svjetlo 
dana 1995. godine, dakle trebalo je 

č

etiri godine i nekoliko neuspjelih pokušaja da 

bi se došlo do standarda za HTML jezik. Ubrzo nakon objavljivanja specifikacija 
HTML-a 2.0 pojavila su se dva  browsera koja danas zauzimaju najve

ć

i udio tržišta 

– Netscape Navigator 2.0 i Microsoft Internet Explorer 2.0. Oba su potpuno 
podržali specifikacije HTML-a 2.0, a treba napomenuti kako je to prva verzija 
ovog jezika koja je imala podršku za upotrebu slika i formi u web dokumentima. 

HTML 3.0 

Ubrzo nakon eksplozije weba i Interneta uopšte, što je i donijelo HTML-u 2.0 
veliku popularnost, web developeri, odnosno dizajneri web stranica, po

č

eli su 

primje

ć

ivati nedostatak fleksibilnosti  tadašnje verzije HTML-a. Kao rezultat toga, 

zapo

č

et je razvoj nasljednika HTML-a 2.0. Dosta toga uzeto je iz nikada priznatog 

HTML+ jezika,  a najve

ć

e novosti su podrška za tabele, više mogu

ć

nosti 

formatiranja teksta, ve

ć

a fleksibilnost u formatiranju izgleda stranica... Me

đ

utim, 

Programiranje za Internet 

 

18 

poput svoga prethodnika – HTML+ jezika, i HTML 3.0 je prošao poprili

č

no loše 

na tržištu. Promjene u odnosu na HTML 2.0 su bile ogromne i zahtijevale su velike 
prilagodbe browsera. Ali, kompanije koje su pravile browsere odlu

č

ile su  kako im 

je to prevelik i neisplativ poduhvat, tako da HTML 3.0 nikada nije u potpunosti bio 
podržan u njihovim proizvodima. 

HTML 3.2 

U želji da zaobi

đ

u nedostatke HTML-a 2.0 neki browseri su po

č

eli da koriste svoje 

specifi

č

ne tagove kako bi postigli ve

ć

u fleksibilnost jezika. Na žalost, ovo je 

dovelo u pitanje originalnu ideju iza HTML jezika - univerzalnog jezika za 
publiciranje dokumenata na webu. Zato je W3 Consortium pokrenuo inicijativu za 
razvijanje nove verzije HTML-a Rezultat je bio verzija 3.2 koja je sadržavala 
HTML 2.0, HTML 3,0, kao i neke specifi

č

ne tagove koje su browseri po

č

eli 

koristiti. U maju 1996. godine objavljene su specifikacije nove verzije, a svi veliki 
browseri su ih u potpunosti podržavali. Istina, u finalnoj verziji HTML 3.2 
nedostajale su neke mogu

ć

nosti poput style sheetsa, napredne matemati

č

ke 

funkcije, okviri, kao i intemacionalizacija jezika. 

HTML 4.0 

HTLM 4.0 je kona

č

no postao standardom u decembru 1997. godine i samo je 

djelimi

č

no bio podržan u browserima te generacije - Netscape Navigatoru 4.0 i 

Microsoft Internet Exploreru 4.0. Do tada se razvoj HTML odvijao uvijek tako da 
proširenja jezika odgovaraju browserima na tržištu, ali to se promijenilo u HTML-u 
4.0 koji predstavlja prvi pokušaj da se ovaj jezik zaista proširi i postane fleksibilan 
i prilagodljiv. Uvo

đ

enje taga OBJECT omogu

ć

ilo je ubacivanje koda skripti 

direktno u HTML dokumente, uvedene su Cascading Style Sheets (CSS) i mnoge 
druge stvari koje su nedostajale u HTML-u 3.2. Sada je granica u razvoju web 
stranica bila samo mašta web dizajnera i ništa više. 

Dynamic HTML (DHTML)? 

DHTML nije nova verzija, odnosno revizija HTML jezika. Nije niti neka 
specifi

č

na tehnologija, kao što su na primjer ActiveX ili CSS. DHTML kombinira 

mnoge tehnologije kao što su CSS, JavaScript, VBScript, Document Object Model, 
ActiveX zajedno sa HTML-om kako bi stvorio dinami

č

ne web stranice. 

Jednostavno re

č

eno, DHTML je HTML koji se može mijenjati 

č

ak i nakon što je 

stranica downloadovana i prikazana u browseru. Kada pre

đ

ete mišem preko neke 

slike, ona se promijeni u drugu sliku, ili kada pre

đ

ete  preko nekog paragrafa, 

njegova se boja promijeni... Ili, otvorite stranicu, a naslov doleti s desne strane i 
smjesti se u vrh stranice. Sve što se može uraditi sa HTML-om može pomo

ć

DHTML-a biti promijenjeno i nakon što je stranica downloadirana u browser. 
HTML je ono što mijenjate, DOM (Document Object Model) je ono što ga 

č

ini 

promjenljivim, a client-side scripting (VBScript i JavaScript) je ono što ga mijenja. 
I upravo to je Dynamic HTML. 

 

background image

Programiranje za Internet 

 

20 

4. HTML 

Web server je mehanizam namijenjen distribuiranju dokumenata kroz Internet. 
Iako 

ć

e drage volje prebacivati po Mreži bilo koje tipove dokumenata, najvažniju 

klasu predstavljaju oni koji su sastavljeni u jeziku HTML. Radi se o "maternjem 
jeziku" Weba kojim se odre

đ

uje formacija, sadržaj i funkcija nekog 

hipetekstualnog dokumenta. Njime se kombinira nekoliko važnih elemenata: 
namijenjen je kontroliranju na

č

ina na koji 

ć

e pretraživa

č

ki programi prikazati 

dokument, kreiranju hipertekstualnih veza izme

đ

u razli

č

itih mjesta u dokumentu, 

kreiranju hiperveza izme

đ

u razli

č

itih dokumenata, te kreiranju hiperveza s drugim 

servisima na Internetu. HTML vam tako

đ

er omogu

ć

ava da u dokumente ubacujete 

grafiku, zvuk i druge multimedijalne zapise. Kako su HTML dokumenti mjesta na 
kojima je ve

ć

ina pravih podataka doista pohranjena, dobar dio kreiranja jednog 

cjelovitog Web servera sastoji se od njihovog pisanja.  

Stranica na World Wide Webu sastoji se od skupa datoteka pohranjenih negdje na 
disku nekog ra

č

unara na kojem je instaliran Web server, odnosno rje

đ

e, FTP 

server. Ta

č

na lokacija tih datoteka odre

đ

ena je URL adresom. Web stranica se u 

ve

ć

ini slu

č

ajeva sastoji od teksta i slike, s time da se sav tekst i svaka pojedina 

slika nalaze u zasebnoj datoteci. Slikama se uvijek pristupa pomo

ć

u imena datoteke 

u kojima su pohranjene, pa se tako jedna te ista slika može koristiti više puta unutar 
jedne ili više razli

č

itih stranica. Svim drugim multimedijalnim elementima pristupa 

se kroz pomo

ć

ne aplikacije koje pokre

ć

e pretraživa

č

ki program kada korisnik 

klikne na odgovaraju

ć

u hipertekstualnu vezu.  

Oblikovanje Web stranica u mnogim se pogledima razlikuje od tradicionalnog 
stolnog izdavaštva. Najve

ć

a je razlika u tome što sada kreirate stranicu koja nije 

ograni

č

ena svojim ta

č

nim formatom. Korisnikov pretraživa

č

ki program 

ć

automatski prelomiti re

č

enice teksta u zasebne retke, ovisno o širini prozora, te 

ć

mu omogu

ć

iti da se še

ć

e gore-dolje po stranici. U stolnom izdavaštvu potrebno je 

ta

č

no odrediti tipove pisma i stilove, podesiti razne veli

č

ine, te ta

č

no zadati 

poziciju svakog pojedinog elementa na stranici. Autori Web stranice ne moraju se 
zamarati s takvim preciznim podešavanjima, jer se za kona

č

an izgled stranice ne 

brinu oni, ve

ć

 korisnikov pretraživa

č

ki program.  

Kada kreirate Web stranicu, vi zapravo u tekst koji 

ć

e se prikazati ubacujete HTML 

naredbe kojima opisujete kako biste htjeli da izgleda svaki pojedini element u 
dokumentu. Tim postupkom se koristite nekom apstraktnom vrstom programiranja, 
budu

ć

i da na neki na

č

in kreirate pravu malu multimedijalnu aplikaciju. Razlika 

izme

đ

u izrade HTML dokumenta i programiranja je u tome što 

ć

e se krajnji 

rezultat mo

ć

i koristiti neovisno o hardverskoj platformi i operativnom sistemu, a 

korisnik ga ne

ć

e mo

ć

i upotrebljavati za obradu nekih svojih podataka. Ipak, koliko 

god da se oblikovanje Web stranica razlikuje i od stolnog izdavaštva i od 
programiranja, ono obuhva

ć

a elemente obiju ovih radnji. Ako se uzmu u obzir i 

č

injenice da je za upotrebu naprednih mogu

ć

nosti HTML-a kakve su obrada 

obrazaca i ugradnja Java aplikacija potrebno u

ć

i u programerske vode, te da morate 

Programiranje za Internet 

 

21 

kreirati grafi

č

ki vrlo privla

č

nu stranicu ako se želite pred korisnicima istaknuti 

me

đ

u milionima drugih Web stranica koje ve

ć

 postoje na Internetu, dolazi se do 

zaklju

č

ka da pravi autor HTML dokumenata mora biti i dobar dizajner i dobar 

programer.  

 

4.1. Struktura stranice 

Datoteka koja se sastoji od teksta oboga

ć

enog HTML naredbama op

ć

enito se 

naziva HTML dokumentom. Svaki HTML dokument zapo

č

inje naredbom 

<HTML>, a završava s </HTML>. On se sastoji od dva dijela; zaglavlja koje je 
obuhva

ć

eno naredbama <HEAD> i </HEAD>, te tijela koje se nalazi unutar 

oznaka <BODY> i </BODY>. Zaglavlje sadrži neke osnovne informacije o 
dokumentu, dok se tijelo sastoji od teksta i naredbi kojima se taj tekst oblikuje. 
Najjednostavnija informacija koju možemo smjestiti unutar zaglavlja je naslov 
naše Web stranice, a to se 

č

ini upotrebom naredbe <TITLE>. Da bi vam sve ovo 

bilo jasnije, pogledajte sljede

ć

i primjer minimalnog HTML dokumenta: 

<HTML> 

<HEAD> 

 

<TITLE>mala Web strani

č

ica</TITLE> 

</HEAD> 

<BODY> 

Ovdje se nalazi tekst koji želite prikazati na Webu, 

zajedno s HTML oznakama koje ga formatiraju, te s 

kojima se pozivaju slike i neki drugi elementi. 

</BODY> 

</HTML> 

Važno je razumjeti da upravo naredbe <BODY> razdvajaju dokument u dvije 
cjeline, a ne reci ili razmaci koje smo ostavili praznima izme

đ

u redaka. Da uop

ć

nismo koristili tipku Enter u prethodnom primjeru, tj. da smo cijeli ovaj dokument 
napisali kao jednu duga

č

ku liniju teksta, on bi još uvijek generirao Web stranicu 

koja izgleda potpuno jednako. Naš HTML dokument, prema tome, bit 

ć

e potpuno 

druga

č

ije formatiran kada ga gledamo s editorom teksta, a druga

č

ije kad se gleda s 

pretraživa

č

kim programom. Sli

č

no tome, svi dodatni razmaci izme

đ

u rije

č

i, 

odlomaka ili znakova, svi dodatni Enteri koje 

ć

ete nabaciti tek tako da HTML kod 

bude što duži i svi tabulatori, u pretraživa

č

kom programu 

ć

e se jednostavno 

zanemariti, što zna

č

i da 

ć

e biti zamijenjeni jednim jedinim razmakom. Stoga 

slobodno upotrebljavajte te elemente prilikom ure

đ

ivanja HTML dokumenta kako 

biste ga u

č

inili 

č

itljivijim za daljnju upotrebu ili za neke kasnije ispravke. 

U primjeru smo kao jedini element zaglavlja naveli naslov dokumenta. Kod ve

ć

ine 

Web stranica to je jedna stvar koju ljudi redovno stavljaju u zaglavlje, premda se 

background image

Programiranje za Internet 

 

23 

Tabela 3. Upotreba posebnih znakova unutar teksta 

Simbol HTML 

oznaka Zna

č

enje 

& &amp;  ampersand 
< &ltM  manje 

od 

> &gt; 

ve

ć

e od 

® &reg;  registrirana 

oznaka 

© &copy;  copyright-autorsko 

pravo 

á 

&aacute; 

malo a s desnom kosom crticom 

à 

&agrave; 

malo a s lijevom kosom crticom 

â 

&acirc; 

malo a s obrnutom kva

č

icom 

ä 

&auml; 

malo a s preglasom (dvije to

č

kice) 

å 

&arubg; 

malo a s kruži

ć

em 

ç 

&ccedil; 

malo c s kukicom, francusko slovo 

ñ 

&ntilde; 

malo n s tildom 

ø 

&oslash; 

malo o prekriženo kosom crtom 

β

 

&szling njema

č

ko slovo oštro s 

æ 

&aeling; 

posebna oznaka za izgovor 

 &nbsp; neizbrisivi 

razmak 

 

4.3. Sintaksa naredbi 

HTML naredbe mogu biti pune ili prazne. Pune naredbe odnose se na tekst koji je 
njima obuhva

ć

en, a sastoje se od po

č

etne i završne oznake. Po

č

etna oznaka 

zapo

č

inje simbolom < (manje od), iza 

č

ega se navodi sama naredba te eventualno 

neki dodatni argumenti. Kraj po

č

etne oznake prepoznaje se po simbolu > (ve

ć

e od). 

Završna oznaka razlikuje se od po

č

etne po tome što ne smije posjedovati nikakve 

dodatne argumente, ali zato izme

đ

u simbola < i naredbe uvijek mora sadržavati 

kosu crtu (/). Primjer pune naredbe bio bi: 

<A HREF="piramida.html">Saznajte sve o piramidi</A> 

U ovom primjeru po

č

etna oznaka je <A HREF="piramida.html">, a završna </A>. 

Primje

ć

ujete da po

č

etna oznaka sadrži i jedan argument. Za razliku od punih 

naredbi kojima se obuhva

ć

ao odre

đ

eni dio teksta, prazne nam služe kako bismo 

nešto mogli ubaciti unutar teksta, poput slike, vodoravne linije ili oznake za novi 
redak. Prazne naredbe ne dolaze u parovima, pa tako kod njih postoji samo po

č

etna 

oznaka, a ne i završna koja bi sadržavala kosu crtu. Slijedi nekoliko primjera 
praznih naredbi. 

<BR> Kraj retka;  

nadolaze

ć

i tekst bit 

ć

e ispisan u novom retku. 

<HR> Vodoravna linija koja se iscrtava duž stranice. 

Kao i kod punih, tako se i kod praznih naredbi mogu koristiti argumenti kojima se 
odre

đ

uju neke konkretne vrijednosti. Sljede

ć

i primjer prikazuje naredbu IMG 

Programiranje za Internet 

 

24 

kojom se unutar teksta ubacuje slika. Ta naredba uvijek dolazi s argumentom SRC 
kojem se dodjeljuje ime datoteke koja sadrži željenu sliku. 

<IMG SRC="piramida.gif!> Slika piramide. 

Argumenti se zapisuju u obliku varijabla=vrijednost, gdje vrijednost mora 
odgovarati tipu varijable. Ako se, kao u našem primjeru, varijabli dodjeljuje neka 
tekstualna oznaka poput imena neke datoteke, onda te vrijednost mora biti 
obuhva

ć

ena navodnim znacima, dok se oni kod numeri

č

kih veli

č

ina izostavljaju. 

Katkada se argumentima ne dodjeljuju nikakve vrijednosti ukoliko oni 
predstavljaju neku logi

č

ku vrijednost. Tako je, naprimjer svejedno ho

ć

ete li kao 

argument navesti BORDER="yes" ili samo BORDER. Ako vaša naredba sadrži 
više od jednog argumenta, onda se oni odvajaju razmacima, a ne zarezom kao što 
je to obi

č

aj kod ve

ć

ine programskih jezika. 

Kod primjera za punu oznaku upotrijebili smo naredbu A koja se koristi za 
definiranje hipertekstualnih veza. Izraz "Saznajte sve o piramidi" u pretraživa

č

kom 

programu bi se kod tog primjera prikazao druga

č

ije od ostalog teksta, naj

č

ć

ozna

č

en plavom bojom i podcrtan, kako bi se korisniku dalo do znanja da 

ć

e se 

klikom na njega u

č

itati nova stranica. U ovom slu

č

aju radi se o stranici koja je 

sadržana u dokumentu piramida.html, koji smo dodijelili kao vrijednost argumentu 
HREF (Hypertext REFerence). U nastavku je dan primjer koji ilustrira upotrebu 
svih dosad spomenutih sintakti

č

kih pravila, te upotrebu obiju vrsta HTML naredbi i 

oznaka za posebne znakove. 

<HTML> 

<HEAD> 

     <TITLE>Jednostavan HTML primjer </TITLE> 

</HEAD> 

<BODY> 

<H1>Ovo je naslov prve razine </H1> 

Dok nam naredba <STRONG>TITLE</STRONG> koristi za 

definiranje naslova dokumenta koji 

ć

e se pojaviti na 

rubu prozora pretraživa

č

kog programa, naslovi prve 

razine pojavljuju se unutar same Web stranice i mogu se 

upotrijebiti više puta u istom dokumentu. <P> Ovo je 

drugi odlomak teksta pomo

ć

u kojega se upoznajemo s 

praznom naredbom koja odvaja odlomke. U prvom smo 

odlomku upotrijebili punu naredbu &1t;STRONG&gtM kako 

bismo podebljali dio teksta. 

</BODY> 

</HTML> 

Slika 3 prikazuje kako ovaj primjer izgleda kada se u

č

ita u Internet Explorer. 

Uo

č

ite odmah da se naslov "Jednostavan HTML primjer" pojavljuje u gornjem 

background image

Programiranje za Internet 

 

26 

ispred znaka >, premda ne postoji neki razuman razlog zašto biste ih uop

ć

e koristili 

bilo gdje. String: 

< H1 >Tu nešto ne valja!< /H1 > 

ne

ć

e biti prikazan kao naslov. Simboli < i > bit 

ć

e ignorirani zajedno sa sadržajem 

koji se nalazi izme

đ

u njih, a prikazat 

ć

e se samo re

č

enica "Tu nešto ne valja!" i to 

kao obi

č

an tekst. Pretraživa

č

ki programi su vrlo tolerantni prema pogreškama i 

ve

ć

inu 

ć

e ih jednostavno ignorirati, ne javljaju

ć

i korisniku ništa. Zbog toga je 

važno da poštujete sintaksu jezika HTML jer za njega ne postoji kompajler koji bi 
vas kao autora obavijestio o u

č

injenim sintakti

č

kim pogreškama. 

HTML naredbe mogu se ugnjež

đ

ivati, tj. koristiti jedna unutar druge, pa 

ć

ete tako 

mo

ć

i koristiti hipertekstualne veze u listama ili kosi tekst unutar podebljanog. Neke 

se naredbe, me

đ

utim, ne smiju kombinirati kao, na primjer, hipertekstualne veze 

unutar drugih hipertekstualnih veza. Postoje i situacije kada je dozvoljeno 
kombiniranje, ali ga pretraživa

č

ki programi ignoriraju. To se, naprimjer, doga

đ

kod upotrebe naredbi za tekstualne stilove unutar naslova. 

Unutar HTML dokumenta možete koristiti i komentare kako biste svoj rad u

č

inili 

što preglednijim, kao i kod drugih programskih jezika. Svaki pretraživa

č

ki program 

ć

e u potpunosti ignorirati komentare, što zna

č

i da unutar komentara smijete 

upisivati 

č

ak i HTML naredbe te posebne znakove. To, me

đ

utim, nije preporu

č

ljivo 

budu

ć

i da postoje starije verzije nekih pretraživa

č

a koje ne prepoznaju oznake za 

komentare. Komentari se moraju smjestiti unutar oznaka <!-- i -->, a ne smiju se 
ugnjež

đ

ivati. Postoji nepisano pravilo da se svaki pojedini redak komentara 

obuhva

ć

a ovim oznakama, kako bi HTML dokument bio što pregledniji. 

 

4.4. SSI 

Ako se vaše stranice nalaze na ra

č

unaru na kojem je instaliran Web server koji 

podržava SSI, mo

ć

ć

ete iskoristiti SSI (Server-Side Includes) tehnologiju kako 

biste dotjerali svoje HTML dokumente bez potrebe za izradom tzv. CGI skripte. 
SSI vam omogu

ć

ava da na jednostavan na

č

in unutar stranice ugradite korisne stvari 

poput trenutnog vremena, datuma ili veli

č

ine dokumenta. Tako

đ

er 

ć

ete mo

ć

ubacivati druge dokumente u sadržaj trenutnih HTML dokumenata, što je korisno 
kod nekih uobi

č

ajenih tekstova poput poruke o zaštiti autorskih prava ili adrese 

vaše tvrtke. 

Kada je Web server konfiguriran tako da radi s SSI tehnologijom, on prepoznaje 
poseban tip HTML dokumenata 

č

iji je MIME tip nazvan 

Text/x-server-parsed-html. 

Ti dokumenti posjeduju ekstenziju .shtml, osim ako server nije konfiguriran 
druga

č

ije. Kada se serveru pošalje zahtjev za jednim takvim dokumentom, on 

ć

e ga 

otvoriti, te 

ć

e potražiti sadrži li ugra

đ

ene posebno ozna

č

ene komentare. Ti 

komentari sastavljeni su sljede

ć

om sintaksom: 

Programiranje za Internet 

 

27 

<!-- #naredba paraml="vrijednost1" 

param2="vrijednost"...--> 

Naredbe govore serveru što želite napraviti (ispred njih se obavezno piše znak #), 
dok jedan ili više parametara daju dodatne podatke. Postoji šest razli

č

itih naredbi: 

echo, include, fsize, flastmod, exec i config, a u nastavku je opisano kako se svaka 
pojedina koristi. 

Naredba echo zahtijeva od servera da unutar HTML dokumenta ispiše vrijednost 
neke globalne varijable koja se koristi na serverskom ra

č

unaru. Postoje 

č

etiri 

varijable koje možete koristiti. Prva je DOCUMENT_NAME, a namijenjena je 
ispisivanju datote

č

nog imena trenutnog dokumenta, druga je DATE_LOCAL, a 

koristi se za ispisivanje lokalnog vremena i datuma; vrijeme po Greenwichu 
ispisuje se varijablom DATE_GMT, a varijablom LAST_MODIFIED može se 
ispisati datum zadnje izmjene trenutnog dokumenta. Evo i primjera: 

<!-- #echo var="DATE_LOCAL"--> 

Naredbom include može se u sadržaj trenutnog dokumenta ugraditi sadržaj nekog 
drugog HTML dokumenta. S ovom se naredbom mogu koristiti parametri virtual i 
file, ovisno o tome navodi li se URL adresa drugog dokumenta relativno u odnosu 
na trenutni direktorij, odnosno relativno u odnosu na korijenski direktorij ra

č

unara 

s Web serverom. Na mjestu gdje u trenutnom dokumentu želite uvrstiti sadržaj 
drugog dokumenta, upišite ovakvu naredbu: 

<!-- #include file="/eurosong/lordi.html"--> 

Naredbama fsize i flastmod može se unutar Web stranice ispisati veli

č

ina, odnosno 

datum zadnje promjene bilo koje datoteke koja se nalazi na vašem Web serveru. 
Kao i kod naredbe include, mo

ć

ć

ete upotrijebiti parametre virtual i file, kao u 

sljede

ć

em primjeru: 

<!-- #fsize file="/eurosong/lordi.html"--> 

Pomo

ć

u naredbe exec omogu

ć

eno je izvršavanje bilo kojih programa na Web 

serveru 

č

iji se ispis preusmjerava u trenutni dokument. Radi se o potencijalno 

opasnoj opciji, pa je mnogi administratori onemogu

ć

avaju. Ovisno o tome želite li 

izvršiti neki program koji predstavlja sastavni dio UNIX ljuske sistema na kom 
radite ili neka CGI skripta, upotrijebit 

ć

ete parametre cmd ili cgi. U nastavku je dan 

primjer pomo

ć

u kojeg možete unutar HTML dokumenta upotrijebiti naredbu 

finger, podržanu na svim UNIX sistemima: 

<!-- #exec cmd="/usr/bin/finger slemes"--> 

Posljednja naredba, config, koristi se kako bi se odredilo ponašanje servera u 
slu

č

aju da do

đ

e do greške prilikom korištenja drugih naredbi SSI tehnologije, te 

kako bi se odredio na

č

in obavještavanja korisnika Web stranice o pogreški. 

Parametrom errmsg navodi se tekst koji 

ć

e se ispisati u dokumentu u slu

č

aju 

pogreške, kao što je navedeno u primjeru: 

<!-- #config errmsg=!došlo je do SSI pogreške..."--> 

background image

Programiranje za Internet 

 

29 

<HTML> 

<HEAD> 

     <TITLE>Razine naslova</TITLE> 

<HEAD> 

<BODY> 

<H1<Naslov prve razine – najve

ć

a slova </H1> 

 

Ovo je prvi odlomak teksta koji se mora odvajati  

 posebnom 

naredbom. 

 

<H2>Naslov druge razine – velika slova</H2> 

 

Ovo je drugi odlomak teksta. 

 <H3>Naslov 

tre

ć

e razine – mala slova </H3> 

 

Ovo je drugi odlomak teksta. 

<H4>Naslov 

č

etvrte razine – mala slova </H4> 

Č

etvrti odlomak teksta ispisan je slovima gotovo 

iste veli

č

ine kao i naslov 

č

etvrte razine. 

 

<H5>Naslov pete razine – mala slova </H5> 

Peti odlomak teksta vidi se bolje od naslova pete 

razine. 

      Kakve su ovo buhice gore? 

</BODY> 

</HTML> 

Na slici 4 možete vidjeti kako ovaj primjer izgleda nakon u

č

itavanja u 

pretraživa

č

ki program. 

Naslovi se uvijek pojavljuju ispisani uz lijevi rub Web stranice. Upotrebom 
argumenta ALIGN uz naredbe za kreiranje naslova, oni se mogu centrirati uz 
sredinu stranice 

č

ime se postižu bolji vizualni efekti. Da bismo to postigli, 

argumentu ALIGN moramo dodijeliti vrijednost CENTER. Slika 5 prikazuje kako 
naš sljede

ć

i primjer u kojem je prikazana upotreba ovog argumenta izgleda nakon 

prikazivanja u pretraživa

č

u. 

<H3 ALIGN=CENTER>Ova knjiga </H3> 

<H5 ALIGN=CENTER>predstavlja</H5> 

<H1 ALIGN=CENTER>Centrirani naslov prve razine!</H1> 

<H5 ALIGN=CENTER>Slika: 11-3</H5> 

Kao ni imena HTML naredbi, tako ni njihovi argumenti ne prepoznaju razliku 
izme

đ

u velikih i malih slova, pa je sasvim svejedno kako 

ć

ete ih dopisivati uz 

naredbe. Me

đ

utim, radi što bolje preglednosti dokumenta dobro je sve naredbe i 

Programiranje za Internet 

 

30 

argumente s dodijeljenim im vrijednostima pisati u potpunosti velikim slovima. 
Neki autori preferiraju pisanje argumenata velikim slovima, a njihovih vrijednosti 
malim, što je tako

đ

er dobro i uredno. Na vama je da odlu

č

ite koji 

ć

ete oblik 

zapisivanja koristiti kod svojih dokumenata. Važno je samo da se svoje odluke u 
svakom trenutku pridržavate. 

 

Slika 4. Šest razina naslova 

 

Slika 5. Centrirani naslovi 

 

background image

Programiranje za Internet 

 

32 

4.5.4. Novi redak 

Kada samo želite da se tekst prebaci u novi redak, bez dodatnog razmaka koji bi 
korisniku nagovještavao novi odlomak,  upotrijebite naredbu <BR>. Ta naredba je 
prazna, tj. ne dolazi sa završnom oznakom, pa je jednostavno ubacujte svugdje gdje 
biste kod pisanja teksta u nekom editoru ina

č

e pritisnuli Enter. Ova se naredba 

naj

č

ć

e upotrebljava kod duga

č

kih naslova koji se moraju prelomiti u više redaka, 

ali i u mnogim drugim sli

č

nim situacijama. U programima za izradu Web stranica 

ta se oznaka dobija i kombinacijom Shift+Enter. 

 

4.5.5. Vodoravne linije 

Izme

đ

u ve

ć

ih tematskih cjelina na jednoj stranici koje se sastoje od nekoliko 

odlomaka teksta, mo

ć

ć

ete ubaciti vodoravnu liniju pomo

ć

u naredbe <HR>. Time 

ć

ete automatski stvoriti i razmak izme

đ

u dva odlomka, pa ispred i iza ove naredbe 

ne morate upotrebljavati oznaku <P>. Pretraživa

č

ki program 

ć

e dužinu linije 

prilagoditi širini prozora unutar kojeg je prikazana stranica, a mo

ć

ć

ete sami 

odre

đ

ivati dužinu linije zahvaljuju

ć

i proširenjima koja je uvela tvrtka Netscape. 

Najkorisnije proširenje ove naredbe koristi se upravo za reguliranje dužine 
vodoravne linije upotrebom argumenta WIDTH kojemu valja dodijeliti željenu 
dužinu u postocima. Ako, naprimjer, želite da vaša linija bude široka ta

č

no za 

polovicu prozora, argumentu WIDTH dodijelit 

ć

ete vrijednost 50%. Sli

č

no, 

pomo

ć

u argumenta SIZE može se odrediti i visina linije, što je posebno korisno 

kod centriranja linija koje se kre

ć

u od cijele širine prozora. Naredbom: 

<HR SIZE=5 WIDTH=75% ALIGN=CENTER> 

dobiva se centrirana vodoravna linija visine 5 piksela i širine tri 

č

etvrtine prozora 

pretraživa

č

kog programa. Ukoliko pogledate sliku 6, primijetit 

ć

ete da linije 

posjeduju i sjenu, 

č

ime se postiže lagani efekt trodimenzionalnosti. Ukoliko želite 

izbje

ć

i taj efekt i liniju u

č

initi potpuno crnom, naredbi <HR> dodajte još i 

argument NOSHADE kojem se ne dodjeljuje nikakva vrijednost. Sljede

ć

i primjer 

prikazuje upotrebu vodoravnih linija, te naredbi za razdvajanje odlomaka i prelaska 
teksta u novi redak. 

<HTML> 

<HEAD> 

 <TITLE>Pjesmica</TITLE> 

</HEAD> 

<BODY> 

<H1>Jedna super knjiga</H1> 

<HR SIZE=4> 

Ima tome dosta, al' pamtim još uvijek, <BR> 

Programiranje za Internet 

 

33 

Mislio sam, mom neznanju ne postoji lijek. <BR> 

Sje

ć

anje na stare dane k'o struja me strese, <BR> 

Razlikovao tad nisam CD-ROM od Web adrese. 

<P> 

Nekad nisam znao ni modem uklju

č

it' <BR> 

Mislio sam da to ne

ć

u nikada nau

č

it'. <BR> 

<HR SIZE=4> 

</BODY> 

</HTML> 

Slika 6 prikazuje ovaj primjer nakon u

č

itavanja u pretraživa

č

ki program. 

 

Slika 6. Odlomci i vodoravne linije 

 

4.5.6. Citati 

Č

esto 

ć

ete dio stranice htjeti posebno istaknuti kako biste korisniku dali do znanja 

da se radi o materijalu citiranom iz nekog drugog dokumenta. Kada želite jedan ili 
više odlomaka ozna

č

iti kao citate, obuhvatit 

ć

ete ih oznakama <BLOCKQUOTE> i 

</BLOCKQUOTE>. Tekst na koji se odnosi ova naredba ve

ć

ina 

ć

e pretraživa

č

kih 

programa prikazati uve

ć

ano od lijeve margine, a katkada i kosim slovima. 

U slu

č

aju da citirate više odlomaka teksta, upotrijebite naredbu <BLOCKQUOTE> 

samo jednom, a odlomak razdvojite naredbom <P>. To je puno bolje rješenje od 
višestruke upotrebe naredbe <BLOCKQUOTE>, jer se time izbjegava mogu

ć

background image

Programiranje za Internet 

 

35 

<NOTE ROLE=TIP> 

Uvijek je korisno u džepu imati desetak KM viška. 

</NOTE> 

<HR> 

Ako pri ruci nemate višak novca, uvijek se možete 

poslužiti i sitnim 

<A HREF= #pokloni">poklonima</A>, koja 

č

ovjeka vesele. 

<P> 

<FN ID="pokloni"> 

Ru

č

ni satovi, walkmani, CD-ROMovi, foto-aparati, SIMM 

moduli, te ostala sitna tehnika. 

</FN> 

</BODY> 

</HTML> 

 

4.5.9. Neproporcionalno pismo 

Neproporcionalna pisma razlikuju se od obi

č

nih po tome što je svako slovo 

jednako široko. Obi

č

na pisma još se nazivaju i proporcionalnim, a najjednostavniji 

primjer bio bi tekst koji upravo 

č

itate. Neproporcionalnim pismom je, naprimjer, 

ispisan prethodni primjer. Kako je osnovno pismo kojim se ispisuje tekst na Web 
stranicama proporcionalno, postoji naredba kojom možete cijeli odlomak ozna

č

iti 

kao tekst koji se treba ispisivati neproporcionalnim pismom. Radi se o paru oznaka 
<PRE> i </PRE>, a valja napomenuti da 

ć

e svi razmaci i prelasci teksta u novi 

redak koji se nalaze izme

đ

u ovih oznaka biti zapam

ć

eni i identi

č

no prikazani u 

svakom pretraživa

č

kom programu. Tako

đ

er je važno napomenuti da se unutar 

naredbe za neproporcionalno pismo smiju koristiti samo one HTML naredbe koje 
su namijenjene promjeni stila unutar re

č

enice, te naredbe za stvaranje 

hipertekstualne veze i ugradnju slika. Sljede

ć

im primjerom prikazana je upotreba 

naredbe <PRE>. 

<HTML> 

<HEAD> 

<TITLE>Neproporcionalno pismo</TITLE> 

</HEAD> 

<BODY> 

<H1>Glavolomka</H1> 

<PRE> 

Programiranje za Internet 

 

36 

                      |   / 

Evo kako možete       o o o 

spojiti svih devet    |  x 

kuglica pomo

ć

u samo   o o o 

č

etiri ravne crte:    |/    

                      o-o-o- 

</PRE> 

</BODY> 

</HTML> 

Na slici 7 možete pogledati kako ovaj primjer izgleda nakon u

č

itavanja u 

pretraživa

č

ki program. 

 

Slika 7. Neproporcionalno pismo 

Naredbi za neproporcionalno pismo može se dodati i argument WIDTH kojim se 
odre

đ

uje najve

ć

a mogu

ć

a dužina jednog retka teksta na koji se naredba odnosi. 

Dužina retka se navodi kroz broj slova, a ovisno o navedenoj vrijednosti 
pretraživa

č

ki program 

ć

e prilagoditi veli

č

inu neproporcionalnog pisma. Vrijednosti 

40, 80 i 132 u pravilu daju najbolje rezultate. Evo i kratkog primjera kojim se 
prikazuje upotreba ovog argumenta: 

<PRE WIDTH=80>Neproporcionalnost je izmislila Vlatka 

Pokos</PRE> 

 

4.5.10. Liste 

Lista je strukturirani odlomak koji sadrži niz odre

đ

enih elemenata. U jeziku HTML 

postoje tri vrste lista: pobrojane, nepobrojane i definitne liste. Kod pobrojanih lista 

background image

Programiranje za Internet 

 

38 

</BODY> 

</HTML> 

Slika 8 prikazuje ovaj primjer u pretraživa

č

kom programu. 

 

Slika 8. Pobrojana i nepobrojana lista 

Uvla

č

enja pojedinih redaka u prethodnom primjeru korištena su samo zato da bi 

HTML kod bio što 

č

itljiviji i uredniji; to niti u najmanjoj mjeri ne utje

č

e na na

č

in 

na koji 

ć

e pretraživa

č

ki program formatirati tekst. Uo

č

ite da se nepobrojana lista 

nalazi izme

đ

u dva elementa pobrojane liste, a ne unutar nekog od elemenata. 

Drugim rije

č

ima, bilo bi neispravno napisati nešto poput: 

<LI> 

<UL> 

<LI>Sintaksa</LI> 

<LI>Formatiranje</LI> 

</UL> 

</LI> 

Po standardu HTML 2, oznaka <LI> ne dolazi u paru sa završnom oznakom </LI>, 
pa 

ć

ete na Webu prona

ć

i još mnoštvo dokumenata kojima krajevi elemenata unutar 

lista uop

ć

e nisu ozna

č

eni. To je sasvim u redu i ne predstavlja nikakvu pogrešku.  

I pobrojanim i nepobrojanim listama može se dopisati argument COMPACT kojim 
se smanjuje prazan prostor izme

đ

u pojedinih elemenata u listi, te argument PLAIN 

koji pretraživa

č

kom programu govori da se elementi ne smiju ozna

č

avati niti 

rednim brojevima, niti kruži

ć

ima niti bilo kako druga

č

ije.  

Programiranje za Internet 

 

39 

Za standard HTML 3 predloženo je uvrštavanje i naredbe <LH></LH> koja bi se 
koristila za navo

đ

enje naslova liste, no rijetko koji pretraživa

č

ki program podržava 

ovu mogu

ć

nost, budu

ć

i da se isti efekt može posti

ć

i i uobi

č

ajenim naredbama za 

izradu naslova. 

Tvrtka Netscape ve

ć

 je odavno za svoj Netscape pripremila argument START 

pomo

ć

u kojega kod pobrojane liste možete navesti broj s kojim 

ć

e biti ozna

č

en prvi 

element liste, druga

č

iji od jedinice. Prema prijedlogu standarda HTML 3, isti se 

efekt može posti

ć

i i argumentom SEQNUM. Ukoliko vam je potrebna ova 

mogu

ć

nost jezika HTML, svakako se poslužite Netscapeovim argumentom, jer ga 

ve

ć

 sada podržava gotovo svaki pretraživa

č

ki program. Sli

č

no je i s argumentom 

CONTINUE pomo

ć

u kojega se pretraživa

č

kom programu navodi da listu po

č

ne 

odbrojavati tamo gdje je stao s prethodnom pobrojanom listom. 

Netscape je sli

č

an argument uveo i za odre

đ

ivanje na

č

ina kojim 

ć

e se odbrojavati 

elementi list. Radi se o argumentu TYPE koji se može koristiti i kod nepobrojanih 
lista. Kod pobrojanih lista taj argument može poprimiti vrijednosti navedene u 
tablici 3, dok se kod nepobrojanih mogu navesti vrijednosti CIRCLE, SQUARE i 
DISC, kako bi se odredilo ho

ć

e li se elementi ozna

č

avati kruži

ć

ima, kvadrati

ć

ima 

ili ta

č

kama. 

Tabela 3: Na

č

ini odbrojavanja pobrojane liste 

HTML oznaka 

Zna

č

enje 

TYPE="1" Odbrojavanje 

obi

č

nim brojevima 

TYPE="I" 

Odbrojavanje velikim rimskim brojevima 

TYPE="i" 

Odbrojavanje malim rimskim brojevima 

TYPE="A" 

Abecedno odbrojavanje velikim slovima 

TYPE="a" 

Abecedno odbrojavanje malim slovima 

 

Kod definitnih lista ne postoje ograni

č

enja pri upotrebi pojedinih HTML naredbi, 

kao što je bio slu

č

aj s pobrojanim i nepobrojanim listama, kako kod navo

đ

enja 

definiraju

ć

eg izraza, tako i kod navo

đ

enja definicije. To definitne liste 

č

ini vrlo 

snažnim elementima jezika HTML, pomo

ć

u kojih se mogu postizati najrazli

č

itiji 

efekti. Pogledajmo najprije jedan jednostavan primjer. 

<HTML> 

<HEAD> 

<TITLE>Popis uloga</TITLE> 

</HEAD> 

<BODY> 

<H2>Uloge</H2> 

<HR> 

<DL> 

background image

Programiranje za Internet 

 

41 

<HR> 

<DL> 

 <DT> 

 <H3>Linux</H3> 

 </DT> 

 <DD> 

 

Ovo je besplatni OS. 

 </DD> 

 <DT> 

 <H3>MS 

Windows</H3> 

 </DT> 

 <DD> 

 

Ovaj OS nije besplatan. 

 </DD> 

</DL> 

<HR> 

</BODY> 

</HTML> 

 

Slika 10. Definitna lista s naslovima 

Programiranje za Internet 

 

42 

Na slici 10 možete pogledati kako izgleda ovaj primjer nakon u

č

itavanja u 

pretraživa

č

ki program. 

 

4.6. Tablice 

Č

esto 

ć

ete se na

ć

i u situaciji da neke informacije poželite formatirati u neku 

složeniju strukturu od one koja se dobiva pomo

ć

u raznih vrsta lista. Tablice 

ć

e vam 

omogu

ć

iti da podatke organizirate u retke i stupce, a uvedene su tek standardom 

HTML 3.  

Kod izrade jednostavnih tabela koje ve

ć

inom sadrže broj

č

ane podatke, najbolje je 

upotrijebiti naredbu <TAB> kojom se kreiraju tabularni razmaci. Uvrštavanje ove 
naredbe, u jezik HTML tako

đ

er je predloženo tek standardom HTML 3. Kako biste 

odredili poziciju na kojoj se mora poravnavati tekst, upotrijebit 

ć

ete argument ID 

kojemu 

ć

ete dodijeliti neko simboli

č

ko ime. Potom 

ć

ete u svakom novom retku 

elemente tablice poravnavati u odre

đ

eni stupac pozivaju

ć

i se na odgovaraju

ć

simboli

č

ko ime pomo

ć

u argumenta TO. Za ovu naredbu postoje još i argumenti 

ALIGN i INDENT s kojima se odre

đ

uje na

č

in poravnavanja pojedinog stupca, te 

razmak izme

đ

u stupaca. Razmak se zadaje u jedinicama koje odgovaraju polovici 

veli

č

ine pisma kojom se ispisuje trenutni tekst. Sve 

ć

e vam biti puno jasnije kada 

pogledate sljede

ć

i primjer. 

<HTML> 

<HEAD> 

 <TITLE>Mala 

tabela</TITLE> 

</HEAD> 

<BODY> 

<H3>Planeta</H3> 

<HR> 

<B> 

Planet 

<TAB INDENT=30 ID="st1" ALIGN=RIGHT>Dužina godine 

<TAB INDENT=30 D="st2" ALIGN=RIGHT>Dužina dana 

</B><P> 

<B>Merkur</B> 

<TAB TO="st1"> 88 dana<TAB TO="st2"> 59 dana<BR> 

<B>Venera</B> 

<TAB TO="st1"> 225 dana<TAB TO="at2"> 243 dana<BR> 

<B>Zemlja</B> 

background image

Programiranje za Internet 

 

44 

naslovima koriste redom parovi naredbi <TR></TR> i <TH></TH>. Svaka tabela 
mora sadržavati najmanje jedan redak i jednu ku

ć

icu. Pomo

ć

u opcionalnog 

elementa <CAPTION></CAPTION> tabelama se mogu dodavati naslovi. Oni 

ć

biti prikazani podebljanim slovima, iznad tablice, a bit 

ć

e i centrirani u odnosu na 

tablicu. Sljede

ć

im primjerom generira se jednostavna tabela s tri retka i tri stupca: 

<HTML> 

<HEAD> 

 <TITLE>Jednostavna 

tabela</TITLE> 

</HEAD> 

<BODY> 

<TABLE> 

 

<CAPTION>Broj dnevnih obroka</CAPTION> 

 <TR><TH></TH> 

<TH>Ru

č

ak</TH> <TH>Ve

č

era</TH><TR> 

 

<TR><TH>U kuhinji</TH> <TD>2</TD> <TD>1<TD></TR> 

 

<TR><TH>U sobi</TH> <TD>1</TD> <TD>3</td></Tr> 

</TABLE> 

</BODY> 

</HTML> 

Argument ALIGN može se upotrijebiti kako kod naredbe <TABLE> tako i kod 
oznaka <TR>, <TH> i <TD>, a dodjeljuju mu se ve

ć

 standardne vrijednosti LEFT, 

CENTER i RIGHT, namijenjene lijevom poravnavanju, centriranju i desnom 
poravnavanju. Taj bi se argument unutar naredbe <TABLE> trebao koristiti u 
kombinaciji s argumentom WIDTH kako bi se ta

č

no mogao kontrolirati smještaj 

tablice unutar stranice. Naredbom: 

<TABLE ALIGN=CENTER WIDTH=50%> 

kreirat 

ć

ete tablicu koja 

ć

e biti široka kao polovica prozora s pretraživa

č

kim 

programom, a nalazit 

ć

e se ta

č

no na sredini istog prozora. Kod upotrebe s 

naredbom <CAPTION>, argumentu ALIGN mogu se dodijeliti vrijednosti TOP za 
smještanje naslova iznad tablice (što pretraživa

č

ki rade automatski, odnosno 

BOTTOM kada naslov želite smjestiti ispod tablice).  

Prilikom upotrebe argumenta ALIGN s drugim elementima tablice, poput redaka i 
obiju vrsta ku

ć

ica, upravlja se smještajem sadržaja unutar ku

ć

ica. Dozvoljene 

vrijednosti su LEFT, CENTER, RIGHT, JUSTIFY i CHAR. JUSTIFY služi 
poravnavanju po oba ruba ku

ć

ice (koristi se rijetko) a CHAR poravnavanju po 

odre

đ

enom znaku. Poravnavanje navedeno kod naredbe za kreiranje ku

ć

ice ima 

prednost pred onim koje je navedeno kod naredbe za kreiranje retka, koje opet ima 
prednost pred poravnavanjem navedenim za cijelu tablicu, kod naredbe <TABLE>. 

Programiranje za Internet 

 

45 

Sli

č

no je i s upotrebom argumenta VALIGN. On može poprimiti vrijednosti TOP, 

MIDDLE i BOTTOM, a namijenjen je okomitom poravnavanju sadržaja unutar 
ku

ć

ica u tablici. Ukoliko se argument ne navodi, pretraživa

č

ki programi 

ć

e sadržaj 

poravnavati po sredini okomice. O

č

ito je da se kod složenijih sadržaja i formata 

tabela argumenti ALIGN i VALIGN moraju upotrebljavati vrlo oprezno. 

Naredbi <TABLE> mogu se dodati još tri argumenta, od kojih se svakome 
dodjeljuje cjelobrojna vrijednost koja predstavlja broj piksela na ekranu. Prvi takav 
argument je BORDER, kojim se tabela smješta unutar rešetaka 

č

iji vanjski rub ima 

debljinu dodijeljene vrijednosti. Ukoliko e ovom argumentu ne dodjeli nikakva 
vrijednost, rub tablice bit 

ć

e najtanji mogu

ć

i. Drugi je CELLPADDING, kojim se 

navodi broj piksela za koji 

ć

e sadržaj pojedine ku

ć

ice biti udaljen od ruba tablice, 

dok je tre

ć

i CELLSPACING, kojim se odre

đ

uje razmak izme

đ

u svake pojedine 

ku

ć

ice. 

Naredbama <TD> i <TH> opcionalno se dodjeljuju i argumenti ROWSPAN i 
COLSPAN, koji tako

đ

er poprimaju cjelobrojne vrijednosti. Oni se koriste kod 

složenih tabela, u slu

č

aju da želite kreirati ku

ć

icu koja se visinom (ROWSPAN) i 

širinom (COLSPAN) proteže kroz podru

č

je drugih ku

ć

ica. One ku

ć

ice koje su 

"prekrivene" ovakvom pove

ć

anom ku

ć

icom, ne smiju se ponovo navoditi 

upotrebom naredbi <TD> i <TH> unutar odgovaraju

ć

ih redaka. Najbolje je da to 

sve pogledate na primjeru. 

<HTML> 

<HEAD> 

 <TITLE>Složena 

tabela</TITLE> 

</HEAD> 

<BODY> 

<TABLE CELLPADDING=5 BORDER=2> 

 <CAPTION 

ALIGN=BETTOM>Sun

č

ev sistem</CAPTION> 

 <TR><TH 

ROWSPAN=2></TH> 

 

<TH COLSPAN=2>Udaljenost od Sunca</TH> 

 <TH 

ROWSPAN=2>Dužina<BR>godine</TH> 

 <TH 

ROWSPAN=2>Dužina<BR>dana</TH> 

</TR><TR> 

 <TH>kilometara</TH> 

 <TH>svjetlosnih 

god.</TH> 

</TR><TR> 

 

<TH>Merkur</TH> <TD>57.900.000</TD>  

 <TD 

ALIGN=RIGHT>0.38</TD> 

background image

Programiranje za Internet 

 

47 

 

FLOAT Ovom argumentu mogu se dodijeliti vrijednosti LEFT i RIGHT kako 
bi se odredilo ho

ć

e li tekst koji slijedi iza kraja tablice ozna

č

enog s naredbom 

</TABLE> biti ispisan s lijeve ili s desne strane u odnosu na tablicu. Kada se 
ovaj argument ne upotrebljava, pretraživa

č

ki programi smještaju tekst ispod 

tablice. 

 

COLS?n Odre

đ

ivanje broja stupaca u tablici. Znaju

ć

i unaprijed ovaj broj, 

pretraživa

č

ki programi mogu brže odrediti izgled tablice. 

 

FRAME Vrijednosti za ovaj argument su TOP, BTTOM, TOPBOT, SIDES i 
ALL, a njime se odre

đ

uje ho

ć

e li tabela imati okvir samo na gornjem rubu, 

donjem rubu, oba ruba (i gornji i donji, obje stranice (lijevoj i desnoj), ili 
posvuda. 

Tablice mogu imati zaglavlje i tijelo, koji se odvajaju parovima oznaka 
<THEAD></THEAD> i <TBODY></TBOD>>. Naredbe su korisne samo kod 
jako velikih tabela. Zaglavlje 

ć

e biti prikazano na ekranu uvijek, bez obzira na to 

što cijela tabela ne stane u prozor pretraživa

č

kog programa, dok 

ć

e se tijelo 

pomicati u odnosu na pomicanje cijele stranice. Kod tabela koje cijele stranu na 
ekran, razlika izme

đ

u zaglavlja i tijela je neprimjetna. Obje naredbe mogu se 

koristiti s argumentima ALIGN i VALIGN. 

 

4.7. Stilovi 

Stilskim naredbama mijenja se grafi

č

ki izgled sadržanog teksta. Takve naredbe se 

smiju ugnjež

đ

ivati jedne unutar drugih sli

č

no kao što u nekom tekstnom procesoru 

možete na dijelove re

č

enica primijeniti više stilskih promjena. HTML stilovi su, 

me

đ

utim, apstraktni i logi

č

no konstruirani, dok su stilovi koji se upotrebljavaju kod 

tekstnih procesora konkretni. Ve

ć

ina drugih naredbi kojima se utje

č

e na strukturu 

dokumenta slobodno se može pojaviti unutar stilskih naredbi, premda bi takve 
situacije trebalo izbjegavati. Naj

č

ć

e korištene stilske naredbe koje prepoznaju svi 

pretraživa

č

ki programi su sljede

ć

e: 

 

<EM></EM> Naglašavanje, ve

ć

ina pretraživa

č

kih programa 

ć

e tekst 

obuhva

ć

en ovom naredbom prikazati kosim slovima, a rje

đ

e podcrtano, kako 

bi se isticao od okolnog teksta. 

 

<STRONG></STRONG> Jako naglašavanje, obi

č

no se prikazuje podebljanim 

slovima. Obavezno se mora prikazivati druga

č

ije od obi

č

nog naglašavanja. 

 

<CITE></CITE> Oznaka za citate unutar re

č

enice. Tekst 

ć

e biti prikazan 

kosim slovima. 

 

<TT></TT> Tekst ispisan neproporcionalnim pismom (svi znakovi su jednake 
širine). 

Na slici 13 vide se rezultati upotrebe ovih naredbi na gornjem tekstu. Pokušajte 
sami sastaviti takvu Web stranicu. 

Programiranje za Internet 

 

48 

 

Slika 13. Tekstualni stilovi 

Tabela 4. Razli

č

iti logi

č

ki stilovi 

HTML oznaka 

Zna

č

enje 

<ABBREV></ABBREV> Oznaka 

za 

skra

ć

enicu 

<ACRONYM></ACRONYM>  Oznaka za akronime poput SIPA, FTP, FBI... 
<AU></AU> 

Autor teksta, odnosno Web stranice 

<BIG></BIG> 

Tekst ispisan nešto ve

ć

im pismom od 

uobi

č

ajenog 

<DEL></DEL> 

Oznaka za izbrisan tekst koji je "preživio" u 
dokumentu 

<INS></INS> 

Novi tekst uba

č

en u stari sadržaj 

<PERSON></PERSON> Nazna

č

avanje imena neke osobe 

<Q></Q> 

Tekst koji se nalazi izme

đ

u znakova navoda 

<S></S> 

Precrtan tekst, naredba skra

ć

uje oznaku 

<STRIKE></STRIKE> 

<SMALL></SMALL> 

Tekst ispisan nešto manjim pismom od 
uobi

č

ajenog 

<SUB></SUB> 

Oznaka za indekse i drugi niže ispisan tekst 

<SUP></SUP> 

Oznaka za eksponente i drugi više ispisan tekst 

<CODE></CODE> 

Oznaka za kod ispisan nekim programskim 
jezikom 

<VAR></VAR> Oznaka 

za 

varijablu, parametar, argument i 

sli

č

no 

<KBD></KBD> 

Tekst koji korisnik mora utipkati na tipkovnici 

<SAMP></SAMP> 

Niz znakova kojima se nešto nabraja 

 

background image

Programiranje za Internet 

 

50 

<A NAME?"izvori">Evo i nekih dodatnih izvora 

informacija... </A> 

Klikom miša na tekst "dodatnih izvora" prebacit 

ć

ete se u pretraživa

č

kom 

programu na onaj dio dokumenta koji je imenovan odgovaraju

ć

im imenom pomo

ć

argumenta ID ili NAME. Tekst koji je obuhva

ć

en naredbom <A> uz koju je 

umjesto argumenta HREF napisan argument NAME ne

ć

e biti prikazan kao 

hipertekstualna veza u pretraživa

č

kom programu, ve

ć

 kao obi

č

an tekst. 

Kada želite kreirati hipertekstualnu vezu na dokument koji se nalazi u istom 
direktoriju kao i trenutni dokument, dovoljno je argumentu HREF dodijeliti ime 
željene datoteke. To se naziva relativnim URL adresiranjem, a primjenjuje se svaki 
put kada je po

č

etak i kraj hipertekstualne veze nalaze na istom serveru. Evo kako 

možete kreirati jednu takvu vezu. 

Moj pas se zove <A HREF="lisa.html">Lisa</A>. 

Upotrebom relativnog adresiranja vaš cjelokupni hipertekstualni rad ostaje 
kompaktniji, budu

ć

i da svaki put kada stranice selite na novu lokaciju ne

ć

ete 

morati mijenjati HTML kod kako biste popravili hipertekstualne veze. Naravno, to 
vrijedi samo u slu

č

aju kada ne mijenjate strukturu direktorija, odnosno kada je 

sadržaj svakog direktorija na staroj lokaciji istovjetan onome na novoj. Da biste 
kreirali hipertekstualnu vezu na neku odre

đ

enu to

č

ku unutar drugog dokumenta u 

istom direktoriju, ponovno 

ć

ete upotrijebiti ime te ta

č

ke koje je u ciljanom 

dokumentu ozna

č

eno argumentom ID ili NAME: 

<A HREF="lisa.html#hrana">Šta Lisa jede?</A> 

Pretpostavimo da se datoteka koju ciljate nalazi u poddirektoriju direktorija koji 
sadrži trenutni dokument. Tada 

ć

ete u HTML dokumentu ovako kreirati 

hipertekstualnu vezu: 

<A HREF="psi/lisa.html">Lisa</A> 

Nije važno na koji su na

č

in konstruirane putanje, direktoriji i imena datoteka na 

operativnom sistemu pod kojim je pokrenut vaš Web server – svejedno je koriste li 
se obrnute kose crte () kao u Windowsima, ili uglate zagrade ( [,]) kao na VMS 
sistemima- URL sintaksa uvijek koristi obi

č

ne kose crte za ovu namjenu (/). Server 

ć

e se sam pobrinuti o prevo

đ

enju ove sintekse u onu koja se upotrebljava na tom 

operativnom sistemu. 

Ako želite kreirati hipertekstualnu vezu na datoteku koja se nalazi na drugom Web 
serveru, morat 

ć

ete argumentu HREF dodijeliti njezinu apsolutnu URL adresu. 

Format URL adresiranja dopušta vam da pristupate gotovo svim objektima na 
Internetu kroz vašu Web stranicu, pa tako možete kreirati hipertekstualne veze na 
Gopher servere, Usenet novinske grupe, FTP arhive, e-mail adrese i drugo. Evo i 
jednog primjera: 

<A HREF="http://unze.ba/pf/ispiti.html">IS</A> 

Programiranje za Internet 

 

51 

Ovdje smo upotrijebili cijelu, apsolutnu URL adresu, a ne realtivnu. Jedina 
pretpostavka koju moramo imati na umu je da Web server unze.ba radi na portu 80, 
što je osnovni port za World Wide Web servere. Ako to nije slu

č

aj – recimo, ako 

unze.ba poslužuje na portu 8080 – potrebno je unutar URL adrese navesti i taj broj: 

<A HREF="http://unze.ba:8080/pf/ispiti.html">IS</A> 

Kao što vidite, URL adrese mogu biti prili

č

no duga

č

ke, no kao što znate, pomo

ć

njih možete kreirati i hipertekstualne veze na mnoge druge ta

č

ke na Internetu koje 

nisu Web stranice. U nastavku je dano nekoliko primjera pomo

ć

u kojih možete 

kreirati veze s FTP arhivom, Telnet serverom i novinskom grupom na Usenetu. 

<A HREF="ftp://avalon.irb.hr/pub">Shareware 

programi</A> 

<A HREF="telnet://compuserve.com">Servis CompuServe</A> 

<A HREF="news:hr.comp.literature">Doma

ć

a literatura</A> 

Ako URL adresa za neki FTP server završava s imenom konkretne datoteke, tada 

ć

e se prebaciti na korisnikov ra

č

unar i ovisno o njezinom tipu prikazati u prozoru 

pretraživa

č

kog programa ili pohraniti na tvrdi disk. Ako adresa pokazuje na neki 

direktorij, tada 

ć

e se u pretraživa

č

kom programu prikazati sadržaj tog direktorija, 

uklju

č

ivši sve datoteke i poddirektorije koji su sadržani. Kod kreiranja 

hipertekstualne veze koja vodi do FTP servera, naredbi <A> možete nadopisati i 
argument TITLE kojemu 

ć

ete dodijeliti naslov koji želite da korisnik vidi na 

gornjem rubu prozora s pretraživa

č

kim programom. 

 

4.9. Slike 

Slika ili dvije, ugra

đ

ene u HTML dokument, poprili

č

no 

ć

e pridonijeti atraktivnosti 

vaše Web stranice. Slike koje se nalaze na vašoj po

č

etnoj stranici dat 

ć

e korisniku 

informacije koje se ne mogu pro

č

itati iz teksta; jednostavni linearni grafikon u 

svakom je slu

č

aju puno informativniji od tablice prepune brojeva. Slike 

ć

e na vašoj 

Web stranici odigrati vrlo veliku funkcionalnu, vizualnu i informativnu ulogu, pa 
ih ni u kom slu

č

aju ne biste smjeli izostaviti. 

Da biste unutar svoje stranice ugradili sliku, upotrijebite naredbu <IMG>. Oko 
slike se ne

ć

e pojaviti nikakvo razdvajanje odlomaka ili dodatni prazan prostor. Ako 

tok teksta oko slike nije potrebno odre

đ

en nekim argumentima, ona 

ć

e biti 

prikazana unutar re

č

enice jednako kao da se radi o nekom slovu koje ima malo 

č

udnu veli

č

inu. Za razliku od rada u programima za stono izdavaštvo gdje se za 

svaku sliku zna ta

č

na pozicija, unutar Web stranice slika predstavlja najobi

č

niji dio 

teksta unutar kojega je ugra

đ

ena. Na bilo koje mjesto gdje možete smjestiti neko 

slovo, mo

ć

ć

ete smjestiti i sliku. 

Uz naredbu <IMG> mogu se dopisati argumenti. Prvi je SRC, a valja mu dodijeliti 
URL: adresu datoteke u kojoj je pohranjena slika koju želite prikazati na Web 
stranici. URL adresa navodi se na isti na

č

in kao i kod hipertekstualnih veza: 

background image

Programiranje za Internet 

 

53 

obuhvatili naredbom <A>. Sjetite se: sliku možete postaviti svugdje gdje možete 
postaviti i tekst, pa prema tome i unutar oznake za kreiranje hipertekstualnih veza. 
Kada korisnik klikne mišem na ovu sliku, u

č

itat 

ć

e se stranica s URL adrese 

navedene unutar naredbe <A>. 

Važno je napomenuti da se slike na Webu mogu prikazivati samo ako su 
pohranjene u GIF ili JPEG formatu datoteka, jer su to jedini formati koje 
podržavaju svi pretraživa

č

ki programi s grafi

č

kim korisni

č

kim su

č

eljem: To, 

me

đ

utim, ne zna

č

i da, ako vi postavite hipertekstualnu vezi na neki drugi grafi

č

ki 

format poput TIFF, PCX ili BMP zapisa, korisnik ne

ć

e znati što da napravi s tom 

datotekom. On 

ć

e je mo

ć

i prebaciti na svoje ra

č

unar i kasnije pogledati u nekom 

programu koji podržava taj zapis, ili 

ć

e u svojem pretraživa

č

kom programu 

konfigurirati pomo

ć

nu aplikaciju koja 

ć

e taj program pokrenuti svaki put kada se 

na nekoj stranici pojavi nepoznati format.  

Prikazivanje slika kao dio teksta i nije baš nešto posebno, pa zato postoji argument, 
ALIGN kojim se može odrediti na

č

in prikazivanja teksta koji se nalazi oko slike. 

Osnovne tri vrijednosti koje se mogu dodijeliti ovom argumentu su TOP, MIDDLE 
i BOTTOM, što zna

č

i da se tekst koji se nalazi ispred i iza slike može poravnati uz 

gornji rub slike, uz njezinu sredinu i uz njezino dno. 

U slu

č

aju kada je slika viša nego šira, zasigurno 

ć

ete htjeti da tekst normalno te

č

e u 

njezine lijeve ili desne strane, a ne da ona predstavlja dio tog teksta. U tu svrhu 

ć

vam poslužiti Netscapeova proširenja za naredbu <IMG> kojima se argumentu 
ALIGN mogu dodijeliti još i vrijednosti LEFT i RIGHT. U prvom slu

č

aju slika 

ć

biti prikazana uz lijevi rub prozora s pretraživa

č

kim programom, dok 

ć

e tekst koji 

je u HTML dokumentu smješten iza naredbe za sliku biti smješten s njezine desne 
strane. U drugom slu

č

aju 

ć

e situacija, dakako, biti obrnuta. Za naredbu <IMG> ne 

postoji završna naredba </IMG>, pa 

ć

ete, u trenutku kada zaželite tekst ponovo 

ispisivati po cijeloj širini prozora, morati upotrijebiti naredbu <BR> uz koju 

ć

ete 

dopisati argument CLEAR, koji je objašnjen ranije u ovom poglavlju. Ako ste 
argumentu ALIGN kod naredbe <IMG> dodijelili vrijednost LEFT, istu 

ć

ete 

vrijednost dodijeliti i  argumentu CLEAR kod naredbe <BR>. Sli

č

no 

ć

ete postupiti 

i u slu

č

aju da ste koristili vrijednost RIGHT. Cijelu ovu zbirku oko poravnavanja 

slika i teksta  najlakše je razjasniti jednim primjerom. 

<HTML> 

<HEAD> 

 <TITLE>Slike</TITLE> 

</HEAD> 

<BODY> 

<B>ALIGN=TOP</B><BR> 

<IMG SRC="image002.jpg" ALIGN=TOP>Shareware<P> 

<B>ALIGN=MIDDLE</B><BR> 

Programiranje za Internet 

 

54 

<IMG SRC="image002.jpg" ALIGN=MIDDLE>Shareware<P> 

<B>ALIGN=BOTTOM</B><BR> 

<IMG SRC="image002.jpg" ALIGN=BOTTOM>Shareware 

<HR> 

<IMG SRC="image002.jpg" ALIGN=LEFT> 

<B>ALIGN=LEFT<B/><BR> 

Lorem ipsum dolor sit amet, consetetur sadipscing 

elitr, sed diam nonumy eirmod tempor invidunt ut labore 

et dolore magna aliquyam erat, sed diam voluptua. At 

vero eos et accusam et justo duo dolores et ea rebum. 

Stet clita kasd gubergren, no sea takimata sanctus est 

Lorem ipsum dolor sit amet. 

<BR CLEAR=LEFT> 

<HR> 

<IMG SRC="image002.jpg" ALIGN=RIGHT> 

<B>ALIGN=RIGHT</B><BR> 

Lorem ipsum dolor sit amet, consetetur sadipscing 

elitr, sed diam nonumy eirmod tempor invidunt ut labore 

et dolore magna aliquyam erat, sed diam voluptua. At 

vero eos et accusam et justo duo dolores et ea rebum. 

Stet clita kasd gubergren, no sea takimata sanctus est 

Lorem ipsum dolor sit amet. 

<BR CLEAR=RIGHT> 

<HR> 

</BODY> 

</HTML> 

Slika 15 prikazuje ovaj primjer u pretraživa

č

kom programu. 

Za dodatnu kontrolu nad smještajem slika, tvrtka Netscape je smislila i argumente 
HSPACE i VSPACE. Tim se argumentima dodjeljuje numeri

č

ka vrijednost kojom 

se odre

đ

uje broj piksela za koji 

ć

e slika biti udaljena od teksta što je okružuje. 

Argumentom HSPACE odre

đ

uje se razmak s lijeve i s desne strane slike, a 

argumentom VSPACE s gornje i s donje strane. Op

ć

enito govore

ć

i, što je ve

ć

slika, ovim 

ć

ete argumentima htjeti dodijeliti ve

ć

u vrijednost kako bi stranica 

izgledala grafi

č

ki ukusno. Uobi

č

ajene vrijednosti kre

ć

u se od pet do petnaest 

piksela. 

Argumentu BORDER koji se  tako

đ

er može dodijeliti naredbi <IMG>, pridružuje 

se broj

č

ana vrijednost kojom se u pikselima odre

đ

uje debljina okvira za neku sliku. 

Dakako, upotreba ovog argumenta ima smisla samo kada se slika nalazi u ulozi 
hipertekstualne veze, budu

ć

i da u suprotnom uop

ć

e ne

ć

e biti uokvirena. Ukoliko ne 

background image

Programiranje za Internet 

 

56 

Argumentima HEIGHT i WIDTH valja dodijeliti ta

č

nu visinu i širinu slike u 

pikselima, jer 

ć

e Netscape u protivnom sliku automatski pove

ć

ati ili smanjiti, ve

ć

 

prema tome jeste li unijeli ve

ć

e ili manje vrijednosti od stvarnih. Kako za to 

mijenjanje veli

č

ine Netscape ne koristi baš neke savršene algoritme, poslužite se 

nekom grafi

č

kom aplikacijom poput Corel PhotoPainta ili Adobe PhotoShopa ako 

želite promijeniti format slike. 

 

4.9.1 Slikovne mape 

Slikovne mape predstavljaju važno proširenje koncepta hipertekstualnog 
povezivanja dokumenata. Takve mape su zapravo obi

č

ne slike na kojima su 

definirana odre

đ

ena podru

č

ja na koja korisnik može kliknuti i u

č

itati stranicu s 

nove URL adrese. Ovdje 

ć

emo objasniti dva na

č

ina na koji se mogu kreirati 

slikovne mape: prvi je pomo

ć

u standardnih metoda koje su uvedene standardom 

HTML 2, a drugi je pomo

ć

u Netscapeovih proširenja jezika HTML koja su 

uvedena Navigatorom 2.0. U prvom slu

č

aju govorimo o serverskim slikovnim 

mapama, budu

ć

i da se zahtjeva prisutnost posebnog programa na serverskom 

ra

č

unaru, dok u drugom govorimo o klijentskim mapama, jer one ne zahtijevaju 

nikakvo procesiranje na serveru ve

ć

 se u potpunosti interpretiraju unutar 

pretraživa

č

kog programa. S korisni

č

kog stanovišta, obje vrste slikovnih mapa 

izgledaju i djeluju podjednako, no sa stanovišta autora HTML dokumenta, radi se o 
dva vrlo razli

č

ita procesa. 

Upotrebljava se argument USEMAP kojemu se dodjeljuje ime ta

č

ke unutar istog 

dokumenta, koja je ozna

č

ena s argumentom NAME. Imenu kod argumenta 

USEMAP mora prethoditi znak #, sli

č

no kao i kod hipertekstualnih veza kojima se 

ska

č

e do odre

đ

ene ta

č

ke u nekom ili istom dokumentu. Argument NAME dopisuje 

se uz naredbu <MAP> kojom se definiraju podru

č

ja slikovne mape, a koju valja 

smjestiti na kraju tijela HTML dokumenta. Pojedino podru

č

je na slici ozna

č

ava se 

naredbom <AREA>. U nastavku predo

č

ujemo primjer koji 

ć

e vam razjasniti o 

č

emu se radi: 

<IMG SRC="slike/putokaz.gif" 

ALT="ovo je slikovna mapa" USEMAP="#putokaz"> 

<MAP NAME="putokaz"> 

<AREA SHAPE="POLY" HREF="diskete.html" 

COORDS="21,68,5,82,18,97,132,93,¸131,62,21,68> 

<AREA SHAPE="POLY" HREF="kritike.html" 

COORDS="10,100,8,133,126,136,142,121,124,103,10,100> 

Programiranje za Internet 

 

57 

<AREA SHAPE="POLX" HREF="sadržaj.html" 

COORDS="8,28,9,62,129,51,137,34,129,25,102,22,8,28> 

<AREA SHAPE="POLY HREF="ocjena.html" 

COORDS="4,154,18,171,130,175,131,145,22,140,4,154> 

<AREA SHAPE="POLY" HREF="znak.html" 

COORDS="12,181,12,213,124,211,144,194,125,179,12,181> 

</MAP> 

Nakon malo detaljnijeg prou

č

avanja ovog primjera nije teško zaklju

č

iti da se tip 

geometrijskog lika odre

đ

uje pomo

ć

u argumenta SHAPE, URL adresa ciljanog 

dokumenta argumentom HREF, a koordinate podru

č

ja odvojene zarezom 

argumentom COORDS. Svi argumenti se, naravno, dopisuju uz naredbe AREA 
kojih ima onoliko koliko ima i klju

č

nih podru

č

ja u slikovnoj mapi. Argument 

SHAPE može osim vrijednosti POLY poprimiti i vrijednost RECT CIRCLE i 
DEFAULT kako biste kreirali podru

č

ja u obliku pravokutnika i kružnice, odnosno 

odredili URL adresu dokumenta koji 

ć

e se uo

č

iti ako korisnik klikne na dio slike 

koji nije obuhva

ć

en niti jednim podru

č

jem.  

 

4.10. Multimedija 

Kako biste ugradili multimedijalni objekt unutar svoje Web stranice, bilo da se radi 
o nekom zvuku, filmu, kombinaciji filma i zvuka ili ne

č

emu drugom, jednostavno 

kreirajte obi

č

nu hipertekstualnu vezu koja 

ć

e vaš dokument povezati s binarnom 

datotekom koja sadrži taj objekt. Na korisniku je da ispravno konfigurira svoj 
pretraživa

č

ki program i pomo

ć

ne aplikacije ili plug-in module kojima ga 

nadogra

đ

uje kako bi mogao upotrijebiti taj objekt na svojem ra

č

unaru. 

Obi

č

aj je, ali i dio uljudnog ponašanja, upozoriti korisnika da se radi o 

hipertekstualnoj vezi koja nije uobi

č

ajena. Svakako navedite o kojem tipu datoteke 

se radi, te kolika je njezina veli

č

ina u bajtima, kako bi korisnik mogao procijeniti 

koliko je vremena potrebno da se ta datoteka prebaci do njegovog ra

č

unara. 

Najuobi

č

ajeniji tipovi zvu

č

nih zapisa koji se koriste na Webu su AU i SND formati 

datoteka, no nerijetko 

ć

ete nai

ć

i i na WAV ili MP3 zvu

č

ne zapise. Što se ti

č

videozapisa, najuobi

č

ajeniji formati su QuickTime i MPEG, a u novije vrijeme 

WMV i AVI (Microsoftovi video formati).  

Evo i jednog primjera kreiranja hipertekstualne veze kojom se korisnik upu

ć

uje na 

zvu

č

nu datoteku: 

<A HREF="../audio/lordi.mp3"> 

<IMG SRC="zvu

č

nik.gif" ALT="Hard rock, zvu

č

ni zapis"> 

Hard rock</A> (150 Kb, mp3 format). 

background image

Programiranje za Internet 

 

59 

</HEAD> 

<BODY> 

<H1>Ho

ć

emo komentare!!!</H1> 

Zanima nas vaše mišljenje o ovim stranicama. 

Upotrijebite sljede

ć

i obrazac kako biste nam poslali 

bilo kakav komentar. 

<P> 

<FORM METHOD=POST ACTION="mailto:[email protected]"> 

Upišite svoje ime: 

<INPUT TYPE="TEXT" NAME="ime" SIZE=35><BR> 

Upišite svoju e-mail adresu: 

<INPUT TYPE="TEXT" NAME="e-mail" SIZE=35><BR> 

<P><HR><P> 

U sljede

ć

i okvir za unos teksta upišite bilo kakav 

komentar. Kliknite na tipku <B<Slanje</B> kada 

završite. 

<P> 

<TEXTAREA NAME="komentar" ROWS=6 COLS=45></TEXTAREA> 

<P> 

Zahvaljujem na komentaru. 

<INPUT TYPE="SUBMIT" VALUE="Slanje"> 

<INPUT TYPE="RESET" VALUE="Brisanje"> 

<P> 

</FORM> 

</BODY> 

</HTML> 

Slika 16 prikazuje ovaj primjer nakon u

č

itavanja u pretraživa

č

ki program. Uo

č

ite 

odmah da se drugi HTML elementi mogu slobodno koristiti kako izvan, tako i 
unutar obrasca. 

Naredba <FROM>, kao što vidite, može sadržavati i argument METHOD koji je 
namijenjen odre

đ

ivanju na

č

ina na koji 

ć

e se sadržaj obrasca poslati na e-mail 

adresu ili CGI skriptu. Najbolje je uvijek dodjeljivati vrijednost  POST ovom 
argumentu, kako bi se nazna

č

ilo da se sadržaj šalje preko standardnog ulaza. Druga 

vrijednost koju možete navesti je GET, a ona se koristi kada se sadržaj obrasca 
šalje serveru kao dio URL adrese. Neki stariji serveri imaju ograni

č

enje na koli

č

inu 

podataka koja se ovako može poslati, pa je najbolje da koristite POST metodu. 

Programiranje za Internet 

 

60 

Pomo

ć

u argumenta ACTION, u ovom smo primjeru naveli da želimo podatke iz 

obrasca poslati na e-mail adresu [email protected]

 

Slika 16. Jednostavan obrazac za komentar 

Prva dva polja u ovom primjeru zatražit 

ć

e od korisnika da unese svoje ime i e-mail 

adresu, a kreirali smo ih pomo

ć

u naredbe <INPUT>. Argumentom TYPE koji se 

dopisuje uz ovu naredbu odre

đ

uje se tip polja koje želimo ugraditi u obrazac, pa 

smo mi upotrijebili vrijednost TEXT kako bi dobili polje za unos teksta. Tu je još i 
argument SIZE kojim smo odredili širinu tekstualnog polja koja se mjeri u broju 
znakova, ali i argument NAME koji je obavezan za svako polje obrasca, a kojemu 
se dodjeljuje neko jedinstveno ime. To ime 

ć

e nam poslužiti kao oznaka varijable u 

kojoj 

ć

e biti pohranjeno ono što je korisnik upisao unutar odgovaraju

ć

eg polja. 

Kasnije 

ć

emo tu varijablu upotrijebiti u skripte koja obra

đ

uje obrazac. 

Naredbom <TEXTAREA> kreirali smo okvir za unos teksta kojemu smo veli

č

inu 

u recima i stupcima odredili redom pomo

ć

u argumenata ROWS i COLS. Za razliku 

od naredbe <INPUT>, ova naredba sadrži i završnu oznaku </TEXTAREA>, a sav 
tekst koji upišemo izme

đ

u po

č

etne i završne oznake bit 

ć

e ve

ć

 upisan unutar okvira 

za unos teksta, što je korisno ako korisniku želimo unaprijed kazati što želimo 

č

uti. 

U našem primjeru smo okvir za tekst ostavili praznim. 

background image

Programiranje za Internet 

 

62 

</HEAD> 

<BODY> 

<H1>Ovo je PRVA STRANICA!</H1> 

Ovdje nabacate malo obi

č

nih HTML naredbi... 

</BODY> 

</HTML> 

Ako ovaj primjer u

č

itate u neki pretraživa

č

ki program koji podržava Client-Pull 

tehnologiju (neki stariji pretraživa

č

ki i Lynx je ne podržavaju), primijetit 

ć

ete da se 

on svakih pet sekundi ponovno u

č

ita. Naredba <META> svakih 

ć

e pet minuta 

simulirati pritiskanje tipke Reload (Refresh) u pretraživa

č

u, te 

ć

e ponovno u

č

itati 

isti dokument nakon onoliko sekundi koliko ste naveli argumentom CONTENT. 
Ovo je korisno u slu

č

aju da se sadržaj HTML dokumenta automatski kreira i 

mijenja u odre

đ

enim vremenskim razmacima. Istom naredbom mo

ć

ć

ete "povu

ć

i" 

i neki drugi HTML dokument, kao u novom primjeru: 

<META HTTP-EQUIV="Refresh" 

CONTENT="60; URL=http://unze.ba/stats/"> 

Uo

č

ite da je obavezno navo

đ

enje apsolutne URL adrese i to odmah nakon ta

č

ke-

zareza koju valja navesti iza broja za oznaku sekundi. Sljede

ć

a stranica u nizu 

tako

đ

er može biti Client-Pull stranica, što zna

č

i da možete kreirati 

č

itave nizove 

dinami

č

kih dokumenata koji 

ć

e se automatski u

č

itavati. Ova tehnologija korisna je 

i u slu

č

aju da ste svoje Web stranice preselili na drugi server, a želite da se 

č

itatelji 

koji još uvijek koriste staru adresu automatski upute na novu. Tada 

ć

ete, naravno, 

navesti nulu kao broj sekundi nakon kojih 

ć

e pretraživa

č

 sko

č

iti do novog 

odredišta. 

Kako postoje pretraživa

č

ki programi koji ne podržavaju naredbu <META>, dobra 

ideja je da negdje pri vrhu stranice objasnite da 

ć

e dokument nakon toliko i toliko 

sekundi nestati (odnosno da ne

ć

e nestati), i na taj na

č

in navedete korisnika da 

klikne na neku hipertekstualnu vezu.  

Kada želite da korisnik odabere neku vrijednost iz nekog kona

č

nog popisa koji mu 

je ponu

đ

en, upotrijebit 

ć

ete kružne izbornike, kontrolne kvadrati

ć

e ili padaju

ć

izbornike. Kružni izbornici rade na taj na

č

in, da, kada se jedna opcija odabere, 

nijedna druga više ne može biti istovremeno odabrana. Zbog toga kružne izbornike 
treba koristiti onda i samo onda kada želite da korisnik odabere ta

č

no jednu 

vrijednost iz izbora koji mu se nudi. Svaki kruži

ć

 unutar izbornika predstavljen je 

jednom <INPUT TYPE="RADIO"> naredbom no, me

đ

utim, argumentu NAME se 

unutar jednog izbornika uvijek mora dodijeliti ista vrijednost. Pomo

ć

u argumenta 

VALUE odre

đ

uje se vrijednost koja 

ć

e biti dodijeljena varijabli navedenoj 

argumentom NAME kada korisnik izabere jednu od ponu

đ

enih mogu

ć

nosti. Kod 

onog kruži

ć

a koji želite odmah prikazati kao odabranu opciju, nadopisat 

ć

ete i 

argument CHECKED. Evo primjera: 

Programiranje za Internet 

 

63 

<HTML> 

<HEAD> 

<TITLE>Kružni izbornik</TITLE> 

</HEAD> 

<BODY> 

<FORM METHOD=POST ACTION="cgi-bin/sendmail"> 

<H1>Najviše volim:</H1> 

<INPUT TYPE="RADIO" NAME="voli" 

VALUE="pjeva

č

e">Pjeva

č

e<BR> 

<INPUT TYPE="RADIO" NAME="voli" VALUE="pjeva

č

ice" 

CHECKED>Pjeva

č

ice<BR> 

<INPUT TYPE="RADIO" NAME="voli" VALUE="grupe">Grupe 

izvo

đ

a

č

a<BR> 

</FORM> 

</BODY> 

</HTML> 

Kontrolni kvadrati

ć

i se koriste kada se korisniku želi omogu

ć

iti izbor od nijedne, 

jedne ili više ponu

đ

enih opcija. Svaki kvadrati

ć

 prikazuje se pomo

ć

u jedne 

<INPUT TYPE="CHECKBOX"> naredbe, a kod svake naredbe argument NAME 
poprima razli

č

itu vrijednost. Argumentom VALUE iskazuje se vrijednost koja 

ć

biti dodijeljena varijabli navedenoj pomo

ć

u argumenta NAME u slu

č

aju da je 

korisnik odabrao tu opciju. Unaprijed odabrani kvadrati

ć

i ozna

č

avaju se 

argumentom CHECKED. Na primjer: 

<HTML> 

<HEAD> 

<TITLE>Kontrolni kvadrati

ć

i</TITLE> 

</HEAD> 

<BODY> 

<FORM METHOD=POST ACTION="cgi-bin/sendmail"> 

<H1>Muzika koju slušam:</H1> 

<INPUT TYPE="CHECKBOX" NAME="pop" VALUE="da">Pop<BR> 

<INPUT TYPE="CHECKBOX" NAME="jazz" VALUE="da" 

CHECKED>Jazz<BR> 

<INPUT TYPE="CHECKBOX" NAME="funk" VALUE="da" 

CHECKED>Funk<BR> 

<INPUT TYPE="CHECKBOX" NAME="rap" VALUE="da">Rap<BR> 

background image

Programiranje za Internet 

 

65 

serverske programe za obradu obrazaca koji su instalirani na onom Web serveru na 
kojem se nalaze vaše stranice.  

 

Slika 17. Kružni izbornik, kontrolni kvadrati

ć

i i padaju

ć

i izbornik 

 

4.13. Skripting jezici 

4.13.1. Skripting jezici koji se izvršavaju na serveru (Server-side scripting) 

ASP - Active Server Pages 

Active Server Pages, odnosno kra

ć

e ASP, je Microsoftovo rješenje za serverside 

scripting. Kod obi

č

nih HTML stranica, klijent (odnosno web surfer) zatraži web 

stranicu sa nekog servera (npr. www.unze.ba), a server jednostavno pošalje 
dokument klijentu (obi

č

no index.html, ako nije navedeno ime) i surfer vidi tu 

stranicu prikazanu u svom web browseru. Sa ASP-om, server ima priliku da 
izmijeni dokument prije nego ga pošalje korisniku, odnosno klijentu. Dakle, kada 
surfer zatraži neku stranicu sa nastavkom .asp, server je prvo obradi, izvrši 
komande koje su zadane u ASP dokumentu, i zatim šalje dokument klijentu. Na 
ovaj na

č

in postiže se interaktivnost, odnosno dinami

č

nost web stranica. Pomo

ć

Programiranje za Internet 

 

66 

ASP-a možete samo za

č

initi svoje stranice dodaju

ć

i sitne "cake" poput datuma, ili 

broja

č

a posjeta, ali možete napraviti i ogromne web-aplikacije za pristup bazama 

podataka, web-trgovine i sli

č

no. Da biste uspješno koristili ASP, morate koristiti 

Microsoftov web server, ili ta

č

nije - Microsoft Internet Information Server (IIS) 3.0 

ili ve

ć

i. To je ujedno i glavna mana ove tehnologije - ovisna je o Windows 

platformi, a na polju servera Unix i Linux zauzimaju zna

č

ajan procenat. Postoje i 

programi koji omogu

ć

avaju pokretanje ASP-a na Unix serverima. 

Svakako dobra strana ASP-a je što on nije scripting jezik, dakle ne morate u

č

iti 

njegovu sintaksu i komande da biste ga koristili. Microsoft ga naziva server-side 
scripting environment, tj. okruženjem za server-side scripting. On u stvari 
predstavlja kombinaciju HTML-a i nekog od skripting jezika - JavaScripta i 
VBScripta. Pošto se stranice obra

đ

uju na serveru, ne morate voditi ra

č

una o 

kompatibilnosti koda  koji ste napisali sa oba browsera, što je svakako još jedan 
plus za ovu tehnologiju. 

CGI - Perl 

Obi

č

ni HTML je sasvim dobar kada je rije

č

 o prikazivanju web stranica, grafike, 

postavljanja linkova, teksta i ostalih, "uobi

č

ajenih" radnji. Me

đ

utim, šta ako želite 

uraditi neke stvari koje su izvan njegove mogu

ć

nosti, kao npr. prikazati broja

č

 

posjeta, napraviti sobu za chatanje, prepoznati koji web browser koristi surfer i 
sli

č

no? Ove stvari zahtijevaju slanje podataka od surferovog web browsera ka 

serveru, koji zatim te podatke šalje programima koji ih obra

đ

uju i ponovno 

proslje

đ

uju serveru, nakon 

č

ega on šalje HTML dokument korisniku.  

CGI, što je skra

ć

enica od Common Gateway Interface, nije programski jezik nego 

protokol - skupina pravila po kojima server postupa pri "razgovoru" sa programom. 
Dakle, kada korisnik popuni formular na stranici i pritisne Enter, HTML kontroliše 
slanje podataka web serveru. On zatim proslje

đ

uje podatke Perl skripti (odnosno 

programu) koja procesira podatke. CGI odre

đ

uje kako se ti procesirani podaci 

vra

ć

aju nazad do web servera i zatim ponovo do korisnika. 

Perl je programski jezik koji se može izvršavati na i na Windows i na Unix 
serverima. Jedini uslov za funkcionisanje Perl skripti na serveru jeste postojanje 
Perl kompajlera. Dosta je raširen na Internetu i možete na

ć

i ogromnu koli

č

inu 

gotovih Perl scripti koje možete koristiti bez ikakvog pla

ć

anja autoru. Izvršava se 

brže od ASP-a i PHP-a, tako da je dobar izbor za procesiranje ve

ć

e koli

č

ine 

podataka i pristup velikim bazama podataka. Velika mana ovog programskog 
jezika jeste njegova kompleksnost i težina u

č

enja.  

Ova "jednostavna" Perl scripta 

ć

e prikazati vrijeme na web stranici: 

#usr/local/bin/perl 

print "Content-type.text/plain"," ", 

$time="Trenutno je;",$Time; 

exit(0); 

background image

Programiranje za Internet 

 

68 

5. Macromedia Dreamweaver 

5.1. Uvod u Macromedia Dreamweaver 

Iako se web stranice mogu kreirati 100% pomo

ć

u obi

č

nog tekst-editora, kao što je 

Notepad, postoje programski paketi koji taj posao uveliko olakšavaju. Najpoznatiji 
takav program je Macromedia Dreamweaver. 

Prije nego što po

č

nete da pravite Web strane pomo

ć

u Macromedia 

Dreamweaver-a, treba da upoznate razne Dreamwavereove alatke i panoe, koji 

ć

vam omogu

ć

iti da efikasno pravite Web prezentacije. Ako prvi put pokre

ć

ete 

Dreamweaver, prikazat 

ć

e se prozor dobrodošlice s informacijama za nove 

korisnike, kao i sažetak novih mogu

ć

nosti za one koji ve

ć

 poznaju program. 

Dugmad na paleti u dnu prozora služe za kretanje kroz informacije o programu. Po 
otvaranju Dreamweavera vidi se i prozor za nov dokument, u kome se obavlja 
projektovanje i programiranje. Možda se vide i panoi za dodavanje i mijenjanje 
teksta i objekata, za rad s datotekama prezentacije i drugo, Me

đ

u panoima koji se 

vide mogu biti traka Insert, pano za prikazivanje svojstava (Properties), prozor 
prezentacije (Site) i pano za odgovore (Answers). 

 

Slika 18. Pozdravni prozor Dreamweaver-a 

Ve

ć

ina Dreamweaverovih panoa svrstana je prema svojim funkcijama u slijede

ć

grupe: Design, Code, Application, Files i Answers. Grupe panoa omogu

ć

avaju da 

naj

č

ć

e korištenim panoima brzo pristupate i da ih jednako brzo sakrivate. Svim 

panoima (u pomenutim grupama i izvan njih) možete da pristupite iz menija 
Window. 

Programiranje za Internet 

 

69 

Ako ste ve

ć

 otvarali Dreamweaver, panoi 

ć

e biti smješteni tamo gdje ste ih ostavili 

kada ste posljednji put zatvorili program. Znak za potvrdu u meniju Window 
ozna

č

ava da su pano ili paleta alatki otvoreni i vidljivi. Može se desiti da pano 

bude sakriven ispod drugog panoa ili prozora dokumenta. Da biste prikazali 
sakriveni pano, ponovo ga izaberite u meniju Window. Ako se potrebni pano ne 
nalazi u trenutno vidljivoj grupi panoa, pojavit 

ć

e se i pano i njegova grupa. 

Ako je pano izabran, a ipak se ne vidi, izaberite Window, Arrange Panels da bi se 
svi paneli vratili na svoja podrazumijevana mjesta. Traka Insert 

ć

e oti

ć

i na svoje 

mjesto u gornjem lijevom uglu, pano svojstava (Properties) pre

ć

ć

e na dno 

prozora, a svi ostali otvoreni panoi na desnu stranu prozora.  

Najve

ć

i dio posla obavljate u prozoru dokumenta, gdje možete da umetnete, 

promijenite i izbrišete mnoštvo elemenata od kojih se sastoji Web strana. Dok 
radite, u prozoru dokumenta prikazuje se približan izgled strane u browseru: Nova 
strana se podrazumijevano zove "Untitled Document", što se vidi na naslovnoj traci 
dokumenta. Poslije naslova dokumenta, koji je prikazan i u polju Title na paleti 
alatki dokumenta, u zagradama je navedeno ime datoteke.  

U Dreamweaveru postoje tri na

č

ina prikazivanja: Design View, Code View i Split 

Design and Code. Dugmad za uklju

č

ivanje ovih prikaza nalaze se na lijevoj strani 

palete alatki dokumenta. Dugme aktivnog režima prikazivanja je uvijek istaknuto.  

 

 

a) "Code" prikazuje samo HTML  b) "Split" pokazuje i HTML i izgled 

 

c) "Design" prikazuje stranicu kako 

ć

e izgledati u pretraživa

č

Slika 19. Na

č

ini prikazivanja stranice 

background image

Programiranje za Internet 

 

71 

 

Slika 22. Pano Properties služi za podešavanje osobina objekata 

Pano Properties se koristi za pregled i mijenjanje atributa (svojstava) izabranog 
teksta, slika, tabela i ostalih elemenata strane. Njegov sadržaj se mijenja u 
zavisnosti od konteksta: atributi koje prikazuje zavise od toga šta je izabrano u 
prozoru dokumenta. Da biste smanjili ili proširili pano Properties, pritisnite dugme 
za proširenje u donjem desnom uglu panoa. Ako je pano smanjen, može biti 
dodatnih svojstava za 

č

ije prikazivanje nema mjesta i koja 

ć

e ostati nevidljiva dok 

ne proširite pano. 

Ve

ć

ina panoa koje 

ć

ete koristiti tokom pravljenja Web strana jesu usidreni – 

složeni u obliku kartica s jezi

č

kom – unutar grupa panoa. Sidrenje  pove

ć

ava 

slobodnu površinu prozora, a istovremeno omogu

ć

ava brz pristup potrebnim 

panoima. Svaka grupa panoa može biti proširena tako da se prikažu svi njeni panoi, 
odnosno sažeta tako da se vidi samo ime grupe.  

Ponekad ne

ć

ete mo

ć

i da prona

đ

ete odre

đ

eni pano (jedan od razloga za to može biti 

i promjena rezolucije). Ako vam neki pano treba, a ne možete da ga prikažete ni 
kada ga izaberete u meniju Window, izaberite opciju menija Window, Arrange 
Panels, pa 

ć

e se panoi prilijepiti uz ivice ekrana. 

 

5.2. Razvijanje strukture prezentacije 

Posvetite se pravljenju detaljne skice ili dijagrama toka prezentacije, jer 

ć

ete tako 

lakše razviti svoje zamisli, bolje shvatiti opseg projekta i uštedjeti vrijeme i resurse. 
Dobra Web prezentacija je intuitivna i ostavlja pozitivan i jedinstven utisak na 
posjetioca. Izrada dobre Web prezentacije po

č

inje definisanjem i sažetim 

prikazivanjem razloga i potrebe za takvom Web lokacijom. Zapitajte se ili pitajte 
naru

č

ioca prezentacije: zašto je ona potrebna i 

č

emu 

ć

e služiti? Šta ho

ć

ete da 

izrazite pomo

ć

u ove prezentacije i na koji na

č

in 

ć

ete to posti

ć

i? Kakav utisak 

ho

ć

ete da ostavite i šta posjetioci ove Web lokacije treba da zapamte? 

Poznavanje posjetilaca je suštinski zna

č

ajno. Ko 

ć

e posje

ć

ivati Web lokaciju? 

Definisanjem opšteg profila posjetilaca lakše 

ć

ete dosti

ć

i ciljnu grupu posjetilaca. 

Kada shvatite ko sa

č

injava vašu budu

ć

u publiku, zapitajte se kakvom tehnologijom 

oni raspolažu. Kakve softverske dodatke, browsere i operativne sisteme koristi 
ve

ć

ina budu

ć

ih posjetilaca? Sve to morate uzeti u obzir da bi im Web lokacija bila 

dostupna. Primjera radi, bilo bi pogrešno napraviti prezentaciju s elementima koje 

Programiranje za Internet 

 

72 

podržavaju samo najnoviji i najsavremeniji browseri, ako vaša publika uglavnom 
koristi starije ra

č

unare na kojima se takvi browseri uopšte ne mogu pokrenuti. 

Web lokacije u velikoj mjeri zavise od strukture i koriš

ć

enja datoteka; loše 

struktuirana Web lokacija zbunjuje posjetioca dok se kre

ć

e po njoj, i teško se 

koristi i održava. Da biste napravili jasnu lokaciju, koja je komunikativna i lako se 
koristi, morate do kraja da isplanirate strukturu i hijerarhiju datoteka i direktorija 
unutar Web lokacije prije nego što po

č

nete da pravite HTML dokumente. 

Važan dio priprema za projektovanje i izradu Web prezentacije jeste definisanje i 
prikupljanje njenih sastavnih dijelova: teksta, slika i multimedijskih elemenata. 

 

5.3. Definisanje lokalne web prezentacije 

Prvi korak u pravljenju Web prezentacije – koji treba obaviti prije nego što po

č

nete 

izradu Web stranica – jeste biranje postoje

ć

eg ili pravljenje novog direktorija koji 

ć

e sadržavati cjelokupnu budu

ć

u Web prezentaciju. Ovaj postupak se naziva 

"definisanje lokalne "Web prezentacije". Izabrani direktorij, lokalni korijenski 
direktorij, definiše granice lokalne Web prezentacije na vašem lokalnom disku i 
odražava stanje udaljene Web lokacije, tj. stvarne lokacije na Web serveru kojoj 

ć

posjetioci pristupati. Pri definisanju lokalne Web prezentacije možete da zadate 
istu hijerarhiju direktorija u lokalnoj i udaljenoj verziji, što je nezaobilazno 
prilikom izrade i održavanja aktivne lokacije. 

Pravljenjem lokalne Web prezentacije, koja se sastoji od lokalnog korijenskog 
direktorija unutar kojega 

ć

ete izgraditi strukturu datoteka i direktorija budu

ć

lokacije, sprije

č

it 

ć

ete tu lokaciju da pristupa drugim datotekama izvan lokalnog 

korijenskog direktorija. Datoteke na lokalnom disku koje se nalaze izvan lokalnog 
korijenskog direktorija ne

ć

e biti dostupne udaljenom serveru. 

Da bi mnoge Dreamweaverove funkcije, kao što je mogu

ć

nost ažuriranja svih 

referenci datoteke koja je premještena u drugi direktorij lokacije, mogle da rade u 
potpunosti, lokalna lokacija mora biti definisana. Mjesto 

č

uvanja i hiperveze do 

svih datoteka koje lokacija sadrži bit 

ć

e relativne, zadate u odnosu na korijenski 

direktorij lokacije. Uvijek bi trebalo da pravite lokalne Web prezentacije i da radite 
unutar njih. Ako to ne budete 

č

inili, imat 

ć

ete problema s hipervezama, putanjama i 

korištenjem datoteka.  

Prezentaciju 

ć

ete razvijati unutar lokalne prezentacije na lokalnom disku, gdje 

ć

ete 

napraviti i testirati Web strane. Kada otpo

č

nete izradu novih Web prezentacija, 

morat 

ć

ete za njih da napravite ili izaberete osnovne direktorije. 

Ime osnovnog direktorija može da bude jednako imenu odgovaraju

ć

e prezentacije, 

a i ne mora. Ako pravite mnogo prezentacija, koristite imena koja se lako razlikuju. 
Ime osnovnog direktorija služi samo vama, za rad s datotekama, pošto ga posjetioci 
budu

ć

e Web lokacije ne

ć

e vidjeti. 

 

background image

Programiranje za Internet 

 

74 

radio-dugme "No, I do not want to use a server technology". (Ne

ć

u.) Pritisnite Next 

kako biste prešli u sljede

ć

i odjeljak. 

Za izradi stati

č

kih prezentacija izaberite opciju No. Definiciju prezentacije uvijek 

možete da izmijenite kad izaberete opciju menija Site, Edit Sites... Ovaj dio kartice 
Basic odgovara kategoriji Testing Server na kartici Advanced, gdje imate i dodatne 
mogu

ć

nosti za pravljenje dinami

č

kih prezentacija, kao što je biranje modela 

servera koji 

ć

e se koristiti na udaljenom serveru. 

 

Slika 24. Izbor na

č

ina rada sa datotekama 

Na vrhu ovog podru

č

ja Dreamweaver pita: "How do you want to work with your 

files during development?" (Izaberite na

č

in rada s datotekama tokom razvoja ove 

prezentacije.) Pritisnite radio dugme, "Edit local copies on my machine, then 
upload to server when ready (recommended)". 

U istom podru

č

ju, Dreamweaver pita: "Where on your computer do you want to 

store your files?" (Gdje 

ć

ete smjestiti datoteke ove prezentacije?). Treba izabrati 

neki lokalni direktorij.  

Ovdje izabrani direktorij odgovara korijenskom direktoriju udaljene Web lokacije. 
Dreamweaver 

ć

e pomo

ć

u lokalnog korijenskog direktorija odrediti putanje 

dokumenata, slika i hiperveza vaše prezentacije.  

Kada budete pravili druge prezentacije, a niste sami prethodno napravili potreban 
direktorij, možete pustiti Dreaweaver da automatski napravi korijenski direktorij na 
osnovu imena prezentacije koje ste zadali. 

Ovo podru

č

je kartice Basic odgovara polju Local Root Folder u kategoriji Local 

Info na kartici Advanced. Napredni (eng. advanced) na

č

in definisanja prezentacije 

ima i opciju Refresh Local File List Automatically, koja je podrazumijevano 
uklju

č

ena, a 

č

ini da Dreamweaver automatski ažurira spisak korištenih datoteka 

kad god dodate novu datoteku u direktorij prezentacije. Ako uklonite potvrdu ove 
opcije, morat 

ć

ete ru

č

no da ažurirate lokalne datoteke kad god dodate ili uklonite 

neku datoteku. Još jedna podrazumijevano uklju

č

ena opcija na kartici Advanced je 

Enable Cache, koja dodjeljuje memoriju za 

č

esto korištene elemente prezentacije. 

Time se pove

ć

ava brzina povezivanja i izvršavanja zadataka održavanja Web 

lokacije. Premda ovu opciju obi

č

no treba ostaviti potvr

đ

enu, imajte u vidu da 

ponovno upisivanje sadržaja u memoriju usporava rad na veoma velikim Web 
lokacijama. 

Programiranje za Internet 

 

75 

Pritisnite Next da biste prešli na sljede

ć

i korak. Izaberite "None" u padaju

ć

oj listi 

ispod pitanja "How do you connect to your remote server?" (Kako se povezujete s 
udaljenim serverom?), ako radite isklju

č

ivo na lokalnoj prezentaciji i ako ne

ć

ete 

morati da pristupate udaljenom Web serveru. 

Ovom podru

č

ju kartice Basic odgovara kategorija Remote Info na kartici 

Advanced, gdje ima dodatnih opcija za definisanje prenosa datoteka na udaljeni 
server. 

Pritisnite Next da biste prešli na sljede

ć

i korak. Pregledajte podatke o prezentaciji 

koje ste dosad zadali i pritisnite dugme Done na dnu okvira za dijalog. 

Kako ste u odjeljcima Application Server i Remote Info izabrali No, Dreamweaver 

ć

e kao vrijednost obje opcije prikazati tekst "Access; I'll set this up later". Kada 

pritisnete dugme Done, Dreamweaver 

ć

e možda prikazati obavještenje da priprema 

memoriju za ovu prezentaciju. Pritisnite OK i Dreamweaver 

ć

e pregledati datoteke 

u direktoriju DWMX-project, kako bi mogao da pripremi memoriju i da prikaže 
prozor Site kada završi s tim. 

Aktivirat 

ć

e se pano Site (Windows) i prikazati kreirani direktorij, u desnom oknu 

prozora, u koloni Local Files. 

 

5.4. Zadavanje browsera 

Tokom razvoja Web strana morat 

ć

ete stalno da provjeravate kako vaš rad izgleda 

u razli

č

itim browserima, kao što su Netscape, Firefox ili Internet Explorer. Ono što 

vidite u prozoru Dreamweavera samo je približno jednako stvarnom izgledu 
prezentacije. Svaki browser prikazuje Web strane na razli

č

it na

č

in, i mada su neke 

od tih razlika neznatne, druge su veoma zna

č

ajne. Primijetit 

ć

ete razlike 

č

ak i 

izme

đ

u prikaza koje daju razli

č

ite verzije istog browsera. Što više budete 

provjeravali izgled prezentacije u  raznim browserima i operativnim sistemima i 
pravili odgovaraju

ć

e izmjene, bit 

ć

ete sigurniji da 

ć

e posjetioci Web lokacije njene 

strane vidjeti kao što ste zamislili. Kartica Preferences u Dreamweaveru služi za 
zadavanje browsera u kojima 

ć

ete provjeravati izgled strana prezentacije. Da biste 

ubrzali provjeru, zadajte prvi i drugi podrazumijevani browser i za svaki definišite 
pre

č

icu s tastature. 

Izaberite File, Preview in Browser, Edit Browser List. 

Otvorit 

ć

e se okvir za dijalog Preferences i prikazati browsere izabrane za provjeru. 

Dreamweaver 

ć

e automatski prikazati spisak browsera instaliranih u ra

č

unaru. 

Kada pritisnete ime browsera u spisku, polja za potvrdu ispod spiska (Defaults: 
Primary Browser, odnosno Secondary Browser) pokazat 

ć

e da li se radi o 

primarnom ili sekundarnom browseru. Ako imate više od dva instalirana browsera, 
ni u jednom od polja za potvrdu ne

ć

e biti znaka za potvrdu, što zna

č

i da tek treba 

da izaberete koji browseri 

ć

e biti podrazumijevani. 

background image

Programiranje za Internet 

 

77 

ASP i ColdFusion. U spisku kategorija birate vrstu strane - ponu

đ

eni su šabloni 

(eng. Templates), kaskadni opisi stilova (eng. CSS Style Sheets), skupovi okvira 
(eng. Framesets) i gotovi modeli HTML strana (eng. Page designs).  

Na dnu okvira za dijalog New Document nalazi se opcija Make Document 
XHTML Compliant (neka dokument bude kompatibilan sa jezikom XHTML). 
Jezik za opisivanje Web strana HTML ograni

č

en je, naro

č

ito po tome što nove 

mogu

ć

nosti nisu kompatibilne s njegovim starijim verzijama, a postoji i mnogo 

problema s izvršavanjem na razli

č

itim platformama. Jezik XHTML (eXtensible 

HTML) proširuje mogu

ć

nosti HTML-a, pretvaraju

ć

i ga u jezik tipa XML  

(eXtensible Markup Language) u koji su ugra

đ

ene mogu

ć

nosti proširenja. 

Prednosti korištenja XHTML-a obuhvataju kompatibilnost sa starijim i novijim 
verzijama, izvršavanje na razli

č

itim ure

đ

ajima za pristupanje Webu - kao što su 

mobilni telefoni i ru

č

ni ra

č

unari, i mogu

ć

nost proširenja.  

Ne odlažite snimanje Web strane dok na nju ne stavite tekst ili slike, ve

ć

 ih 

snimajte 

č

im otvorite nov dokument. Ukoliko najprije snimite datoteku, sve 

putanje, koje referenciraju slike i ostale elemente koje budete uvozili, bi

ć

e propisno 

formirane. Ukoliko ne snimite datoteku, za opis mjesta elementa koji se uvozi 
koristit 

ć

e se referenca "file://putanja", relativno u odnosu na hard disk. Ako 

pokušate da umetnete objekat na stranu, a da prethodno niste snimili dokument, 
Dreamweaver 

ć

e vas upozoriti da za taj element mora da upotrijebi referencu 

file://putanja.  

Jedna od naj

č

ć

ih po

č

etni

č

kih grešaka u HTML dokumentu su apsolutne putanje 

koje pokazuju na lokalni disk onoga ko je kreirao web prezentaciju umjesto na 
datoteku na serveru gdje je mogu vidjeti svi korisnici Interneta. 

Možete da koristite nastavak imena (oznaku tipa) datoteka .html ili .htm. Kada 
snimite dokument, Dreamweaver mu automatski dodaje nastavak imena .htm  ili 
.html. Podrazumijevani nastavak imena možete da vidite kada izaberete Edit, 
Preferences i kategoriju New Document – on je prikazan u tekstualnom polju, 
mada je nedostupan (sive boje). Oba nastavka imena predstavljaju istu vrstu 
datoteke, ali na istom serveru (i u istom direktoriju) možete da 

č

uvate i uvod.html i 

uvod.htm, jer te datoteke ipak imaju razli

č

ita imena. Obi

č

no je lakše držati se 

jednog ili drugog, kako biste izbjegli greške prilikom pravljenja hiperveza. 
(Hiperveza s datotekom uvod.html ne povezuje posjetioca s datotekom uvod.htm.)  

Davanje imena datotekama koje 

ć

e se koristiti na Web serveru razlikuje se od 

imenovanja datoteka za koriš

ć

enje sa lokalnog diska. Prvo, morate da saznate 

operativni sistem koji se izvršava na serveru – naj

č

ć

e su to Unix, Linux, 

Windows NT (Windows 2000 server) i Macintosh. Struktura imena se razlikuje na 
svakoj od ovih platformi. Primjera radi, Unix i Linux razlikuju mala i velika slova 
u imenima i ekstenzijama datoteka, pa u njima datoteka_1.htm nije isto što i 
DATOTEKA_1.HTM. Korištenje malih slova pojednostavljuje imenovanje 
datoteka i olakšava održavanje ujedna

č

enosti. Za imena datoteka upotrebljavajte 

samo slova (A-Z) i brojke (0-9). Evo još nekih važnih konvencija: 

Programiranje za Internet 

 

78 

 

U imenima datoteka ne smije biti razmaka (praznih mjesta). Ako treba 
razdvojiti rije

č

i, upotrijebite podcrtu (_) ili crticu (-). Razmaci izazivaju 

probleme zato što ih browseri zamjenjuju oznakom %20. 

 

Ne smijete koristiti specijalne znakove kao što su %, *, > ili /. 

 

Ne po

č

injite imena datoteka brojkom. 

Koristite što kra

ć

a imena datoteka i direktorija. Vodite ra

č

una o tome da ime 

direktorija postaje sastavni dio URL adrese koju korisnik mora da otkuca da bi 
pristupio strani. Prilikom davanja imena direktorijima, pridržavajte se gore 
navedenih smjernica za imenovanje datoteka. 

 

5.5.1. Dajte naslov web strani 

Svaki HTML dokument mora imati naslov, koji služi prvenstveno za identifikaciju. 
On se prikazuje na naslovnoj traci browsera, ukazuje na sadržaj strane i automatski 
postaje ime obilježiva

č

a (eng. Bookmark, Favorite) koji korisnik može da priloži 

svojoj kopiji Web strane. Birajte kratke, informativne izraze koji opisuju namjenu 
dokumenta. Neka vam pre

đ

e u naviku da svakoj strani date naslov prije nego što 

po

č

nete da joj dodajete tekst i slike. Ako zaboravite na to, Dreamweaver 

ć

e strani 

dati ime Untitled Document. Na Internetu možete prepoznati stranice koje su 
uradili loši dizajneri upravo po ovom detalju. 

Upišite Ispitni zadaci u polje Title na paleti alatki dokumenta. Pritisnite Enter. 

 

Slika 26. Naslov web stranice 

Ako ne vidite paletu alatki dokumenta na kojoj je polje Title, izaberite opciju 
menija View, Toolbars, Document. Polje Title na po

č

etku prikazuje naslov 

"Untitled Document", pa 

ć

ete sada zamijeniti taj naslov pravim naslovom uvodne 

strane prezentacije. 

 

5.5.2. Zadavanje boje pozadine 

U Dreamweaveru se boja pozadine lako mijenja pomo

ć

u specijalne palete boja za 

Web (eng. Web-safe color palette). Na toj paleti ima 216 boja koje jednako 
izgledaju u Windowsu i na Macintoshu. Pristupit 

ć

ete toj paleti iz okvira za dijalog 

Page Properties i promijeniti boju pozadine dokumenta. Izaberite Modify, Page 
Properties. Otvorit 

ć

e se okvir za dijalog Page Properties. U njemu nema 

podrazumijevanih opcija, premda je u Dreamweaveru podrazumijevana boja 

background image

Programiranje za Internet 

 

80 

5.5.3. Slika na pozadini strane 

Na pozadinu se obi

č

no stavlja mali grafi

č

ki objekat, 

č

ijim kopijama se poplo

č

ava 

cijela strana. Strana može imati definisanu i boju i sliku za pozadinu. Ako je veza 
korisnika s Internetom spora ili mu je browser spor, prvo 

ć

e se prikazati boja 

pozadine, što je dobar razlog da je zadate 

č

ak i u slu

č

aju da namjeravate da stavite 

sliku na pozadinu. U

č

itana slika za pozadinu prikazuje se i prekriva definisanu boju 

pozadine. 

Izaberite Modify, Page Properties. Otvorit 

ć

e se okvir za dijalog Page Properties. 

Pritisnite dugme Browse do polja Background Image. Izaberite sliku; zatim 
pritisnite OK da bi se zatvorio okvir za dijalog Page Properties. 

Sve što ste izabrali primjenjuje se na dokument; vidjet 

ć

ete kako slika poplo

č

ava 

prozor dokumenta.  

Ako treba da uklonite sliku sa pozadine, otvorite okvir za dijalog Page Properties i 
obrišite ime datoteke u polju Background. Ako niste snimili datoteku odmah po 
otvaranju dokumenta, u polju Background se prikazuje cjelokupna putanja izabrane 
slike na disku. Kada snimite datoteku, putanja 

ć

e se izmijeniti i pokazivat 

ć

e mjesto 

č

uvanja slike u odnosu na lokalni korijenski direktorij. Uvijek treba snimiti 

datoteku prije uvoženja bilo kakvog sadržaja strane, 

č

ak i slike za pozadinu.  

 

5.5.4. Zadavanje podrazumijevane boje fonta 

Kada izmijenite boju pozadine ili stavite sliku na nju, može postati uputno da se 
izmijeni i boja slova teksta koji se prikazuje u prvom planu: primjera radi, crni 
tekst se ne vidi na crnoj pozadini: prilikom biranja šeme boja za dokument, 
izaberite kombinacije boja koje se dobro slažu i koje su dovoljno kontrastne. Sli

č

ne 

boje se teško razlikuju, a isto važi i za komplementarne boje, naro

č

ito na ekranu 

monitora.  

Izaberite Modify, Page Properties. Otvorit 

ć

e se okvir za dijalog Page Properties. 

Pritisnite polje za boju teksta, desno od odrednice Text. Prikazat 

ć

e se paleta boja 

kao ona za boju pozadine. Pipetom izaberite boju s palete, ili upišite njen 
heksadecimalni kod u tekstualno polje. Kada pritisnete OK, zatvorit 

ć

e se okvir za 

dijalog Page Properties i vratit 

ć

ete se u dokument. 

 

5.6. Smještanje teksta na stranu 

Tekst možete da upišete neposredno u dokument. Obi

č

no se na po

č

etku stranice 

nalazi neki naslov, koji se ozna

č

i tagom "Heading". U padaju

ć

oj listi Format na 

panou Properties izaberite opciju Heading 4. Upisanom tekstu ste dali HTML 
oznaku naslova 

č

etvrtog nivoa. 

Programiranje za Internet 

 

81 

 

Slika 28. Izbor oznake naslova 4. nivoa (Heading 4) 

HTML ima šest nivoa naslova, s oznakama od Heading 1 do Heading 6. Naslov 
prvog nivoa. Heading 1, ima najve

ć

a slova. Naslovi se prikazuju ve

ć

im ili debljim 

slovima od ostatka teksta. Kada pasusu dodate HTML oznaku naslova (eng. 
Heading), automatski se ispod njega dodaje odre

đ

en prazan prostor, 

č

iju veli

č

inu 

ne možete da mijenjate. 

U mnogim dokumentima, prvi naslov na strani jednak je naslovu prezentacije. Ako 
dokument ima više dijelova, tekst prvog naslova treba da se odnosi na prvi dio 
dokumenta, npr. naslov prvog poglavlja. Prethodno zadati naslov prezentacije treba 
da odredi dokument u širem kontekstu, npr. da sadrži i naslov knjige i naslov 
poglavlja. 

Kada pritisnete Enter, time ste ispod naslova "Ispitni zadaci" dodali još jedan red, 
koji podrazumijevano dobija HTML oznaku pasusa. Za obi

č

an tekst koristi se, po 

pravilu, format pasusa. 

Kad god izmijenite dokument, Dreamweaver dodaje zvjezdicu (*) do imena 
datoteke na vrhu prozora dokumenta. Ona ozna

č

ava da je datoteka promijenjena, a 

da potom nije snimljena. Zvjezdica 

ć

e nestati kada snimite dokument. 

Č

esto 

snimajte dokument  kako biste umanjili rizik od gubitka uloženog rada kada se 
Dreamweaver ili operativni sistem sruše (radi brzine koristite: Ctrl+S).  

 

5.6.1. Uvoženje teksta 

Tekst se strani može dodati kopiranjem i prenošenjem iz drugog dokumenta. Ako 
tekst poti

č

e iz aplikacije koja podržava kopiranje prevla

č

enjem i puštanjem (poput 

Microsoftovog Word-a, na primjer), možete da otvorite i Dreamweaver i tu 
aplikaciju i zatim da kopirate i umetnete tekst u Dreamweaver, ili da ga izaberete i 
prevu

č

ete u Dreamweaver. 

Dreamweaver može da otvori datoteke napravljene u programima za obradu teksta 
ili programima za prelom strana, ukoliko su snimljene kao ASCII datoteke (

č

ist 

background image

Programiranje za Internet 

 

83 

 

Slika 29. Alati za poravnanje teksta, ozna

č

avanje spiskova i za uvla

č

enje teksta 

 

5.6.3. Pravljenje spiskova 

Dreamweaver omogu

ć

ava pravljenje dvije vrste spiskova (lista): neure

đ

enih i 

ure

đ

enih. Ure

đ

ena lista (eng. ordered list) sadrži stavke odvojene rednim brojevima 

ili slovima abecede, i pore

đ

ane u numerisani, odnosno abecedni spisak. Možete da 

koristite arapske ili rimske brojeve, odnosno velika ili mala slova abecede. 
Neure

đ

ena lista (eng. unordered list) 

č

esto se naziva lista nabrajanja, jer svaka 

stavka u njoj po

č

inje znakom za nabrajanje (bulletom). Podrazumijevani znak za 

nabrajanje koji Dreamweaver prikazuje može biti zamijenjen punim krugom, 
kružnicom ili kvadratom. 

 

Slika 30. Osobine neure

đ

ene liste i tipka "List Item..." 

Šemu numerisanja ure

đ

ene liste promijenit 

ć

ete izmjenom njenih svojstava. 

Pritisnite bilo koji red spiska. Zatim pritisnite dugme List Item na panou Properties. 

Izaberite samo jedan red liste. Ako izaberete cijelu listu, dugme List Item 

ć

e postati 

nedostupno i sivo. Ako se dugme ne vidi, pritisnite strelicu za proširenje u donjem 
desnom uglu panoa Properties. Otvorit 

ć

e se okvir za dijalog List Properties. 

Ure

đ

ena lista se u padaju

ć

oj listi List Type naziva Numbered List. 

U padaju

ć

oj listi Style izaberite opciju Alphabet Small (a, b, c). Zatim pritisnite 

OK. Alphabet Small se prikazuje kao opcija u padaju

ć

oj listi Style samo ako ste 

pritisnuli dugme Ordered List. Ako ste pritisnuli dugme Unordered List, prije 
biranja stila morate da izaberete opciju Numbered List u padaju

ć

oj listi List Type. 

Redni brojevi liste pretvoreni su tako u mala slova abecede. 

Programiranje za Internet 

 

84 

Podru

č

je List Item na dnu okvira za dijalog sadrži padaju

ć

u listu New Style, 

pomo

ć

u koje mijenjate izgled pojedine stavke ili grupe stavki spiska, umjesto 

cijelog spiska. U istom podru

č

ju je i polje Reset Count To, koje služi za 

proizvoljno zadavanje rednog broja stavke u kojoj se nalazi ta

č

ka umetanja; sve 

naredne stavke automatski dobijaju slijede

ć

e redne brojeve. 

Slijedi opis postupka izrade i modifikovanja neure

đ

ene liste. Izaberite dio teksta i 

pritisnite dugme Unordered List na panou Properties. Izabrani tekst 

ć

e biti uvu

č

en i 

dobit 

ć

e znakove za nabrajanje. 

Podrazumijevani znak za nabrajanje neure

đ

enih lista možete da promijenite 

imenom odgovaraju

ć

ih svojstava, isto kao kod ure

đ

enih lista. U padaju

ć

oj listi List 

Type, neure

đ

ena lista se naziva Bulleted List. Pritisnite bilo koji red u listi i 

izaberite opciju menija Text, List, Properties. Otvorit 

ć

e se okvir za dijalog List 

Properties. U padaju

ć

oj listi Style izaberite npr. opciju Square i pritisnite OK  

Sve stavke u listi dobit 

ć

e kvadrat (eng. square) kao znak za nabrajanje. 

Boja rednih brojeva i znakova za nabrajanje, koji se koriste u ure

đ

enim i 

neure

đ

enim listama, jednaka je podrazumijevanoj boji teksta dokumenta, koju 

zadajete u okviru za dijalog Page Properties. 

 

5.6.4. Ugnjež

đ

ivanje lista 

Liste se mogu ugnjež

đ

ivati, odnosno stavljati unutar drugih lista. Vrstu liste je 

mogu

ć

e promijeniti i kada je ugnijež

đ

ena. Primjera radi, unutar neure

đ

ene liste 

možete imati ure

đ

enu listu. Kada ugnjež

đ

ujete liste, podrazumijevano se koriste 

puni krugovi, kružnice i kvadrati (tim redom) kao znakovi za nabrajanje. U 
Dreamweaveru se ti znakovi za nabrajanje nazivaju bullet, circle i square. 
Odgovaraju

ć

i termini u HTML-u su disc, circle i square.  

Neki browseri prikazuju šuplje kvadrate kao znakove za nabrajanje. Takav je, na 
primjer, Netscape 4.7 za Macintosh. Internet Explorer 5.0 za Macintosh prikazuje 
ispunjene kvadrate. U Windowsu su kvadrati ispunjeni. 

Da biste ugnijezdili stavku koju 

ć

ete napraviti, pritisnite dugme Text Indent na 

panou Properties. Stavka 

ć

e biti uvu

č

ena na slijede

ć

i nivo. 

Ako ho

ć

ete da uklonite ugnijež

đ

enu listu, stavite kursor u nju, ali nemojte je 

ozna

č

iti. Pritisnite dugme Text Outdent na panou Propperties i zatim uklonite 

ugnijež

đ

eni tekst. 

 

5.6.5. Formatiranje znakova 

Da biste istakli odre

đ

ene stavove, rije

č

i ili izraze, u Dreamweaveru možete na tekst 

da primijenite više opcija formatiranja. To su polucrni (podebljani) ispis  (eng. 
bold), kurzivni ispis (eng. italic) i podvla

č

enje (eng. underline) teksta. 

background image

Programiranje za Internet 

 

86 

 

Da biste dodali font koji nije instaliran na sistemu: upišite ime fonta u polje 
ispod liste Available  Fonts i pritisnite dugme sa dvostrukom strelicom; time 

ć

ete izabrani font dodati kombinaciji. Dodavanje fonta koji nije instaliran na 

sistemu korisno je, na primjer, za zadavanje odre

đ

enog Windowsovog fonta 

kada radite na Macintoshu. 

 

Da biste premjestili kombinaciju fontova naviše ili naniže u listi: pritiskajte 
dugmad sa trougli

ć

ima okrenutim nagore i nadole u gornjem desnom uglu 

okvira za dijalog. 

 

Slika 31. Izbor kombinacije fontova 

Možete da uklonite podešene parametre fontova i vratite tekst u podrazumijevani 
font: najprije izaberite tekst ispisan fontom koji ho

ć

ete da uklonite, a potom 

izaberite opciju Default Font u padaju

ć

oj listi Font na panou Properties. Možete i 

da izaberete opciju menija Text, Font, Default Font. 

 

5.6.7. Promjena veli

č

ine fonta 

U HTML-u su mogu

ć

nosti mijenjanja veli

č

ine fonta prikazanog na strani 

ograni

č

enje. Izgled strane 

ć

ete bolje kontrolisati ako koristite kaskadne opise 

stilova (eng. cascading style sheets, CSS). 

Veli

č

ine fontova u listi poslagane su od 1 do 77, od +1 do +7 i od –1 do –7. Ako 

izaberete broj bez predznaka (1 je najmanji font, a 7 najve

ć

i), zadali ste apsolutnu 

veli

č

inu fonta. Biranjem broja s predznakom plus ili minus, zadajete relativnu 

veli

č

inu fonta u odnosu na njegovu osnovnu veli

č

inu. Broj +1, na primjer, zadaje 

font za jedan broj ve

ć

i od njegove osnovne veli

č

ine. 

Podrazumijevana osnovna veli

č

ina fonta u browseru je 3. Ako izaberete +3 za 

veli

č

inu fonta, zapravo ste zadali 6 (3+3). Najve

ć

a veli

č

ina fonta je 7, a najmanja 1. 

Svaki font ve

ć

i od 7 prikazuje se veli

č

inom 7; primjera radi, ako izaberete veli

č

inu 

fonta +6, 3+6 je ve

ć

e od 7, ali 

ć

e se ipak prikazati font veli

č

ine 7. 

Korištenje relativnih veli

č

ina fontova omogu

ć

ava ve

ć

u kontrolu nad izgledom 

strane kao cjeline, odnosno nad izgledom dijela teksta u odnosu na ostatak strane; 
po pravilu, korisnici lakše rade sa relativnim veli

č

inama nego sa apsolutnim. 

 

Programiranje za Internet 

 

87 

5.6.8. Mijenjanje boje slova 

U Dreamweaveru se boja teksta lako mijenja. 

Prozor za biranje boja se automatski zatvara kada pritisnete neki uzorak boje, koju 
Dreamweaver odmah primjenjuje na tekst. Prozor za biranje boja možete otvoriti i 
pomo

ć

u opcije menija Text, Color, 

č

ime nekoliko takvih prozora postaje dostupno. 

Sve boje koje upotrijebite u prezentaciji 

č

uvaju se na panou Assets. Da biste isti 

skup boja mogli dosljedno da koristite u cijeloj prezentaciji, snimite naj

č

ć

korištene boje u direktorij Favorites na panou Assets: Pritisnite strelicu lijevo od 
grupe panoa Files. Prikazat 

ć

e se grupa panoa Files, u kojoj se nalazi i pano Assets. 

Ako grupa panoa Files nije otvorena, izaberite Window, Assets. Na panou Assets 
pritisnite ikonicu Colors u lijevoj koloni, a zatim radio-dugme Site pri vrhu panoa. 
Prikazat 

ć

e se sve boje koje ste ve

ć

 koristili u prezentaciji "Ispitni zadaci". 

Izaberite jednu od boja iz spiska boja upotrijebljenih u prezentaciji, prikazanog na 
panou Assets. Pritisnite dugme Add to Favorites u donjem desnom uglu panoa 
Assets. Dreamweaver 

ć

e prikazati okvir za dijalog s porukom da je izabrana boja 

dodata u listu Favorites. Da biste vidjeli spisak naj

č

ć

e korištenih boja, Favorites, 

pritisnite istoimeno radio-dugme pri vrhu panoa Assets.  

 

Slika 32. Lista korištenih boja u dokumentu 

 

5.7. Definisanje html stilova 

Da bi Web strane bile zanimljivije, ispisuju se raznim fontovima. Oblik, veli

č

inu i 

boju slova možete lako da mijenjate, ali ako ho

ć

ete da upotrijebite nekoliko 

kombinacija boja, oblika i veli

č

ina slova za cijelu prezentaciju, te kombinacije 

parametara morali biste da pamtite od strane do strane i od jedne selekcije do 
druge. HTML stilovi 

č

uvaju formatiranje slova i pasusa izabranog dijela teksta, 

koje možete ponovo da upotrijebite u drugim pasusima istog dokumenta i u drugim 
dokumentima. HTML stilovi 

č

ine da dokumenti izgledaju ujedna

č

enije, postupak 

formatiranja teksta je znatno ubrzan, a iste stilove možete da koristi cijeli tim 
dizajnera. Ako izmijenite ili obrišete odre

đ

eni HTML stil, to nimalo ne uti

č

e na 

izgled teksta ve

ć

 formatiranog tim stilom. 

background image

Programiranje za Internet 

 

89 

HTML Styles nije potvr

đ

eno. Zatim treba da izaberete stil koji ho

ć

ete da obrišete i 

da pritisnete sli

č

icu korpe za otpatke u donjem desnom uglu panoa. Ako zaboravite 

da isklju

č

ite opciju Auto Apply, a ima izabranog teksta, taj tekst 

ć

e možda biti 

formatiran stilom koji ste htjeli da uklonite. Formatiranje teksta možete da uklonite 
kada izaberete tekst i zatim opciju Clear Paragraph Style ili Clear Selection Style 
na panou HTML Styles. Tekst 

ć

e izgubiti sve formatiranje, bez obzira na to da li 

mu je ono preneseno pomo

ć

u HTML stila ili pomo

ć

u panoa Properties. Ako brišete 

stil pasusa,a kursor možete da smjestite bilo gdje u pasus – ne morate da birate 
cijeli pasus. 

HTML stilovi koje napravite mogu se primijeniti u drugim projektima i dijeliti s 
ostalim korisnicima. Kada definišete HTML stil, u direktoriju Library se snima 
datoteka Styles.html. Tu datoteku možete da kopirate i premjestite u druge 
direktorije prezentacije, ali da je podijelite s ostalim saradnicima. 

 

5.8. Dodavanje specijalnih znakova 

Prilikom rada u Dreamweaveru katkada zatrebaju znakovi i ostale informacije 
kojima ne možete pristupiti direktno sa tastature. Ovi specijalni znakovi imaju 
specifi

č

ne HTML kodove ili alternativne pre

č

ice s tastature koje je teško zapamtiti. 

Zadajte naredbu Insert, HTML, Special Characters, a zatim izaberite znak koji 
treba ubaciti u tekst. Ako tog znaka nema na spisku ponu

đ

enih, izaberite naredbu 

Other... 

 

Slika 34. Dodavanje specijalnih znakova 

 

5.9. Dodavanje horizontalnih linija 

Horizontalna linija se pruža preko cijele strane i vizuelno odvaja dijelove 
dokumenta. Zadajte naredbu Insert, HTML, Horizontal Rule. Dok je horizontalna 
linija izabrana, upišite 70 u polje W na panou Properties. Izaberite % u padaju

ć

oj 

listi desno od broja koji ste upravo upisali. 

Programiranje za Internet 

 

90 

Horizontalna linija 

ć

e tako zauzeti 70 odsto širine (eng. width, W) prozora 

browsera, bez obzira na širinu samog prozora. Linija se prikazuje kao tanka pruga. 

Ako ho

ć

ete da zadate apsolutnu širinu linije, izaberite opciju pixels u padaju

ć

oj 

listi. U tom slu

č

aju, linija ne mijenja širinu kada korisnik promijeni veli

č

inu 

prozora browsera. 

Pritisnite polje Shading kako biste uklonili znak za potvrdu iz njega. U polje H 
upišite 1. Kad se ukloni potvrda iz polja Shading, prikazuje se puna linija. 
Horizontalna linija je visoka (eng. height, H) 3 piksela. 

Horizontalnu liniju možete i da poravnate s lijevom marginom, sa desnom 
marginom ili centralno. Podrazumijevano poravnanje horizontalne linije je 
centralno. 

 

Slika 35. Osobine horizontalne linije 

Izgled linije možete da promijenite kada je izaberete i promijenite joj parametre na 
panou Properties. 

 

5.10. Automatsko dodavanje datuma 

Katkada treba voditi ra

č

una o tome kada ste posljednji put izmijenili stranu u 

prezentaciji. Dreamweaver može da stavi datum i vrijeme posljednje izmjene na 
sve strane prezentacije i da ih automatski ažurira svaki put kada snimite datoteku, 
da to ne biste radili ru

č

no. 

To nije dinami

č

ki datum koji se mijenja svaki put kada korisnik pristupi strani, 

nego datum koji govori posjetiocima kada ste posljednji put ažurirali sadržaj Web 
lokacije. Postavite kursor tamo gdje ho

ć

ete da umetnete datum. Datum se obi

č

no 

prikazuje na dnu strane. Okvir za dijalog Insert Date može da otvorite pomo

ć

opcije menija Insert, Date. 

 

Slika 36. Dodavanje datuma 

background image

Programiranje za Internet 

 

92 

 

 

 

Slika 37. Umetanje slike u html stranicu 

Dok ne snimite datoteku, Dreamweaver ne može da napravi ovakve reference, pa 
mora umjesto njih da pravi putanje na osnovu položaja slika na lokalnom disku, što 
nisu valjane hiperveze i ne rade kada se prezentacija postavi na Web. Obavezno 
snimite dokument prije nego što po

č

nete da ume

ć

ete grafi

č

ke elemente. Ako to ne 

uradite, Dreamweaver 

ć

e prikazati upozorenje i sa

č

ekati dok ne snimite datoteku, 

da bi popravio putanju slika. Ako se slika koju ste izabrali u okviru za dijalog 
Select Image Source nalazi izvan lokalne prezentacije, Dreamweaver 

ć

e prikazati i 

sljede

ć

e upozorenje ispod menija Relative To: The file is outside the root folder 

(Izabrana datoteka se nalazi izvan osnovnog direktorija lokacije). 

Od verzije 8 Dreamweaver prilikom svakog umetanja slike zahtijeva da se unese i 
alternativni tekst za svaku sliku. Tekst iz polja Alt prikazuje se umjesto slike ako je 
posjetilac onemogu

ć

io prikazivanje slika u svom browseru, ako njegov browser 

uopšte ne može da prikazuje slike ili ako u

č

itavanje odre

đ

ene slike nije uspjelo. 

Umjesto slike, tada se prikazuje tekst koji ste upisali u polje Alt. Tako

đ

er služi i za 

indeksiranje stranica u pretraživa

č

kim servisima. Svim grafi

č

kim objektima koji su 

neophodni za navigaciju po lokaciji morate dodati HTML oznake <alt> (tj. upisati 
tekst u polje Alt). Dodavanje oznaka <alt> je korisno i kod ostalih grafi

č

kih 

elemenata, jer ako korisnik onemogu

ć

i prikazivanje slika u svom browseru ili ima 

browser koji može da prikazuje samo tekst, ipak 

ć

e vidjeti barem dio informacija 

koje bi mu ina

č

e promakle. Slabovide osobe koriste specijalne browsere, koji 

izgovaraju tekst <alt> oznaka, kao i tekst ispisan na Web strani. Kona

č

no, <alt> 

Programiranje za Internet 

 

93 

tekst se nakratko prikazuje u Internet Exploreru kada korisnik zaustavi pokaziva

č

 

iznad grafike. 

5.11.1. Mijenjanje veli

č

ine grafi

č

kih elemenata i vra

ć

anje na prvobitnu 

veli

č

inu 

Kada uvezete grafi

č

ki objekat, njegova širina i visina prikazuju se na panou 

svojstava i automatski upisuju u HTML kod, što browseru daje podatke potrebne 
za definisanje izgleda strane. Veli

č

ina slike bitno uti

č

e na brzinu njenog u

č

itavanja. 

U Dreamweaveru možete da promijenite te dimenzije, korištenjem miša ili pomo

ć

polja u panelu svojstava. 

Koristite HTML oznake za širinu i visinu kako bi grafika izgledala manja, a da 
samu grafi

č

ku datoteku ne mijenjate. Veli

č

ina datoteke, prikazana na panou 

svojstava, nije se promijenila. 

 

Slika 38. Promjena veli

č

ine slike: širina je smanjena neproporcionalno,  

te je u panou za promjenu osobina ispisana podebljano 

Parametri širine i visine automatski se prilago

đ

avaju novim dimenzijama slike i 

ispisuju podebljanim brojkama. Ovo formatiranje je pokazatelj da je grafi

č

kom 

objektu mijenjana veli

č

ina. Dešava se da slu

č

ajno promijenite veli

č

inu slike, pa 

podebljani brojevi treba da vas podsjete da je veli

č

ina mijenjana. Veli

č

inu slike 

možete promijeniti i upisivanjem novih vrijednosti u polja za širinu (eng. Width, 
W) i visinu (eng. Height, H). 

Ako ho

ć

ete da odnos širine i visine slike ostane nepromijenjen prilikom mijenjanja 

njene veli

č

ine, držite taster Shift dok mišem povla

č

ite ru

č

ice u uglovima slike. 

Uo

č

ite kako je kvalitet slike opao kada ste je pove

ć

ali. Slike se u browserima 

prikazuju u rezoluciji ekrana, koja iznosi 72 ta

č

ke po in

č

u (eng. dots per inch, dpi). 

Ova rezolucija nije dovoljna za lijepo prikazivanje uve

ć

anih slika. Sliku možete da 

smanjite i tada bi izgledala dobro, ali time ne mijenjate veli

č

inu grafi

č

ke datoteke, 

Reset size 
(vra

ć

anje 

originalne 
veli

č

ine 

slike 

background image

Programiranje za Internet 

 

95 

 

5.11.3. Dodavanje okvira oko slike 

Katkada treba istaknuti sliku u odnosu na pozadinu. Jedan od na

č

ina da se to 

postigne jeste i dodavanje okvira oko slike. Okvir može da privu

č

e pažnju na sliku 

i da doprinese ujedna

č

enosti stila cijele Web prezentacije. Ponekad okvir može da 

posluži i kao hiperveza. Na panou svojstava upišite 1 u polje Border. Dreamweaver 

ć

e oko grafike nacrtati okvir, debljine 1 piksel. 

Debljinu okvira možete proizvoljno da zadajete. Boja okvira jednaka je 
podrazumijevanoj boji teksta, zadatoj u okviru u dijalog Page Properties. 

Ako slici pridružite hiperlink, boja okvira te slike postat 

ć

e jednaka 

podrazumijevanoj boji hiperlinkova, zadatoj u okviru za dijalog Page Properties. 
Na boju okvira možete da uti

č

ete i dodavanjem HTML oznaka za boju fonta prije i 

poslije HTML oznake same grafike, u HTML kodu.  

 

5.11.4. Omotavanje teksta oko slika 

Mogu

ć

nosti definisanja rasporeda elemenata strane u HTML-u obuhvataju i 

omotavanje teksta oko slika. Slika se prikazuje u podrazumijevanom položaju, u 
kome prvi red teksta po

č

inje na visini donje ivice slike. 

Ako iz padaju

ć

e liste Align na panou svojstava izaberete opciju Left, slika 

ć

e biti 

poravnata s lijevom marginom. Tekst desno od nje ide na visini donje ivice slike do 
desne margine i zatim se u novom redu vra

ć

a sve do lijeve. Promjenom atributa 

Align, oko slike možete da prelomite više redova teksta. Kada izaberete opcije Left 
ili Right u padaju

ć

oj listi Align, Dreamweaver stavlja simbol sidra za mjesto gdje 

je slika umetnuta. Ako ho

ć

ete, možete da premjestite ovaj simbol na drugo mjesto. 

Sidro mora biti na po

č

etku teksta, da bi prelamanje teksta oko slike bilo ispravno. 

Ovaj simbol pokazuje mjesto gdje se HTML oznaka slike nalazi u odnosu na tekst. 
Ako ne vidite taj simbol, izaberite opciju menija View, Visual Aids, Invisible 
Elements i potvrdite istoimenu stavku. Simbol sidra se ne vidi u browseru. 

 

Slika 39. Tok teksta oko slika 

Lista Align sadrži nekoliko opcija za slike, me

đ

u kojima su Top i Text Top. Ako 

va to zbunjuje, zapamtite da tekst može da omota grafiku samo s lijeve ili s desne 

align=Right 

align=Left 

align=Default 

Programiranje za Internet 

 

96 

strane, pa su jedine opcije koje možete da izaberete Left i Right. Ostale opcije služe 
za smještanje samo jednog reda teksta do grafike. 

Imajte u vidu da poravnanje slike mijenjate kad god izaberete opciju poravnanja 
razli

č

itu od Browser Default (kako je podrazumijevano u browseru). Pri tome se 

slika neznatno pomjera u odnosu na originalni položaj. Taj pomjeraj ne možete da 
kontrolišete, niti da ga izbjegnete. Veli

č

ina pomjeranja se mijenja u zavisnosti od 

browsera, ali obi

č

no iznosi samo nekoliko piksel, pa nije upadljiva. Me

đ

utim, ako 

pokušate da poravnate sliku u 

ć

eliji tabele, i to malo pomjeranje može da smeta. U 

tom slu

č

aju, upotrijebite druge metode za kontrolu položaja grafike. 

Koli

č

ina teksta koji se omotava oko grafike zavisi od veli

č

ine slova kojima je tekst 

ispisan u prozoru browsera, koli

č

ine teksta i veli

č

ine prozora browsera. Kada 

promijenite veli

č

inu prozora (bez obzira na to da li se radi o Dreamweaveru ili o 

browseru), promijenit 

ć

e se i na

č

in na koji je tekst prelomljen oko grafike. Vodite 

ra

č

una i o tome da je slika koju vidite u Dreamweaveru samo otprilike jednaka 

onome što 

ć

e se vidjeti u browseru. 

Kad umetnete grafiku, sadržaj dokumenta koji dolazi poslije slike biva gurnut 
nadole. Kada sliku poravnate s lijevom marginom pomo

ć

u dugmeta Align Left, taj 

sadržaj se ne vra

ć

a uvijek na svoje mjesto, ukoliko koristite tabele. Zbog toga može 

izgledati da u dokumentu ima viška praznog prostora. Ako do

đ

e do toga, samo 

pritisnite izvan posljednje tabele, tj. unutar tijela dokumenta. 

 

5.11.5. Prilago

đ

avanje prostora oko slike 

Kada omotate tekst oko slike, vjerovatno 

ć

ete htjeti i da prilagodite prostor oko nje. 

Možete da dodate vertikalni prostor (eng. V space) i horizontalni prostor (eng. H 
space). 

Ako na panou svojstava, upišete 10 u polje H Space, ovaj parametar zna

č

i da 

ć

e s 

lijeve i s desne strane slike biti 10 piksela slobodnog prostora. Ne možete da dodate 
prostor na samo jednu stranu slike. 

Ako upišete 6 u polje V Space, ovaj parametar zna

č

i da 

ć

e s gornje i s donje strane 

slike biti 6 piksela slobodnog prostora. Ne možete da dodate prostor na samo jednu 
stranu slike. 

 

5.11.6. Poravnavanje slike u odnosu na jedan red teksta 

Č

esto treba poravnati sliku u odnosu na jedan red teksta kraj nje. Relativni položaj 

slike prema tekstu možete da promijenite pomo

ć

u opcija poravnanja.  

Absolute Middle poravnava sredinu reda teksta sa sredinom slike. Ostale opcije su: 

 

Baseline: Poravnava dno slike sa osnovnom linijom teksta. Ova opcija je 
obi

č

no podrazumijevana u browserima. 

background image

Programiranje za Internet 

 

98 

broj (#) u polje Link panoa svojstava. Ne brišite ovaj znak jer on rezerviše mjesto 
za hipervezu i ukazuje na to da se podru

č

je može pritisnuti. 

Kada napravite jednu ili više mapiranih slika, pojavit 

ć

e se ikonica mape na dnu 

dokumenta (naj

č

ć

e). Ova ikonica li

č

i na ikonicu sidra, a vidi se samo u 

Dreamweaveru, ne i u browseru. Vidljivost ovakvih objekata možete da uklju

č

ujete 

i isklju

č

ujete pomo

ć

u opcije menija View, Visual Aids.  

Aktivna podru

č

ja koja napravite lako je preurediti: možete im mijenjati veli

č

inu, 

premještati ih i brisati kad god ho

ć

ete. Da biste premjestili aktivno podru

č

je, 

dovedite pokaziva

č

 miša u podru

č

je i prevucite ga. Ako ho

ć

ete da uklonite aktivno 

podru

č

je, izaberite ga i pritisnite Backspace. 

Na isti na

č

in prave se i kružna aktivna podru

č

ja na slikama. Ako se dva i više 

aktivnih podru

č

ja preklapaju, prvo koje ste napravili ima prvenstvo u odnosu na 

sva kasnija. 

Ako znak # u polju Link zamijenite URL adresom i izaberete opciju "_blank" u 
padaju

ć

oj listi Target, ta se hiperveza otvara u novom prozoru browsera. 

Ako aktivno podru

č

je treba da ima složeniji oblik, možete ga dobiti pomo

ć

u alatke 

za poligonalna aktivna podru

č

ja (Polygon Hotspot), kojom treba da pritisnete 

tjemena podru

č

ja. Ako je alatka Polygon izabrana, svaki pritisak miša pravi jedno 

tjeme aktivnog podru

č

ja. Linija povezuje svako slijede

ć

e tjeme s prethodnim. Kako 

budete pritiskivali sliku i pravili tjemena, vidjet 

ć

ete kako se stvara providno 

aktivno podru

č

je definisano tim tjemenima. Nastavite da pritiskate i pravite 

tjemena sve dok ne dobijete oblik koji želite. Ne morate da "zatvorite" oblik 
ponovnim pritiskanjem po

č

etnog tjemena. Što više tjemena aktivnog podru

č

ja 

zadate, to 

ć

e u dokumentu biti potreban duži kod da bi ih opisao. 

Kada završite rad na mapiranoj slici, pritisnite izvan aktivnog podru

č

ja, dakle neki 

drugi dio slike. Pritiskom izvan mapirane slike, na panou svojstava se prikazuju 
svojstva slike. 

Ako ho

ć

ete da dobijete kvadratno aktivno podru

č

je pomo

ć

u alatke za pravougaona 

aktivna podru

č

ja (Rectangular Hotspot), držite taster Shift dok crtate podru

č

je 

mišem. 

Ako mapiranu sliku kopirate i prenesete u drugi dokument, Dreamweaver 

ć

e u 

kopiji zadržati sve hiperveze i aktivna podru

č

ja. 

 

5.12. Crtanje tabela u prikazu layout 

Dreamweaver MX pruža dvije mogu

ć

nosti za pravljenje tabela: prikaze Layout i 

Standard. Prikaz Layout je sli

č

an programu za pravljenje rasporeda elemenata na 

strani, gdje se crtaju pravougaonici u koje zatim ubacujete tekst ili slike. Možete da 
mijenjate veli

č

inu tih pravougaonika i da ih razmještate po strani kako ho

ć

ete. 

Programiranje za Internet 

 

99 

Na traci Insert izaberite karticu Layout i pritisnite opciju Layout View. Prešli ste u 
prikaz Layout, u kome se elementi lako smještaju na stranu. Prikazat 

ć

e se 

obavještenje pod naslovom "Getting Started in Layout View", koje ukratko opisuje 
glavne alatke: za pravljenje nacrta 

ć

elije i za pravljenje nacrta tabele. Kada 

pro

č

itate ovo objašnjenje, pritisnite OK. 

U pomenutom objašnjenju postoji polje "Don't show me this message again" (Više 
ne prikazuj ovu poruku). Ako ne potvrdite ovo polje, isto objašnjenje 

ć

e se ponovo 

prikazati kada restartujete Dreamweaver i pre

đ

ete u prikaz Layout. 

Neposredno ispod naslovne trake dokumenta, pojavit 

ć

e se svijetlosiva traka s 

natpisom "Layout View". Mada izgleda kao da je sastavni dio dokumenta, ova 
traka se ne vidi u browserima i koristi se u Dreamweaveru samo da bi vas 
obavijestila u kom prikazu radite. 

 

Slika 41. Layout na

č

in rada 

SAVJET: Drugi na

č

in da pre

đ

ete u prikaz Layout daje opcija menija View, Table 

Mode, Layout Mode. Možete da upotrijebite i pre

č

icu s tastature Ctrl+F6. 

Pritisnite ikonicu Draw Layout Cell u podru

č

ju Layout Insert. Kada dovedete 

pokaziva

č

 u prozor dokumenta, on 

ć

e se promijeniti u znak plus (+). Alatka Draw 

Layout Cell služi za crtanje 

ć

elija, odnosno pravougaonika koje zovemo 

ć

elije, bilo 

gdje na strani. Sadržaj tabele je podijeljen na njene 

ć

elije, jer sve tabele imaju 

jednu ili više 

ć

elija u presjeku kolona i redova. U prikazu Layout ne morate da 

brinete o broju i rasporedu redova i kolona kada crtate tabelu, jer se o njima 
automatski brine Dreamweaver kada nazna

č

ite mjesto 

ć

elija na strani. 

Dovedite pokaziva

č

 na sredinu strane, zatim pritisnite miša i vucite ga dok kontura 

ć

elije ne bude odgovaraju

ć

e veli

č

ine. Automatski 

ć

e se iscrtati struktura tabele, 

koja sadrži 

ć

eliju koju ste sami nacrtali. Nacrt tabele je širok kao prozor 

dokumenta, što vas ne sprje

č

ava da veli

č

inu te tabele mijenjate kako god ho

ć

ete. 

Nacrt 

ć

elije je iscrtan plavom bojom da bi se razlikovao od nacrta tabele, koji je 

zelen. Puna plava linija nazna

č

ava da je ta

č

ka umetanja u 

ć

eliji, dok isprekidana 

plava linija nazna

č

ava da ta

č

ka umetanja nije u 

ć

eliji. Svi ostali dijelovi nove 

tabele, osim 

ć

elije, iscrtani su sivom bojom. Tanke bijele linije nazna

č

uju redove i 

kolone tabele koju je Dreamweaver nacrtao oko nacrta vaših 

ć

elija. Kada dovedete 

pokaziva

č

 miša iznad ivice nacrta 

ć

elije, on postaje crven, i ukazuje na 

ć

eliju iznad 

koje se nalazite. 

background image

Programiranje za Internet 

 

101 

sredinom 

ć

elije. Kad sami napravite nacrt 

ć

elije, Dreamweaver poravnava njen 

sadržaj s gornjom ivicom 

ć

elije, ali to se može lako promijeniti. 

U polje Bg na panou svojstava možete upisati oznaku boje pozadine ili izabrati 
boju iz ponu

đ

ene palete (ili pipete). 

Ć

elija se bira pritiskanjem njene ivice (tako da 

vidite njene ru

č

ice za biranje), a ne postavljanjem kursora u nju. 

Ako ho

ć

ete da promijenite boju pozadine cijele tabele, pritisnite njenu zelenu ivicu 

kako biste je izabrali; možete da pritisnete i bilo koju sivu površinu unutar tabele. 
Zatim pritisnite polje Bg i izaberite boju iz palete. 

Ako u padaju

ć

oj listi Horz na panou svojstava izaberete opciju Center, time ste 

promijenili poravnanje teksta u 

ć

elijama, koji je sada centriran u odnosu na lijevu i 

desnu ivicu 

ć

elije. Opcija Middle tekst centrira po vertikali 

ć

elija. 

 

5.12.3. Širina tabele i slike koje održavaju razmak 

U prikazu Layout možete da kontrolišete širinu tabele na dva na

č

ina: korištenjem 

podrazumijevane širine ili opcije Autostretch, koja prouzrokuje da 

ć

elije 

automatski mijenjaju širinu u zavisnosti od širine prozora browsera. U ovoj vježbi 
primijenit 

ć

ete opciju Autostretch i nau

č

iti da koristite slike koje održavaju razmak 

(eng. spacer images). 

Ukoliko odre

đ

ena slika za održavanje razmaka nije pridružena prezentaciji, pojavit 

ć

e se okvir za dijalog Choose Spacer Image. 

Ako se gornji okvir za dijalog prikaže, izaberite opciju Use an Existing Spacer 
Image File (Upotrijebi postoje

ć

u sliku za održavanje razmaka), pritisnite OK i 

prona

đ

ite sliku. Prikazani okvir za dijalog sadrži i opciju za pravljenje slike za 

održavanje razmaka. Ako radite na prezentaciji kojoj nije pridružena slika za 
održavanje razmaka, izaberite opciju Create a Spacer Image File i pritisnite OK, 
kako biste došli do direktorija u koji Dreamweaver treba da snimi sliku za 
održavanje razmaka. Najbolje mjesto za to je direktorij Images. 

Kolona koja automatski prilago

đ

ava svoju širinu, u tabeli se prikazuje cik-cak 

linijom. Kada izaberete opciju automatskog prilago

đ

avanja širine kolone 

Autostretch, Dreamweaver ume

ć

e slike za održavanje razmaka kako bi održao 

zadatu, fiksnu širinu kolona. Slika za održavanje razmaka odre

đ

uje razmak 

ć

elija u 

tabeli, ali se ne vidi u prozoru browsera. 

Ako ho

ć

ete da uklju

č

ite automatsko održavanje širine kolone, možete da otvorite i 

podmeni u zaglavlju kolone i da tamo izaberete opciju Make Column Autostretch. 

Dok mijenjate širinu prozora browsera, mijenja se i širina ove kolone, odnosno svih 
njenih 

ć

elija. Pomo

ć

u bijelih vo

đ

ica na strani, utvrdite da li pojedina 

ć

elija pripada 

koloni koju ste izabrali. 

Ako odlu

č

ite da ne koristite slike za održavanje razmaka, kolone mijenjaju 

veli

č

inu, pa 

č

ak i nestaju, ukoliko nemaju sadržaja. Slike za održavanje razmaka 

Programiranje za Internet 

 

102 

možete i sami da ume

ć

ete i uklanjate, a možete pustiti i Dreamweaver da ih 

automatski dodaje prilikom pravljenja Autostretch kolone. Ako ho

ć

ete sami da 

ume

ć

ete i uklanjate slike za održavanje razmaka, izaberite jednu od sljede

ć

ih opcija 

u podmeniju na vrhu  kolone: 

 

Add Spacer Image: Ume

ć

e sliku za održavanje razmaka u kolonu. Tu sliku 

ne

ć

ete vidjeti, ali kolona može malo da se pomjeri. 

 

Remove Spacer Image: Uklanja sliku za održavanje razmaka i kolona može 
malo da se pomjeri. 

 

Remove All Spacer Images: Sve 

ć

elije mogu malo (ili mnogo) da se pomjere, u 

zavisnosti od sadržaja. Kolone u kojima nema sadržaja mogu potpuno da 
nestanu. 

Podmeni na vrhu kolone je kontekstni i mijenja se u zavisnosti od kolone koju ste 
izabrali. Nemaju sve kolone sve tri gornje opcije. 

 

5.12.4. Izrada tabele u prikazu standard 

Kada ste pravili tabelu u prethodnoj vježbi, Dreamweaver je uradio glavninu posla. 
Baš zato, u prikazu Layout donekle gubite kontrolu nad izgledom tabele. U 
standardnom prikazu morate sami sve da uradite. Prednost standardnog prikaza je 
preciznost i mogu

ć

nost detaljnije kontrole izgleda tabele. Osim toga neke važne 

Dreamweaverove mogu

ć

nosti, kao što je podjela na slojeve, uopšte ne postoje u 

prikazu Layout, nego morate da koristite prikaz Standard. 

Premda je u prikazu Layout lako crtati 

ć

elije i tabele, 

č

esto treba pregledati stranu u 

standardnom prikazu, jer se tek tu vidi HTML struktura tabela. U ovom prikazu 
možete sami da pravite tabele i da pregledate tabele koje je Dreamweaver napravio 
dok ste crtali u prikazu Layout. 

Ako su informacije koje ho

ć

ete da prikažete podijeljene u redove i kolone, lakše je 

upotrijebiti standardnu tabelu nego nacrtati novu. 

Č

esto 

ć

ete u standardnom 

prikazu imati ve

ć

e mogu

ć

nosti da kontrolišete izgled tabele. 

Pritisnite opciju Standard View na kartici Layout trake Insert. Kada umetnete 
tabelu u standardnom prikazu, njene 

ć

elije i ivice se vide odmah, a ikonice za 

crtanje 

ć

elija i tabela su nedostupne. Za prelazak u standardni prikaz možete da 

upotrijebite i opciju menija View, Table Mode, Standard Mode. Tre

ć

i na

č

in za 

pre

č

ice s tastature; Shift+Ctrl+F6. 

Za umetanje tabele može da posluži dugme Table na kartici Tables trake Insert. 
Otvorit 

ć

e se okvir za dijalog Insert Table. Okvir za dijalog Insert Table sadrži 

polja za davanje slijede

ć

ih parametara: 

 

Rows: Broj redova tabele. Podrazumijevana vrijednost u Dreamweaveru je 3. 

 

Columns: Broj kolona tabele. Podrazumijevana vrijednost je 3. 

background image

Programiranje za Internet 

 

104 

5.13. Pravljenje šablona (Template-a) 

Šablon je posebna vrsta datoteke u Dreamweaveru koja se koristi kada postoji 
dosta stranica u kojima se nalazi dio sitog koda (teksta, slika, grafike, tabela,...). 
Unutar šablona se definišu podru

č

ja koja su zajedni

č

ka i podru

č

ja u koje se unosi 

sadržaj koji se nalazi samo u toj stranici. Svaka promjena na šablonu može se 
automatski reflektovati na izmjene svih stranica za koje je taj šablon vezan, 
odnosno od kojeg su napravljene. 

Šablon definiše izgled i raspored strana koje 

ć

ete napraviti pomo

ć

u njega. Šablon 

možete da pravite od nule, a možete da uzmete i postoje

ć

u HTML stranu i da je 

snimite kao šablon, naredbom File, Save As Template. U dijalogu "Save As 
Template" birate prezentaciju u koju 

ć

ete snimiti šablon.  

Dreamweaver šablonu automatski daje ime datoteke iz koje je nastao. Ako ho

ć

ete 

da promijenite ime šablona, upišite ga u polje Save As. Ono ionako služi samo 
vama: Šablonima dajte opisna imena. Strana je tako snimljena kao šablon, pa 
možete da je koristite za pravljenje drugih strana. 

 

Slika 44. Snimanje šablona 

Šablon se snima u direktorij Templates sa nastavkom imena, .dwt. Ako takav 
direktorij ne postoji, Dreamweaver 

ć

e ga automatski napraviti.  

 

5.13.1. Ubacivanje oblasti koje se mogu mijenjati u šablon 

Drugi korak u pravljenju šablona jeste definisanje oblasti na strani koje se mogu 
mijenjati u dokumentima napravljenim na osnovu tog šablona. 

Po pravilu, sve oblasti šablona su nepromjenljive. Ako ho

ć

ete da mijenjate 

informacije na stranama napravljenim pomo

ć

u šablona, morate da definišete oblasti 

na njima koje se mogu mijenjati. Ove oblasti na mnogim Web lokacijama sadrže 
tekst. Svi dijelovi šablona koji nisu izri

č

ito definisani kao promjenljivi, daju 

Programiranje za Internet 

 

105 

nepromjenljive oblasti strana zasnovanih na tom šablonu. Prilikom rada na šablonu 
možete da mijenjate i oblasti koje 

ć

e biti promjenljive i one koje to ne

ć

e biti, dok 

na strani napravljenoj pomo

ć

u šablona možete da mijenjate samo oblasti definisane 

kao promjenljive. 

Za vježbu kreirajte prazan HTML dokument, a zatim u njemu nacrtajte tabelu sa 2 
reda i 2 kolone. Snimite datoteku kao šablon, pod imenom Sablon.dwt. 

U šablonu Sablon.dwt izaberite drugu 

ć

eliju u drugom redu tabele pomo

ć

u bira

č

oznaka na dnu prozora dokumenta: pritisnite oznaku <td>. Ovaj odjeljak strane 
mora biti promjenljiv, kako biste mogli da mijenjate njegovu sadržaj na stranama 
koje 

ć

ete napraviti pomo

ć

u ovog šablona. 

Pritisnite ikonicu Editable Region na kartici Templates trake Insert. Otvorit 

ć

e se 

okvir za dijalog New Editable Region (nova promjenljiva oblast). Upišite rije

č

 

"tekst" kao ime promjenljive oblasti šablona i pritisnite OK. 

  

Ö

  

 

Slika 45. Pravljenje promjenljive oblasti u šablonu 

Imena oblasti ne smiju da sadrže specijalne znakove (znakove navoda, zagrade 
itd.). Svaka oblast jednog šablona mora imati druga

č

ije ime. 

Pošto ste izabrali 

ć

eliju tabele kada ste definisali promjenljivu oblast, cijela 

ć

elija 

je istaknuta plavim okvirom na 

č

ijem vrhu jezi

č

ak prikazuje ime promjenljive 

oblasti. Ako se ne vide imena i konture izabranih oblasti, izaberite opciju menija 
View, Visual Aids, Invisible Elements. 

Ne možete definisati više 

ć

elija tabele kao jednu promjenljivu oblast. Ako ho

ć

ete 

da više 

ć

elija tabele bude promjenljivo, podesite da cijela tabela bude promjenljiva 

ili je podijelite na nekoliko promjenljivih podru

č

ja. Ako izaberete nekoliko 

ć

elija 

tabele i definišete ih kao promjenljive, cijela tabela 

ć

e postati promjenljiva oblast. 

Sve što je u 

ć

eliji izvan izabranog podru

č

ja oivi

č

enog plavom konturom, bi

ć

nepromjenljivo u dokumentima napravljenim pomo

ć

u ovog šablona. 

Imena svih promjenljivih oblasti koje ste napravili prikazuju se na dnu menija 
Modify, Templates. Ako izaberete promjenljivu oblast, do njenog imena u spisku 
pojavit 

ć

e se znak za potvrdu; isto važi i kada je kursor u toj oblasti ili je izabran 

neki element unutar nje. Sve što treba da se mijenja mora biti u promjenljivoj 
oblasti, uklju

č

uju

ć

i i hiperveze. 

background image

Programiranje za Internet 

 

107 

Naredbom Insert, Template Objects, Optional Region kreirate opcionu oblast. 

Ako namjeravate koristiti opcionu oblast šablona na ve

ć

ini strana prezentacije koje 

ć

ete napraviti pomo

ć

u njega, ostavite ovo polje potvr

đ

eno. U ovom primjeru, 

me

đ

utim, oblast 

ć

e se prikazati na samo jednoj strani, pa 

ć

e prilikom izrade drugih 

strana biti lakše ako ova oblast bude podrazumijevano skrivena. 

Ako ste na stani ve

ć

 napravili neku opcionu oblast, pomo

ć

u kartice Advanced 

možete da je povežete s novom opcionom oblaš

ć

u koju upravo pravite. Na istoj 

kartici definišete i izraze (Template Expressions) koji odre

đ

uju kada se oblast 

prikazuje. 

 

5.13.4. Pravljenje oblasti koje se ponavljaju 

Oblast koja se ponavlja (eng. repeating region) jeste podru

č

je strane koje se 

ponavlja više puta. Oblasti koje se ponavljaju naro

č

ito su pogodne za objekte koji 

se ponavljaju promjenljiv broj puta na stranama napravljenim pomo

ć

u šablona. 

Ove oblasti omogu

ć

avaju precizno kontrolisanje izgleda tabela s više stavki.  

Naredbom Insert, Template Objects, Repeating Region kreirate opcionu oblast. 

 

Slika 47. Ponavljaju

ć

a oblast šablona 

Kreirajte dokument koji li

č

i na primjer prikazan na sljede

ć

oj slici; Unutar tabele 

2 x 2 kreirajte jednu opcionu oblast (u prvom redu, sa imenom "Opciona_oblast") i 
jednu obi

č

nu oblast (u drugom redu, sa imenom "tekst"). Unutar opcione oblasti 

ubacite još jednu tabelu sa 2 kolone i u svaku njenu 

ć

eliju ubacite po jednu 

ponavljaju

ć

u oblast (sa imenima "Ponavljajuca_1" i "Ponavljajuca_2"). Sadržaj 

tako kreiranih oblasti se ne

ć

e mo

ć

i mijenjati u stranici kreiranoj pomo

ć

u ovog 

šablona, jer se ne nalaze unutar promjenljive oblasti.  

 

Slika 48. Primjer šablona sa oblastima 

Snimite i zatvorite datoteku Sablon.dwt. 

Programiranje za Internet 

 

108 

5.13.5. Pravljenje strana pomo

ć

u šablona 

Sljede

ć

i korak u izradi prezentacije pomo

ć

u šablona jeste pravljenje strana na 

osnovu originalnog šablona. 

U prikazanom primjeru napravit 

ć

ete nove strane na osnovu šablona profile koji ste 

napravili u prethodnom primjeru. Te strane 

ć

e naslijediti sadržaj originalnog 

šablona; mo

ć

ć

ete da mijenjate samo one dijelove koje ste definisali kao 

promjenljive oblasti. 

Izaberite File, New i pritisnite karticu Templates u okviru za dijalog New 
Document. Na kartici Templates prikazuje se spisak definisanih prezentacija i 
spisak svih šablona pridruženih izabranoj prezentaciji. 

 

Slika 49. Kreiranje nove stranice pomo

ć

u šablona 

Izaberite profile u spisku šablona prezentacije "Ispitni zadaci", ostavite polje 
"Update Page when Template Changes" (ažuriraj strane kada se izmijeni šablon) 
potvr

đ

eno i pritisnite dugme Create. Napravili ste novu stranu na osnovu šablona 

"Sablon". Premda novi dokument prikazuje svu naslije

đ

enu sadržaj šablona, ipak 

ga treba snimiti. Snimite datoteku pod imenom primjer.html  

 

Slika 50. Nova html stranica kreirana pomo

ć

u šablona 

background image

Programiranje za Internet 

 

110 

  

 

Slika 53. Ažuriranje stranica pomo

ć

u šablona 

 

Naredbom Modify, Templates, Update Current Page se stranica može naknadno 
ažurirati tako da prihvati izmjene koje su ura

đ

ene na šablonu. 

Naredbom Modify, Templates, Detach from Template se stranica odvaja od 
šablona, tako da se njen sadržaj ne mijenja, a samo se raskida njena veza sa 
šablonom (prilikom ažuriranja se promjene na šablonu ne

ć

e reflektovati na sadržaj 

stranice). 

Programiranje za Internet 

 

111 

6. Izrada obrasca 

Web stranice 

č

esto prikupljaju podatke od korisnika. Obrasci (eng. Forms) 

omogu

ć

uju da korisnici pomo

ć

u njihovog browsera unose neke podatke i šalju ih 

na e-mail, pohranjuju na serveru ili proslje

đ

uju nekoj aplikaciji. Obrasci u sebi 

sadrže razli

č

ite vrste polja za unos ili izbor ponu

đ

enih podataka. 

Prije dodavanja pojedinih polja, morate da stavite obrazac na stranicu. On 

ć

sadržati polja u koja 

ć

e posjetioci upisivati podatke i zadati šta da se radi s 

podacima. 

Obrazac možete da stavite na stranicu naredbom Insert, Form, Form.  

Crvene isprekidane linije ozna

č

avaju površinu obrasca u prozoru dokumenta; ista 

površina je definisana unutar oznaka <form> i </form> u kodu. Crvene linije su 
nevidljivi elementi i prikazuju se samo u Dreamweaveru; površinu obrasca u 
browseru ništa ne ozna

č

ava. Te linije ne možete prevla

č

iti. Veli

č

ina obrasca zavisi 

od onoga što umetnete u njega, a on 

ć

e se produžiti koliko treba da bi primio sav 

sadržaj koji mu dodate. 

Izaberite obrazac pritiskom na crvenu isprekidanu liniju. Na panou svojstava 
prikazuju se svojstva obrasca. Na njemu je nekoliko opcija. 

 

Slika 54. Pano svojstava obrasca 

U polje Form Name upišite ime obrasca, ukoliko namjeravate da ga kontrolišete 
pomo

ć

u aplikacije za izvršavanje skriptova, poput JavaScripta. Dreamweaver 

obrascima automatski dodjeljuje opšta imena: form1, form2 itd. 

Ako nemate na raspolaganju CGI skripte dok radite ovu lekciju, informacije koje 
slijede tuma

č

ite samo kao objašnjenje. Polje Action ostavite prazno, a Method ne 

mijenjate. Action saopštava browseru šta da uradi s podacima iz obrasca. Zadaje 
putanju ili URL adresu lokacije i ime aplikacije (obi

č

no CGI skripta ili dinami

č

ke 

strane) koja 

ć

e obra

đ

ivati podatke kada posjetilac pritisne dugme Submit. CGI 

skripte se nalaze na Web serveru koji obra

đ

uje podatke koje obrazac pošalje. 

Method definiše metodu kojom se podaci iz obrasca šalju: GET, POST ili Default. 
Podaci koje šalje obrazac 

č

ine kontinuiran tekstualni niz, koji sa

č

injavaju 

informacije koje je upisao posjetilac. Metoda GET dodaje sadržaj obrasca URL 
adresi zadatoj u polju Action; te informacije su stoga vidljive na adresnoj traci 
browsera. GET nije bezbjedna metoda prenosa podataka, pa se ne smije koristiti za 
slanje povjerljivih podataka kao što su brojevi kreditnih kartica i sli

č

no. Kako 

browseri i serveri 

č

esto name

ć

u ograni

č

enja dužine URL adrese, Get može da šalje 

malu koli

č

inu podataka. Ograni

č

enja su razli

č

ita, pa metoda Get nije dobra ni za 

background image

Programiranje za Internet 

 

113 

Izaberite naredbu Insert, Form Objects, Text Field. 

 

Slika 55. Dodavanje polja za jedan red teksta 

Polje za jedan red teksta umetnuto je na obrazac. Na panou svojstava prikazuju se 
svojstva polja kada ga umetnete ili pritisnete u prozoru dokumenta. 
Podrazumijevana opcija vrste polja je Single line (za jedan red teskta). 

U ovom primjeru, ostavit 

ć

emo polje Init Val prazno. Možete da zadate po

č

etnu 

vrijednost (eng. initial value) teksta koja se prikazuje u polju kada se strana u

č

ita. 

Premda posjetilac može da promijeni ovaj tekst, koristite ovu mogu

ć

nost oprezno. 

Posjetioci koji ho

ć

e da na brzinu pro

đ

u kroz obrazac, mogu slu

č

ajno da presko

č

polje koje ve

ć

 ima neki tekst, jer misle da su ga sami upisali. Po

č

etna vrijednost 

teksta daje posjetiocima primjer kakve informacije se od njih traže. 

Izaberite polje koje ste upravo umetnuli i zamijenite textfield rije

č

ju "ime" u polju 

Name na panou svojstava. 

 

Slika 56. Osobine polja u obrascu 

Kada se obrazac pošalje, ime tekstualnog polja opisuje informacije koje su unijete 
u njega. U ovom slu

č

aju, "ime" ozna

č

ava da je u polje upisano ime posjetioca. Sva 

polja obrasca moraju imati imena. U imenima ne smije biti razmaka niti specijalnih 
znakova, a valja zapamtiti da se u njima razlikuju mala i velika slova. 
Dreamweaver poljima  za tekst automatski dodjeljuje imena textfield1, textfield2 
itd. 

Programiranje za Internet 

 

114 

Važno je da svim poljima date kratka, opisna imena. Pretpostavimo da na strani 
imate dva polja za tekst, svako sa odgovaraju

ć

im natpisom, u koje posjetilac treba 

da upiše broj telefona kod ku

ć

e i na poslu. Ako im ostavite imena textfield1 i 

textfield2, po njima ne

ć

ete mo

ć

i da zaklju

č

ite koji je broj ku

ć

ni, a koji na poslu. 

Zabunu 

ć

ete izbje

ć

i, ako im date imena kao što su npr. brojkuca i brojnaposlu. 

Upišite 40 u polje Char Width na panou svojstava. Širina tekstualnog polja 

ć

e se 

pove

ć

ati tako da u njega stane približno 40 znakova. Po

č

etna širina polja je 

otprilike 24, iako je polje prazno. Stvarna veli

č

ina polja u browseru mijenja se u 

zavisnosti od veli

č

ine podrazumijevanog fonta u browseru posjetioca. I visina polja 

u browseru mijenja se u zavisnosti od veli

č

ine podrazumijevanog fonta u browseru 

posjetioca. 

Upišite 50 u polje Max Chars na panou svojstava. Parametar Max Chars 
ograni

č

ava ukupan broj znakova koje posjetilac može da upiše. Na po

č

etku je ovo 

polje prazno, što zna

č

i da broj znakova koje posjetilac može da upiše nije 

ograni

č

en. Ako informacije šaljete bazi podataka u kojoj je broj znakova svakog 

polja ograni

č

en po definiciji, i sami morate da stavite sli

č

no ograni

č

enje. 

Ako je vrijednost parametra Max Chars ve

ć

a od vrijednosti parametra Char Width, 

posjetilac može da nastavi sa upisivanjem teksta koji 

ć

e se automatski pomjerati u 

polju. Pomjeranje 

ć

e prestati kada se dostigne vrijednost parametra Max Char. 

Pažljivo zadajte vrijednost parametra Max Chars za polja koja prihvataju podatke 
kao što su adrese e-pošte i URL adrese. Posjetioci ne

ć

e mo

ć

i da upišu cijelu URL 

adresu ili drugu vrstu informacija, ako je ona duža od vrijednosti parametra Max 
Chars, jer više ne

ć

e mo

ć

i ništa da upisuju kada dostignu zadato ograni

č

enje. 

Obi

č

no tekstualno polje prikazuje informacije u browseru dok ih posjetilac upisuje. 

Tekstualno polje za lozinku li

č

i na ostala polja za tekst, ali se tekst upisan u njega 

prikriva na ekranu kruži

ć

ima ili zvjezdicama. Tako se tekst samo sakriva od onih 

kojih vam vire iza le

đ

a dok upisujete lozinku, ali se upisani znakovi ne šifruju niti 

obezbje

đ

uju. Za šifrovanje je neophodno da se na Web serveru izvršava softver tzv. 

bezbjednog servera (eng. secure server). Ako ho

ć

ete da umetnete polje za lozinku, 

ubacite obi

č

no polje za jedan red teksta, a za vrijednost opcije Type na panou 

svojstava izaberite Password. Ova opcija obezbje

đ

uje prikazivanje kruži

ć

a  ili 

zvjezdica dok posjetilac upisuje podatke u polje. Polja za lozinke mogu primati 
samo jedan red teksta. Vrijednost parametra Max Chars za lozinke treba zadati 
prema maksimalnoj dužini lozinke na serveru. 

 

 

 

6.2. Dodavanje polja za više redova teksta 

Polja za više redova teksta olakšavaju prikupljanje velikih koli

č

ina informacija od 

posjetilaca, jer daju oblast od više redova gdje posjetilac može da upisuje svoj 

background image

Programiranje za Internet 

 

116 

6.3. Dodavanje polja za potvrdu 

Polja za potvrdu omogu

ć

avaju korisnicima da izaberu jednu ili više opcija u grupi 

povezanih stavki. Polja za potvrdu se obi

č

no koriste kada posjetilac treba da 

izabere koliko god ho

ć

e prikazanih opcija. Ako ho

ć

ete da posjetilac izabere samo 

jednu opciju, onda upotrijebite radio-dugme.  

Izaberite Insert, Form, Check Box. 

 

Slika 58. Polje "Label" 

ć

e ispisati opis pored polja za potvrdu (checkbox-a) 

 

Slika 59. Osobine polja za potvrdu 

Polje za potvrdu je umetnuto u obrazac, a pano Properties prikazuje njegova 
svojstva. Obi

č

no se u obrascu dodaje više polja za potvrdu (odvojite ih sa 

Shift+Enter). 

Dok dodajete objekte u obrazac, tabela se produžava naniže kako bi sve to primila. 
Pri tom se može desiti da se crvena isprekidana linija ne pomjera zajedno sa dnom 
tabele. U tom slu

č

aju, pritisnite izvan tabele u prozoru dokumenta i natjerat 

ć

ete 

Dreamweaver da osvježi prikaz tabele. 

Programiranje za Internet 

 

117 

Kada u dokument upisujete natpise za polja obrasca, pazite na to da tekst bude 
dovoljno blizu odgovaraju

ć

eg dugmeta ili polja, i ne previše blizu ostalih objekata 

na obrascu. Tako ne

ć

ete zbuniti posjetioce Web lokacije. 

Opcija "Initial State" može imati dvije vrijednosti, od kojih zavisi da li 

ć

e polje biti 

uklju

č

eno (checked) ili isklju

č

eno (unchecked) kada korisnik prvi put otvori 

stranicu sa obrascem. Naravno, korisnik 

ć

e mo

ć

i mijenjati stanje tih polja, to su 

samo po

č

etna stanja. 

 

6.4. Dodavanje radio-dugmadi 

Radio-dugmad su grupa opcija. Biranje jedne opcije automatski poništava izbor 
svih ostalih opcija grupe. Radio-dugmad se obi

č

no koristi za izbor vrste kreditne 

kartice i odgovore tipa da/ne. Izaberite Insert, Form, Radio Group. 

 

Slika 60. Dijalog za kreiranje grupe radio-dugmadi 

Pomo

ć

u dugmadi plus (+) i  minus (-) dodajete i brišete stavke u listama. 

Redoslijed dugmadi mijenjate pomo

ć

u dugmadi s trouglovima okrenutim nagore i 

nadole (slika 60). Pritisnite dugme plus (+) i zamijenite novi primjerak rije

č

"Radio" drugom rije

č

ju (npr. brojem 512). U koloni Value, zamijenite sve 

primjerke rije

č

ju "radio" odgovaraju

ć

im tekstom.  

Kada koristite radio-dugmad, istim imenom morate da nazovete cijelu grupu stavki. 
Radio-dugmad treba da omogu

ć

i izbor samo jedne stavke u grupi. 

 

Slika 61. Grupa od dva radio-dugmeta 

Ako umetnete jedno po jedno radio-dugme (pomo

ć

u naredbe Insert, Form, Radio 

Button), svu tu dugmad možete da u

č

inite dijelovima iste grupe kada im date isto 

ime. Korištenje istog imena za više radio-dugmadi ozna

č

ava da ta dugmad 

pripadaju istoj grupi. Ako imena nisu ista, ta radio-dugmad se smatra pripadnicima 

background image

Programiranje za Internet 

 

119 

 

Slika 62. Osobine liste 

U polje Height treba upisati broj redova koji 

ć

e se vidjeti u listi 

č

iji se sadržaj 

pomjera. Ukoliko polje Selections ostavite nepotvr

đ

eno, obavezno upišite broj 

vidljivih redova ve

ć

i od 1. U protivnom, umjesto liste 

č

ija se sadržaj pomjera bit 

ć

prikazan meni. Uvijek zadajte visinu liste, jer ako to ne uradite, u njoj se prikazuje 
broj redova podrazumijevan u browseru posjetioca, a on je razli

č

it. 

Pritisnite dugme List Values na panou svojstava. Otvorit 

ć

e se okvir za dijalog List 

Values, isti za spiskove i za menije. 

 

Slika 63. Dodavanje stavki u listu ili meni 

Pritisnite dugme sa znakom plus (+) za dodavanje stavke. U polje "Item Label" 
upišite "Intel" i zatim pritisnite taster Tab. Širinu spiska/menija odre

đ

uje dužina 

najduže stavke u spisku. U polje Value upišite "i". Ovaj tekst se šalje CGI skriptu 
ili serveru kao znak da je opcija izabrana. 

Pritisnite Tab ili dugme sa znakom plus (+) u gornjem lijevom dijelu okvira za 
dijalog, da biste dodali još jednu opciju u spisak. Za brisanje stavki iz dijaloga List 
Values upotrijebite dugme sa znakom minus (-). 

Ponovite te korake da biste dodali u spisak stavke "AMD" i "neki drugi". U polje 
Value za ove stavke upišite "a" i "n". Za mijenjanje redoslijeda stavki u listi 
upotrijebite dugmad iznad polja Value (s trouglovima okrenutim nagore i nadole). 

Ako ho

ć

ete da dodate više stavki u listu, poslije unošenja svake stavke pritisnite 

Tab i automatski 

ć

ete prije

ć

i na dodavanje nove. Zatvorite okvir za dijalog 

pritiskom na OK. Lista prikazuje dodate opcije. 

Za sve stavke liste/menija, na panou svojstava postoji opcija Initially Selected 
(unaprijed izabrano). Bilo koja od svaki može biti izabrana kada se strana u

č

ita. 

Možda to nije poželjno u listama 

č

ija se sadržaj pomjera, ali u menijima pomaže 

ako u prvom redu postoji primjer ili uputstvo kao "Izaberite jednu...". 

Programiranje za Internet 

 

120 

Ako neku stavku unaprijed potvrdite, nema na

č

ina da to poništite, tj. da bi stavka 

izgubila svoju potvrdu, morate je obrisati u okviru za dijalog List Values i ponovo 
dodati. 

 

6.6. Dodavanje dugmadi 

Obrasci naj

č

ć

e imaju dva dugmeta: jedno za slanje (Submit) i drugo za brisanje 

podataka iz obrasca (Reset). Dugmetom Submit saopštava se browseru da pošalje 
podatke u skladu sa zadatom akcijom (Action) i metodom (Method). Dugme Reset 
briše informacije iz svih polja na strani. 

Izaberite Insert, Form, Button. 

 

Slika 64. Dugme za slanje obrasca 

Dugme Submit je umetnuto na obrazac, a pano Properties prikazuje njegova 
svojstva. Kako je dugme Submit podrazumijevano, ne mijenjate nijednu opciju za 
ovo dugme. 

Dodajte još jedno dugme Submit. Jedina razlika je u imenu - ovo se zove submit2, 
jer dva dugmeta ne smiju imati isto ime. Jedini objekti na obrascu koji mogu (i 
treba) da imaju isto ime jesu radio-dugmad koja pripadaju istoj grupi. Dugme s 
kojim radite u ovoj vježbi razlikuje se, jer se ne može grupisati s drugom dugmadi i 
dodijelit 

ć

e mu se samostalna akcija u slijede

ć

em koraku. 

Izaberite Reset form u podru

č

ju Action na panou svojstava. Tekst u polju Label 

(oznaka dugmeta na obrascu) automatski se mijenja u "Reset". Interno ime 
dugmeta (eng. button name) ostaje nepromijenjeno. 

Akcija resetovanja koju ste izabrali zna

č

i da se sva tekstualna polja, polja za 

potvrdu i radio-dugmad brišu i vra

ć

aju u prvobitno stanje, koje su imala kada je 

strana bila u

č

itana. 

Tre

ć

a opcija u podru

č

ju Action je None. Za razliku od opcija Submit i Reset, opciji 

None nije pridružena nikakva akcija. Da bi takvo dugme nešto uradilo, treba ga 
povezati sa skriptom (napisanim u JavaScriptu, na primjer), koji 

ć

e recimo, 

izra

č

unati ukupan zbir ili kamatu i posjetiocu dati kona

č

an rezultat. 

Dugmadi dajte jasna imena, a u skladu s o

č

ekivanjima posjetilaca. Submit i Reset 

su uobi

č

ajene oznake dugmadi na obrascima koje posjetioci razumijevaju, jer se 

veoma 

č

esto koriste. 

background image

Programiranje za Internet 

 

122 

polja i popuni ih, umjesto da tabulatorom prolazi kroz sva polja obrasca, ova 
po

č

etna provjera valjanosti se zanemaruje. 

 

Slika 66. Postupak Validate Form 

Premda vam možda izgleda kao da je dobro provjeravati svako polje dok se 
posjetilac kre

ć

e kroz obrazac, budite oprezni, jer tako možete da naljutite 

posjetioce. Mnogi ne popunjavaju polja redom, nego preska

č

u i naknadno se 

vra

ć

aju da popune propušteno. 

Ako izaberete Email Address iz grupe opcija Accept, ova opcija provjerava da li je 
posjetilac upisao znak @ u polje. Ne provjerava se da li upisana adresa elektronske  
pošte zaista postoji. 

Opcija Number zadaje da polje smije sadržati samo cifre. Opcija Number from 
zadaje da polje smije sadržati samo broj unutar zadatog opsega brojeva, što je 
naro

č

ito pogodno za godine. 

Izaberite dugme Submit u prozoru dokumenta. Pritisnite dugme plus (+) i u 
padaju

ć

oj listi na panou Behaviors izaberite Validate Form. Akcija Validate Form 

se dodaje na pano Behaviors, kao posljedica doga

đ

aja onSubmit. 

Izaberite polje Ime iz spiska Named Fields u okviru za dijalog. Potvrdite opciju 
Required za parametar Value. Pritisnite Anything u grupi opcija Accept. Opcija 
Anything zadaje da se u polje nešto mora upisati, ali ne odre

đ

uje vrstu tih 

podataka. Kada posjetilac pritisne dugme Submit, provjerit 

ć

e se valjanost. 

Ako zadate po

č

etnu vrijednost tekstualnog polja, nema smisla provjeravati 

valjanost podataka u njemu (pogotovo ako je izabrana opcija Anything), jer u 
njemu ve

ć

 stoji tekst. 

Pritisnite polje ime i potom taster Tab, ali u polje nemojte upisati ništa. Prikazat 

ć

se poruka o grešci koju generiše postupak provjere valjanosti podataka na obrascu 
Validate Form. Provjera popunjenosti pojedinih polja odgovaraju

ć

im podacima 

radi jedino u slu

č

aju da posjetilac (tasterom Tab) premješta ta

č

ku umetanja iz polja 

u polje. U protivnom, ne prikazuje se nikakva poruka o grešci. Dakle, ako 

Programiranje za Internet 

 

123 

posjetilac ne koristi taster Tab i ne postavlja kursor u odre

đ

eno polje, poruka o 

grešci se ne prikazuje. 

Ako ho

ć

ete da se i polje ime provjeri nakon što posjetilac pritisne dugme Submit, 

ponovo otvorite okvir za dijalog Validate Form: dvaput pritisnite akciju Validate 
Form na panou Behaviors. Izaberite polje ime i željenu opciju. Kada završite, 
pritisnite OK. 

 

6.8. Testiranje obrasca 

Obrazac se može poslati na adresu e-pošte 

č

ak i ako se ne serveru na izvršava  CGI 

skripta. Ovu metodu koristite samo za testiranje svojih obrazaca. 

U dokumentu izaberite obrazac biranjem oznake <form> na bira

č

u HTML oznaka. 

U polje Action na panou svojstava upišite mailto: i svoju adresu e-pošte. 

Ne zaboravite da upišete dvota

č

ku i ne ostavljajte razmake. Adresa treba da li

č

i na 

mailto:[email protected]; svoju adresu e-pošte upišite umjesto "[email protected]".  

Izaberite POST u padaju

ć

oj listi Method i upišite text/plain u polje Enctype. 

 

Slika 67. Dodjeljivanje akcije slanja obrasca na e-mail 

Zadali ste vrstu kodiranja (eng. encode type) za obi

č

an (eng. plain) tekst. U 

protivnom, poslati tekst bi kodiranjem bio doveden u gotovo nerazumljiv oblik. 

Parametar Enctype zadaje na

č

in kodiranja podataka sa obrasca. Opcija text/plain 

formatira podatke tako da svaki element obrasca dobije vlastiti red teksta. Tako se 
lakše 

č

itaju rezultati u e-mail poruci. Ako ne zadate vrstu kodiranja, browser 

ć

upotrijebiti podrazumijevanu vrstu koja formatira podatke. Kako je 
podrazumijevana ona vrsta koju treba koristiti u najve

ć

em broju slu

č

ajeva, vrsta 

kodiranja se obi

č

no ne zadaje. Ovaj primjer je izuzetak, jer podatke šaljete u poruci 

e-pošte radi testiranja. 

Ako ho

ć

ete da poruke e-pošte s podacima obrazaca imaju i temu u polju Subject, 

promijenite sadržaj polja Action na: 

mailto:[email protected]? Subject=Tema se upisuje ovdje.  

Dio "? Subject =" definiše tekst koji slijedi kao temu poruke. U tekstu teme može 
biti razmaka, ali ne i specijalnih znakova kao što su navodnici, polunavodnici, 

background image

Programiranje za Internet 

 

125 

7. Meta oznake i komentari 

U kod se mogu umetnuti neki elementi koji se ne vide u browseru, ali su ipak važni 
za dokument. Meta oznake i HTML komentari primjeri su takvih elemenata. 

Meta oznake se koriste u više svrha: one identifikuju i opisuju dokument, daju 
podatke o vlasniku autorskih prava, identifikuju njegove autore ili dizajnere, 
preusmjeravaju posjetioce na druge strane, odre

đ

uju njegove autore ili dizajnere, 

preusmjeravaju posjetioce na druge strane, odre

đ

uju izgled sažetka dokumenta koji 

se prikazuje u nekim pretraživa

č

ima i uti

č

u na redoslijed pojavljivanja dokumenta 

u njima. HTML komentari se koriste za pravljenje bilježaka u kodu, za 
objašnjavanje svrhe pojedinih dijelova koda, ili kada treba onemogu

ć

avati 

izvršavanje dijela koda, da se on ne obriše. 

Izaberite View, Head Content. 

Odmah iznad okna za prikaz elemenata pojavit 

ć

e se podru

č

je Head Content. U 

njemu 

ć

e se pojavljivati ikonice za elemente smještene u zaglavlju dokumenta, 

izme

đ

u oznaka <head> i </head>. Trenutno su u ovom podru

č

ju ikonice za naslov 

dokumenta, za meta oznaku http-equiv i dijelovi Java Script koda koji treba da 
budu u zaglavlju dokumenta. 

 

Slika 68. Ikonice za zaglavlje dokumenta 

Kada pritisnete neku od ikonica na panou zaglavlja (Head Content), bi

ć

e istaknut 

kod odgovaraju

ć

ih elemenata u oknu koda. 

Da biste vidjeli pano zaglavlja, morate biti u prikazu elemenata (Design View) ili u 
kombinovanom prikazu elemenata i koda (Code and Design View). Ako radite u 
prikazu koda, opcija View, Head Content nije dostupna. U ovom primjeru koristite 
kombinovani prikaz elemenata i koda. 

Dovedite pokaziva

č

 miša iznad ivice koja razdvaja prikaz elemenata od prikaza 

koda. Kada se pokaziva

č

 pretvori u dvostranu strelicu, pritisnite i povucite ivicu 

nagore, kako bi se okno koda pove

ć

alo, a okno elemenata smanjilo. 

Sadržaj zaglavlja vidite pri vrhu prozora dokumenta, neposredno iznad okna 
elemenata. I od okna elemenata vidi se minimalan dio, dok se lako vidi 
odgovaraju

ć

i kod u donjem oknu kada se pritisnu ikonice na panou zaglavlja. 

Programiranje za Internet 

 

126 

U oknu koda, postavite ta

č

ku umetanja na kraj reda koji sadrži naslov dokumenta, 

neposredno poslije oznake </title>, i zatim pritisnite Enter. Izaberite Insert, HTML, 
Head Tags, Description. 

Otvorit 

ć

e se okvir za dijalog Description (opis), s poljem u koje možete da upišete 

opis strane. Neki pretraživa

č

i u svoje rezultate uklju

č

uju meta oznaku description, 

u koju se stavlja kratak sažetak strane. Dodavanje ove meta oznake važno je za 
promociju prezentacije koju pravite. 

Opis treba da je kratak - najviše 200 znakova. U ve

ć

ini pretraživa

č

a ograni

č

en je 

broj znakova i odbacuje se sve što prekora

č

i taj broj. Dobar opis je veoma kratak i 

sažeto upu

ć

uje na sadržaj dokumenta. 

Kursor treba da je na po

č

etku sljede

ć

eg reda.  

Kada pišete spisak klju

č

nih rije

č

i (eng. keywords), razdvojite pojedine rije

č

i i 

izraze zarezima. Ne ponavljajte istu klju

č

nu rije

č

 ili izraz - ako u spisak klju

č

nih 

rije

č

i stavite "novost novost novost novost", to 

ć

e se smatrati slanjem neželjene 

sadržine na Web, zbog ponavljanja rije

č

i "novost". Klju

č

ne rije

č

i treba da 

predstavljaju sadržaj strane i da se na njoj zaista upotrebljavaju. 

 

 

<title>Obrazac</title> 

<meta name="description" content="Kratak opis stranice"/> 

<meta name="keywords" content="HTML, Dreamweaver, škola, Head tagovi"/> 

Slika 69. Insert, HTML, Head Tags, Description 

Pomenuta dva meta-taga (meta-oznake): Description i Keywords se naj

č

ć

koriste kod opisa stranica za koje je bitno da se pojave u pretraživa

č

kim mašinama 

kao što su Google, Yahoo i sl. 

background image

Programiranje za Internet 

 

128 

 

Slika 70. Izvoz stila u spoljnu datoteku kaskadnih opisa stilova 

Ovako kreirana datoteka stilovi.css je obi

č

na tekst datoteka, koja sadrži samo 

definicije stilova. 

Naredbom Text, CSS Styles, Attach style sheet pridružujete datoteku sa spoljnim 
opisima stilova html datoteci. 

 

Slika 71. Pridruživanje datoteke sa spoljnim kaskadnim opisima stilova 

Unutar oznaka <head> i </head> pojavi

ć

e se tekst: 

<link href="stilovi.css" rel="stylesheet" 

type="text/css" />  

Nakon toga se može obrisati dio koda izme

đ

u <style type="text/css"> i </style>, 

jer se ta definicija ve

ć

 nalazi u spoljnoj datoteci.  

Tako kreirani opis stila se na neki drugi tekst primjenjuje tako što se tekst ozna

č

i, a 

zatim u panelu svojstava izabere taj opis stila iz polja Style. 

 

Slika 72. Izbor ve

ć

 definisanog opisa stila 

Dreamweaver podržava neke atribute koji jesu u specifikaciji CSS, ali ih ne 
podržavaju svi teku

ć

i browseri. Obavezno provjerite stilove i u Netscape 

Programiranje za Internet 

 

129 

Navigatoru i u Internet Exploreru, da biste vidjeli da li ovi browseri podržavaju 
atribute koje ste izabrali. 

Mogu se redefinisati postoje

ć

e oznake (tagovi) tako da imaju posebne osobine, kao 

što su boja slova, veli

č

ina, font,... Izaberite Text, CSS Styles, New. U dijalogu 

(slika 72) izaberite "Tag" za redefinisanje postoje

ć

ih oznaka, a zatim u padaju

ć

em 

meniju "Tag" izaberite npr. oznaku "p" (tako 

ć

e svi pasusi u dokumentu koji se 

nalaze unutar oznaka <p> i </p> imati te osobine).  

  

 

Slika 72. Redefinisanje standardnih oznaka (oznaka <p>) 

 

Slika 73. Iako je drugi pasus u tekstu ozna

č

en bez posebnog opisa stila, on 

ć

e imati 

osobine definisane u spoljnoj datoteci 

background image

Programiranje za Internet 

 

131 

Otvorit 

ć

e se okvir za dijalog CSS Style Definition, isti kao onaj u prethodnom 

primjeru u kome ste birali atribute formatiranja. 

Sve što izmijenite primijenjeno je na dokument. Kada bi drugi dokumenti koristili 
ovaj opis stila, sav tekst unutar oznaka <p> u njima, bio bi formatiran prema 
redefiniciji stila koju ste upravo napravili. 

Kaskadni opis stila se primjenjuje po ure

đ

enoj sekvenci. Kada se na isti tekst 

primjeni dva i više stilova, browser primjenjuje kombinaciju atributa svih pozvanih 
stilova. Ako je na isti tekst primijenjeno više stilova 

č

iji se atributi sukobljavaju, 

browser koristi specifikacije stila koji je najviše ugnijež

đ

en (najbliži samom 

tekstu). Stilovi koje ste posljednje primijenili ugnijež

đ

eni su unutar onih koji su 

ve

ć

 primijenjeni. Pošto su stilovi koji su posljednji primijenjeni, u stvari HTML 

oznake koje su fizi

č

ki najbliže tekstu, one imaju prioritet nad prethodnim stilovima 

i zadaju kona

č

an izgled teksta. Redoslijed primjene stilova je: 

 

spoljni stilovi (stilovi koji su najdalje od teksta; najniži prioritet) 

 

unutrašnji stilovi 

 

namjenski stilovi primijenjeni na tekst strane 

 

lokalno formatiranje, recimo polucrni ili kurzivni ispis teksta, primijenjeno na 
tekst strane pomo

ć

u panoa svojstava (stil najbliži tekstu; najviši prioritet, ja

č

od svih opcija zadatih u gore nabrojanim stilovima). 

Ako dokument koristi spoljni opis stila, stilovi u tom opisu primjenjuje se na cio 
dokument. Pretpostavimo, me

đ

utim, da spoljni opis stila sadrži definicije za 

Heading 3 i Heading 4, a da ste napravili i jedan unutrašnji stil koji redefiniše 
oznaku Heading 3. Unutrašnji stil ima prednost pred spoljnim ukoliko im se 
atributi sukobe. 

I ru

č

no formatiranje dijelova teksta ima prednost nad stilovima. Pretpostavimo da 

ste pomo

ć

u panoa svojstava (Properties) primijenili drugu boju na jedan od redova 

teksta unutar oznaka Heading 3. To je lokalno formatiranje i ima prednost pred 
ostalim stilovima (ako oni zadaju boju). Me

đ

utim, atributi namjenskih stilova 

imaju prednost pred atributima stilova HTML oznaka. Ako ho

ć

ete da pomo

ć

stilova definišete izgled pasusa, uklonite sve ostale opcije formatiranja (ukoliko se 
sukobljavaju sa stilovima). 

Kad primijenite namjenski stil, kako 

ć

ete potom da ga uklonite? Ako je namjenski 

stil primijenjen na cio pasus, postavite ta

č

ku umetanja u pasus i pritisnite dugme 

No CSS Style na panou CSS Styles. Time ste obrisali i definiciju stila i njegovo 
formatiranje teksta. Ako je namjenski stil bio primijenjen sam na dio teksta u 
pasusu, postavite ta

č

ku umetanja u rije

č

 formatiranu pomo

ć

u tog stila i zatim 

pritisnite dugme No CSS Style na panou CSS Styles. 

 

 

Programiranje za Internet 

 

132 

8.2. Izrada kaskadnih opisa CSS stilova za hiperveze 

Primjenom stilova možete da mijenjate izgled hiperveza na strani. Kaskadni opisi 
stilova mogu se upotrijebiti za mijenjanje izgleda dinami

č

ke hiperveze s razli

č

itim 

atributima za njena razli

č

ita stanja. Razli

č

ita stanja oznake <a> aktiviraju se kada 

posjetilac npr. pokaže hipervezu, pritisne je itd. U padaju

ć

oj listi Selector u okviru 

za dijalog New Style, Dreamweaver nudi 

č

etiri standardna stanja oznake <a> koja 

olakšavaju izbor formatiranja hiperveza na stranama. Ova vrsta CSS stilova zove se 
pseudoklasa. 

 

Slika 75. Izrada kaskadnih opisa CSS stilova za hiperveze 

Č

etiri mogu

ć

a stanja hiperveza pojavljuju se u padaju

ć

oj listi Selector zato što se 

ona mijenjaju u zavisnosti od aktivnosti posjetioca. Opcije u padaju

ć

oj listi su 

a:link; a:visited, a:hover i a:active. 

 

Opcija Active formatira hipervezu kada je izabrana ili neposredno pošto je 
pritisne posjetilac; podrazumijevana boja u ovom stanju je crvena. U padaju

ć

oj 

listi prikazuje se kao a:active. 

 

Opcija Link formatira hipervezu kada je u normalnom stanju; podrazumijevana 
boja u ovom stanju je plava. U padaju

ć

oj listi prikazuje se kao a:link. 

 

Opcija Visited formatira hipervezu nakon što ju je pritisnuo posjetilac; 
podrazumijevana boja u ovom stanju je ljubi

č

asta. U padaju

ć

oj listi prikazuje 

se kao a:visited. 

 

Opcija Hover formatira hipervezu kada je posjetilac pokaže; podrazumijevana 
boja u ovom stanju je crvena. U padaju

ć

oj listi prikazuje se kao a:hover. (Ovu 

opciju ne podržavaju svi browseri). 

Kaskadni opisi stilova hiperveza ne prikazuju se na panou CSS Styles. 

Pomo

ć

u opisanih kaskadnih opisa stilova, hiperveze se mogu prikazivati i bez 

uobi

č

ajenog podvla

č

enja: u okviru za dijalog stilovi.css koji ste koristili u ovom 

primjeru, izaberite a:link i pritisnite dugme Edit. U okviru za dijalog Style 

background image

Programiranje za Internet 

 

134 

9. Rad s bojama 

Rad s bojama omogu

ć

ila je tvrtka Netscape kada je napravila verziju 1.1 svojeg 

Navigatora, no danas gotovo svi pretraživa

č

ki programi podržavaju to proširenje 

jezika HTML.  

Da biste pozadinu svojih dokumenata mogli ispuniti slikovnim uzorkom ili nekom 
bojom, te da biste tekst i hipertekstualne veze obojili u neke nove nijanse, poslužite 
se sa šest argumenata koji se mogu dopisati uz naredbu <BODY>. Argumentima 
BACKGROUND i BGCOLOR kontrolira se izgled, odnosno boja "papira" na 
kojem je "otisnut" sadržaj vaše stranice. Pomo

ć

u preostala 

č

etiri argumenta, TEXT, 

LINK, VLINK i ALINK odre

đ

uje se boja razli

č

itih dijelova teksta. Argumentu 

TEXT dodjeljuje se boja kojom je "otisnut" sadržaj vaše stranice. Pomo

ć

preostala 

č

etiri argumenta, TEXT, LINK, VLINK i ALINK odre

đ

uje se boja 

razli

č

itih dijelova teksta. Argumentu TEXT dodjeljuje se boja kojom 

ć

e biti ispisan 

obi

č

an tekst, koji se u "neobojenim" stranicama uvijek prikazuje crnom bojom. 

Vrijednost argumenta LINK predstavlja boju hipertekstualnih veza, koja je ina

č

plava, dok vrijednost argumenta VLINK predstavlja boju ve

ć

 posje

ć

enih 

hipertekstualnih veza, koja je ina

č

e ljubi

č

asta. Boja kojom 

ć

e biti ispisan 

hipertekstualna veza u trenutku kada korisnik na nju klikne mišem dodjeljuje se 
argumentu ALINK. 

 

9.1. Pozadina stranice 

Da biste odredili koja sli

č

ica 

ć

e se koristiti za ispunjavanje pozadine Web 

dokumenta uzorkom, dodijelit 

ć

ete njezinu URL adresu (po mogu

ć

nosti relativnu) 

argumentu BACKGROUND koji valja dopisati uz naredbu <BODY>. Na primjer: 

<BODY BACKGROUND="slike/uzorak.gif"> 

Kada se u pretraživa

č

ki program u

č

ita stranica 

č

ije je tijelo ozna

č

eno ovakvom 

naredbom, cijela njezina pozadina bit 

ć

e ispunjena slikom uzorak.gif koja 

ć

e se 

višestruko ponavljati, zalijepljena na samu sebe.  

Nekih stvari, me

đ

utim, morate biti svjesni kada radite s pozadinskim slikama. Prije 

svega one moraju biti što manje. Što su manje, brže 

ć

e se u

č

itati na korisnikov 

ra

č

unar. Drugo, koristite što je mogu

ć

e manje boja. Neki operativni sistemi mogu 

prikazati samo ograni

č

en broj boja, a tako

đ

er postoje i mnogi korisnici sa 

zastarjelim grafi

č

kim karticama koje mogu prikazivati samo 256 boja. Ako ukupan 

broj boja koji se koristi na vašoj stranici prelazi kapacitet 

č

itateljevih hardverskih 

mogu

ć

nosti, viškovi boja 

ć

e se zamijeniti s bojama koje su dostupne, pa 

ć

e vaša 

pozadinska slika izgledati, ružno. Stoga uvijek provjerite kako vaša pozadina 
izgleda na ekranskim razlu

č

ivostima s razli

č

itim brojem boja.  

 

Programiranje za Internet 

 

135 

9.2. Kodiranje boja 

Argumentu BGCOLOR, te preostalim argumentima koji se koriste za bojenje 
teksta, mora se dodijeliti tzv. RGB vrijednost. Radi se o ure

đ

enoj trojki vrijednosti 

kojima se odre

đ

uju redom nijanse crvene, zelene i plave boje, kako bi se 

standardnim miješanjem tih triju nijansi dobila neka nova boja iz uobi

č

ajenog 

spektra podržanog na ve

ć

ini grafi

č

kih kartica. U jeziku HTML, RGB vrijednost se 

odre

đ

uje na slijede

ć

i na

č

in: 

#RRGGBB 

Za svaku od tri spomenute boje koriste se po dva znaka ispred kojih je smješten 
simbol #. Svaki od ova tri para znakova predstavljaju heksadecimalnu numeri

č

ku 

vrijednost izme

đ

u 0 i 255. Svaki od dva znaka "R", naprimjer, predstavlja neku 

vrijednost od 0 do 15. Prvi "R" ozna

č

ava broj "šesnaestica", a drugi "R" broj 

"jedinica". I onda se to sabere. Isto tako je i s oznakama "G" i "B". Prema tome, 
heksadecimalna vrijednost 46 jednaka je zbroju 

č

etiri šesnaestice i šest jedinica, što 

decimalno iznosi 70. Kao što vidite, simboli koje koristimo u obi

č

ne brojke od 0 do 

9, dok se za vrijednosti od 10 do 15 koriste slova A, B, C, D, E i F. 

Crna boja se kodira kao RGB vrijednost #000000, dok je bijela sasvim suprotna - 
#FFFFFF. Svaka boja kojoj su sve vrijednosti RR, GG i BB jednake, predstavlja 
nijansu sive. Miješanje boja na ra

č

unarima je vrlo jednostavan proces zbrajanja: 

ve

ć

e vrijednosti predstavljaju više svjetla koje pripada kona

č

noj boji. Zbog toga je, 

naprimjer, #0000FF oznaka za svijetlo plavu, a ne tamnosme

đ

u, u što se možete 

uvjeriti ako pogledate tablicu 5. Evo i jednog jednostavnog primjera bojenja 
stranice i teksta: 

<BODY BGCOLOR=#000000" TEXT="#FFFFFF" LINK="#FF0000" 

VLINK="#400000" ALINK="#404000"> 

Pozadinu smo obojili u crno, tekst u bijelo, hipertekstualne veze u svijetlocrvenu, 
posje

ć

ene veze u tamnocrvenu, a one veze na koje korisnik klika mišem u žutu 

boju. 

U tabeli 5 koja je dana u nastavku nalaze se RGB kodovi nekih uobi

č

ajenih boja, 

pa ne

ć

ete morati sami ra

č

unati.  

Tabela 5: RGB kodovi nekih uobi

č

ajenih boja 

Boja Tamna 

Srednja 

Svijetla 

Crvena #400000 #7F0000 #FF0000 
Žuta #404000 

#F77F00 

#FFFF00 

Zelena #004000 

#007F00 

#00FF00 

Cijan #004040 

#007F7F 

#00FFFF 

Plava #000040 

#00007F 

#0000FF 

Ljubi

č

asta #400040  #7F007F  #FF00FF 

 

background image

Programiranje za Internet 

 

137 

10. Slike u HTML dokumentima 

10.1. Veli

č

ina slika 

Pored mnoštva drugih stvari, World Wide Web je i masovni distributer slika. 
Umjetni

č

ka djela, fotografije, crteži, mape i drugi tipovi grafike sastavni su dio 

Weba i 

č

esto znaju namamiti 

č

itatelje da dovla

č

e i 

č

itave megabajte grafi

č

kih 

elemenata na svoje ra

č

unar. Arhive slika imaju svoju funkcionalnu ulogu na Webu, 

no organizacije i distributeri tih tipi

č

no ogromnih servera 

č

esto 

ć

e vas natjerati da 

nešto poželite, ali ne uspijete pogledati. 

Kako onda možete objavljivati velike grafi

č

ke datoteke a da ne izgubite dio svojeg 

važnog auditorija? Ako ste Web administrator neke umjetni

č

ke galerije, kako 

ć

ete 

posljednju izložbu prezentirati na Mreži? Ili ako ste administrator poslovnog 
poduze

ć

a, kako 

ć

ete objavljivati grafikone s trgova

č

kim profitima i gubicima? 

Odgovor je jednostavan: koristit 

ć

ete manje slike. Postoje dvije mjerljive veli

č

ine 

na Webu koje biste trebali poznavati: koli

č

ina ekrana koju 

ć

e zauzeti neka slika i 

veli

č

ina datoteke u kojoj je pohranjena. 

Sve 

č

emu se najobi

č

niji korisnik Web stranica nada su brzina i rezultati, odnosno 

ako je mogu

ć

e - brzi rezultati. Kako biste zadovoljili toj dominantnoj potrebi za 

efikasnoš

ć

u, razmislite o upotrebi tzv. 

thumbnail

 sli

č

ica unutar Web stranica, koje 

ć

e predstavljati hiperveze prema dokumentima unutar kojih se nalaze slike u svojoj 

punoj veli

č

ini. 

Thumbnail sli

č

ice, što se može prevesti kao sli

č

ice veli

č

ine pal

č

anog nokta, male 

su grafi

č

ke skice koje 

ć

e korisnika hipertekstualno povezati s pravim slikama. One 

obi

č

no zauzimaju izme

đ

u dva i tri kvadratna centimetra ekrana, a svaka je velika 

svega pet do deset kilobajta. 

Č

ak i oni korisnici koji posjeduju vrlo sporu vezu s 

Internetom mogu tolerirati desetak takvih sli

č

ica unutar jedne Web stranice, no 

ukoliko ih posjedujete puno više, razmislite o tome da ih razvrstate u kategorije.  

Ukoliko želite koristiti velike slike, iskoristite Netscape proširenje naredbe IMG 
koje je realizirano kroz argument LOWSRC. Ubacivanje slike unutar HTML 
dokumenta pomo

ć

u ovog proširenja, koji prepoznaju i drugi poznati pretraživa

č

i, 

obavlja se ovom sintaksom: 

<IMG SRC="velika.gif" LOWSRC="mala.gif"> 

Time se pomo

ć

u jedne naredbe navode putanje i imena datoteka i manje i ve

ć

verzije iste slike. Prilikom prikazivanja stranice koja sadrži ovakvu naredbu, 
pretraživa

č

ki 

ć

e program prikazati sliku koja je dodijeljena argumentu LOWSRC. 

Nakon što se u

č

ita manja sli

č

ica i sav potreban tekst, pretraživa

č

 

ć

e se vratiti do 

mjesta gdje je navedena SRC naredba, te 

ć

e zapo

č

eti s u

č

itavanjem ve

ć

e slike. 

Ovaj proces koji prolazi kroz dva koraka omogu

ć

ava 

č

itateljima da vide sliku koja 

izgleda bolje nakon što su stekli ideju o potpunom sadržaju stranice. 

Korisnik 

ć

e tako

đ

er mo

ć

i kliknuti na neku od hipertekstualnih veza na stranici bez 

č

ekanja da se sve u

č

ita, ali 

ć

e svejedno znati što je bilo prikazano na slikama. 

Programiranje za Internet 

 

138 

Pogodnost ovog Netscape proširenja je i u tome što pretraživa

č

ki programi koji ga 

ne prepoznaju ne

ć

e stvarati nikakve probleme, ve

ć

 

ć

e automatski u

č

itati ve

ć

ina

č

icu slike. U nastavku su dana tri zanimljiva trika koja možete posti

ć

upotrebom argumenta LOWSRC. 

 

Trik#1:

 Kao LOWSRC sliku upotrijebite crno-bijelu kopiju originalne obojene 

slike koju ste dodijelili SRC argumentu. Neka formati obiju slika budu jednaki: 
Time 

ć

ete posti

ć

i zanimljiv efekt osvjetljivanja. 

 

Trik#2:

 Definirajte LOWSRC sliku kao prvi korak u animaciji koja se sastoji 

od dvije slike. LOWSRC slika, na primjer, možete prikazivati šalicu 

č

aja, a 

SRC slika tu istu šalicu iz koje izlazi para. Tijekom u

č

itavanja stranice, najprije 

ć

e se na ekranu prikazati šalica, a potom i para koja iz nje izlazi. Time 

ć

ete u 

svoje stranice unijeti dozu dinamike, bez pretjerano velikog truda. 

 

Trik#3:

 Definirajte LOWSRC sliku kao pozadinsku sliku, naprimjer, kao neku 

teksturu ili gradacijski prijelaz boja. SRC sliku kreirajte tako da bude manjeg 
formata od LOWSRC slike. Kada se SRC datoteka u

č

ita, LOWSRC datoteka 

ć

e izgledati kao pozadinski okvir kojim je obrubljena manja slika. 

 

10.2. Korištenje manjih datoteka 

Slike manjeg formata brže se u

č

itavaju u pretraživa

č

ki program. Da biste što 

uspješnije smanjili datoteku unutar koje je pohranjena vaša slika, razmislite o 
upotrebi JPEG formata. JPEG kodiranje sažimlje sliku na jednu tre

ć

inu (katkada i 

na jednu petinu) ukupne veli

č

ine originalne GIF ili BMP slike. 

Prije prevo

đ

enja svih velikih slika u JPEG format morate razumjeti da prilikom 

sažimanja JPEG odbacuje dijelove koje smatra manje važnim za kvalitetni prikaz 
slike. Što je ve

ć

i stupanj sažimanja, više 

ć

ete izgubiti na kvaliteti slike, što zna

č

i da 

ć

e vaša fotografija, crtež ili nešto tre

ć

e najvjerovatnije izgubiti na broju boja ili 

ć

se negdje pojaviti ta

č

kasti prijelazi. Ipak, uz ne prevelike stupnjeve sažimanja, 

JPEG slike gledane prostim okom ne razlikuju se od GIF ili BMP slika, a datoteke 
u kojoj su pohranjene znatno su manje. 

Da biste još više smanjili veli

č

inu datoteke u kojoj je pohranjena slika, ograni

č

ite 

broj boja koji se koristi. Svaka slika koju kreirate posjeduje paletu koja se koristi u 
zapisu datoteke. GIF format podržava palete do 256 boja, dok JPEG zapisi mogu 
raditi s više od 16 miliona razli

č

itih nijansi svih mogu

ć

ih boja. 

Odbacivanjem dijelova palete za boje koje se ne pojavljuju na slici, smanjit 

ć

ete 

veli

č

inu datoteke za onaj dio koji je bio namijenjen tom dijelu palete. 

Ograni

č

avanjem koli

č

ine boja za neku sliku (64 do 100 za GIF datoteke i 1 do 

2000 za JPEG datoteke), prili

č

no 

ć

ete smanjiti 

č

itav zapis. Programi kakvi su 

PhotoShop, Corel PhotoPaint, Paint Shop Pro, i sli

č

ni, omogu

ć

avaju vam 

kontroliranje palete boja kod vaših grafi

č

kih datoteka. 

background image

Programiranje za Internet 

 

140 

11. CGI programiranje 

Jedna od najsnažnijih mogu

ć

nosti World Wide Weba je sposobnost kreiranja 

dinami

č

kih dokumenata pomo

ć

u izvršnih programa, poznatih pod imenom CGI 

skripte (CGI je skra

ć

enica od Common Gateway Interface). Te skripte mogu biti 

vrlo jednostavne, poput onih koje ispisuju razne poruke slu

č

ajnim odabirom, ali i 

prili

č

no složene, pružaju

ć

i korisniku mogu

ć

nost pretraživanja baza podataka ili 

rada s pristupnicama za druge Internetske servise kakav je, naprimjer, E-mail. 
Unato

č

 njihovom imenu, skripte se mogu pisati u bilo kojem programskom jeziku. 

Neke su doista prave skripte, napisane u interpreterskim jezicima poput Perla, dok 
su druge napisane u kompajlerskim jezicima kakav je C.  

 

11.1. Upoznavanje sa skriptama 

CGI skripte su programi koje pokre

ć

e server na zahtjev klijenta. Kada korisnik 

zatraži URL adresu koja pokazuje na neka skripta, server 

ć

e je izvršiti. Svi izlazni 

podaci koje skripta proizvodi prikazat 

ć

e se u prozoru pretraživa

č

kog programa. 

URL adrese kojima se pozivaju skripte izgledaju kao i svake druge URL adrese s 
HTTP protokolom. Na serveru tvrtke NCSA, naprimjer, instalirana je skripta 
fortune koja je ozna

č

ena URL adresom: 

http://hoohoo.ncsa.uiuc.edu/cgi-bin/fortune.  

Kada serveru stigne zahtjev za ovom URL adresom, on 

ć

e izvršiti UNIX naredbu 

fortune. Ta naredba vra

ć

a druga

č

iju duhovitu dosjetku svaki puta kada je pozovete.  

Kako server zna da skriptu treba izvršiti, a ne prikazati njen sadržaj? Postoje dvije 
metode utvr

đ

ivanja. Najviše se koristi ona kojom se odre

đ

eni direktorij na serveru 

posebno obilježi kao direktorij za skripte. Server sve datoteke u tom direktoriju i 
svim njegovim poddirektorijima smatra izvršnim skriptama, a ne obi

č

nim 

dokumentima. 

Č

ak je mogu

ć

e kreirati nekoliko direktorija za skripte, navode

ć

i ih u 

konfiguracijskoj datoteci Web servera. Web serveri naj

č

ć

e su konfigurirani tako 

da im se direktorij za skripte nalazi odmah u korijenskom direktoriju servera, te da 
mu je dodijeljeno ime cgi-bin. 

Drugi na

č

in utvr

đ

ivanja radi li se o obi

č

nom dokumentu ili izvršnom programu je 

upotreba ta

č

no odre

đ

enih ekstenzija za skripte, naj

č

ć

e .cgi. Kada su skripte 

obilježene ovim postupkom, nije ih potrebno smještati u ta

č

no odre

đ

ene direktorije, 

ve

ć

 se one mogu nalaziti bilo gdje u serverevu stablu direktorija. Ako radite s Web 

serverom koji podržava obje spomenute metode, mo

ć

ć

ete ih kombinirati, 

postavljaju

ć

i neke programe u direktorij za skripte, a neke bilo gdje u stablu, 

dodjeljuju

ć

i im posebnu ekstenziju. 

Naj

č

ć

e nije potrebno obavljati nikakav drugi konfiguracijski posao oko skripti. 

Jednostavno se uvjerite da su izvršive i da se ili nalaze u posebnom direktoriju, ili 
da im je dodijeljena posebna ekstenzija. Potom kreirajte hipertekstualnu vezu koja 
poziva skriptu, ili povežite svoj dokument sa skriptom na neki drugi na

č

in, kao, na 

Programiranje za Internet 

 

141 

primjer, pomo

ć

u obrasca. Ako vam se u

č

ini da se u direktoriju za skripte nalazi 

previše programa i da nastaje prevelika gužva, slobodno kreirajte poddirektorije 
kako biste uveli malo reda. Server 

ć

e svaku URL adresu koja sadrži ime cgi-bin 

shva

ć

ati kao poziv za izvršavanje skripte, 

č

ak i ako je ona zakopana duboko u 

stablu poddirektorija. 

Da biste mogli pisati skripte, najprije morate nau

č

iti na kojem principu rade. Kada 

HTTP server primi zahtjev s URL adresom vaše skripte, on kreira skup globalnih 
varijabli koje sadrže korisne informacije o serveru, pretraživa

č

kom programu i o 

trenutnom zahtjevu. Potom izvršava skriptu, "hvata" sve što ona izbacuje kao 
izlazne podatke, te uhva

ć

eni plijen šalje pretraživa

č

u na prikazivanje. 

Vaša skripta je zapravo dokument kao i svaki drugi, pa tako posjeduje sve slabosti i 
vrline pravih dokumenata. Ona može komunicirati izravno s korisnikom kao što to 
mogu i najobi

č

niji ra

č

unarski programi. Kako bi se ostvario ovakav dvosmjerni 

razgovor, morat 

ć

ete svojem korisniku poslati dokument unutar kojega je 

omogu

ć

en unos nekakvih podataka namijenjenih obra

đ

ivanju pomo

ć

u skripti. 

Kako je HTTP prili

č

no jednostavan protokol, skripta ne može znati da li je isti 

korisnik ve

ć

 koji put pozivao tu skriptu, pa se pokre

ć

e na isti na

č

in svaki put 

ispo

č

etka kada serveru stigne zahtjev s njenom URL adresom. Skripta se izvršava 

sve dok se ne proizvede dokument koji 

ć

e se korisniku poslati kao rezultat. Sva 

komunikacija koja se izvršava izme

đ

u klijenta i CGI programa mora se stoga 

obavljati preko standardnog I/O sistema, dakle pomo

ć

u uobi

č

ajenih naredbi za 

kontroliranje standardnog ulaza i izlaza podataka. Ne postoji na

č

in na koji možete 

kontrolirati izgled korisni

č

kog ekrana, kreiranje okvira za dijalog, dugmadi i drugih 

lijepih stvari kojima obiluju suvremene aplikacije koje rade pod grafi

č

kim 

operativnim sistemima. Sve što vaš program mora proizvesti su podaci u obi

č

nom 

tekstualnom obliku. 

Kao i svaki dokument na Webu, tako i dokument koji 

ć

e proizvesti vašu skriptu 

mora posjedovati pridruženi MIME tip. Naj

č

ć

e su dokumenti koje proizvodite 

HTML dokumenti tipa text/html, no dozvoljena je upotreba svih tipova, uklju

č

ivši 

grafiku i zvuk. Kako biste rekli pretraživa

č

kom programu koji MIME tip da 

o

č

ekuje, vaš 

ć

e skript morati ispisati jedan redak koji sa

č

injava standardno HTTP 

zaglavlje, poput: 

Content-type: neki/mime-tip 

Zaglavlje koje šalje vaša skripta može sadržavati i druga polja, no ne obavezno, 
budu

ć

i da 

ć

e server umjesto vas automatski popuniti sva neophodna polja. Iza 

zaglavlja mora se ostaviti jedan prazan redak, te tada zapo

č

eti s ispisivanjem 

željenih podataka. 

Katkada ne

ć

ete htjeti da vaš CGI program kreira nove dokumente za prikazivanje 

na klijentskom ra

č

unaru, ve

ć

 

ć

ete, naprimjer, htjeti da iz nekog skupa URL adresa 

odabere onu pravu i u

č

ita je u pretraživa

č

ki program vašeg korisnika. Na tom 

principu rade serverske slikovne mape. Tako

đ

er, možda 

ć

ete htjeti prikazati jedan 

dokument spoljnim 

č

itateljima, a neki drugi dokument 

č

itateljima koji se nalaze u 

background image

Programiranje za Internet 

 

143 

 

Kada se koristi kao indeks niza, prefiks varijable ozna

č

ava tip elementa koji je 

pohranjen u nizu. Uglate zagrade koriste se za obi

č

ne nizove, a viti

č

aste za 

asocijativne nizove. 

$niz [0] – prvi element niza @niz 

$niz [1] – drugi element niza @niz 

$niz {'jurica'} – vrijednost asocijativnog niza @niz na indeksu 'jurica' 

$niz {jurica}- isto kao i gore 

 

Uobi

č

ajeni izraz $niz = <> koristi se za uzimanje jednog retka teksta sa 

standardnog ulaza. Navo

đ

enje samo oznaka <> pohranit 

ć

e redak teksta sa 

standardnog ulaza na varijablu $_.  

 

Asocijativni niz %ENV sadrži trenutne globalne varijable sistema kako bi im 
se moglo pristupiti. Primjeri 

č

lanova niza bili bi: $ENV {'PATH'} i $ENV 

{'HOME'}. 

 

Izraz $varijabla=~/podudaranje_po_uzorku/ koristi se za operacije koje se 
moraju podudarati po nekom zadanom uzorku. On se, naprimjer, može koristiti 
da se provjeri sadrži li varijabla $varijabla odre

đ

ene vrijednosti koje su 

navedene iza tilde (~) kao uzorak. 

 

Prefiks & koristi se za pozivanje potprograma. Na primjer: &sumiraj ($marke, 
$lire). 

 

Poziv system ("Neka naredba") izvršit 

ć

e odre

đ

enu naredbu u UNIX ljusci, ili 

ljusci nekog drugog operativnog sistema. Poziv eval ("neki Perl izraz") 
izra

č

unat 

ć

e navedeni izraz i vratiti rezultat. 

 

Perl varijablama koje su navedene unutar teksta obuhva

ć

enog dvostrukim 

znacima navoda biti 

ć

e ispisana vrijednost. Ako se u tekstu obuhva

ć

enom 

znacima navoda nalazi simbol , na tom 

ć

e mjestu ispis prije

ć

i u novi redak. 

Varijable unutar jednostrukih znakova navoda se ignoriraju. Evo primjera: 

$varijabla = 'jurica'; 

print "Moje ime je $varijabla."; 

ispis je: Moje ime je jurica. 

print 'Moje ime je $varijabla.'; 

ispis je: Moje ime je $varijabla. 

 

Obrnuti jednostruki znaci navoda, poput 'date', uzrokovat 

ć

e izvršavanje 

navedenog programa (u ovom slu

č

aju naredbe date). Rezultati koje 

ć

e program 

poslati na standardni izlaz bit 

ć

e vra

ć

ene skripti. Ovo se naj

č

ć

e koristi u 

kombinaciji s naredbom chop() kako bi se izbrisao znak za prijelaz teksta u 
novi redak s kraja izlaznih podataka: 

Programiranje za Internet 

 

144 

chop($datum='date'; # $datum postaje "Mon September 18 2006" 

 

Još malo sintakse: 

Print <<END 

 

Ovo je tekst obuhva

ć

en dvostrukim znacima navoda koji 

ć

e biti ispisan 

zajedno s prijelazima teksta u novi redak i ispisima vrijednosti svih 
varijabli... 

END 

Sav tekst izme

đ

u prvog retka i rije

č

i END smatra se tekstom obuhva

ć

enim 

dvostrukim navodnim znacima. Rije

č

 END nije klju

č

na, pa možete koristiti i 

neku drugu, no me

đ

u programerima je vrlo uobi

č

ajena. Gornji kod istovjetan je 

sljede

ć

oj naredbi: 

Print "Ovo je tekst obuhva

ć

en dvostrukim znacima navoda koji 

ć

e biti ispisan 

zajedno s prijelazima teksta u novi red i ispisima vrijednosti svih varijabli..."; 

Naravno, nije teško zaklju

č

iti da se gornji primjer puno lakše 

č

ita. 

Primjer skripte: 

#!/usr/local/bin/perl 

# Datoteka: malena.pl 

print <<END 

Content-type: text/plain 

Maleni dokument: 

Ovo je najobi

č

niji tekst. Jednostavan, bez 

zna

č

enja! 

END 

Ovaj program ne

ć

e napraviti puno toga. On se sastoji od samo jedne print() 

naredbe koja na standardni izlaz ispisuje HTTP zaglavlje dokumenta iza 

č

ega 

slijedi jednostavan tekst. Kako biste instalirali ovu skriptu i isprobali je u živo, 
prilagodite putanju do Perl interpretera u prvom retku koda kako bi odgovarala 
konfiguraciji vašeg sistema, napravite skript izvršnim i instalirajte ga u direktorij za 
skripte. Pozovite ga iz svojeg pretraživa

č

kog programa pomo

ć

u URL adrese 

http://vaše.ra

č

unar/cgi-bin/malena.pl. Vaš 

ć

e pretraživa

č

 ispisati sljede

ć

i tekst: 

Maleni dokument: 

Ovo je najobi

č

niji tekst. Jednostavan, bez 

zna

č

enja! 

Najvažniji dio koji morate uo

č

iti u ovom primjeru je zaglavlje kojim se deklarira 

text/plain kao MINE tip dokumenta. Bez prisustva ovog retka i praznog retka koji 
slijedi, server 

ć

e prijaviti pogrešku. 

background image

Programiranje za Internet 

 

146 

chop ($kalendar='$CAL $godina'); 

#Ispisivanje svega u obliku HTML stranice 

print <<END; 

Content-type: text/html 

<HTML> 

<HEAD> 

      <TITLE>Kalendar za godinu $godina</TITLE> 

</HEAD 

<BODY> 

      <H1>Kalendar za godinu $godina</H1> 

      <PRE> 

             $kalendar 

       </PRE> 

       <HR> 

       <A HREF="/">Po

č

etna stranica</A> 

</BODY> 

</HTML> 

END 

U programu smo dva puta pozivali UNIX naredbe. Prvi poziv, naredba date, vratit 

ć

e trenutnu godinu. Drugi poziv koristi godinu dobivenu naredbom date za 

izvršavanje naredbe cal. Tekst koji je nastao upotrebom naredbi date i cal potom se 
ubacuje na odgovaraju

ć

a mjesta u HTML dokumentu i ispisuje. Kako naredbe date 

i cal mogu biti smještene u druga

č

ijim direktorijima na razli

č

itim sistemima, pune 

putanje tih programa pohranili smo u Perl varijable pri vrhu skripta kako biste ih 
kasnije lako mogli prona

ć

i i promijeniti u odgovaraju

ć

e vrijednosti. Tako

đ

er ne 

smijemo zaboraviti ispis kalendara smjestiti unutar naredbe <PRE>, jer 

ć

e se u 

suprotnom izgubiti razmaci i prelasci u novi redak koje je kreirala naredba cal.  

Programiranje za Internet 

 

147 

12. JavaScript 

World Wide Web u samim po

č

ecima nije imao riješen problem povezivanja Web 

stranica i drugih alata, poput baza podataka. Takve stvari mogao je riješiti CGI. 
No, vrlo brzo pojavila se potreba da dokumenti obavljeni na Webu budu dinami

č

ki 

promjenljivi, odnosno da prikazuju najsvježije informacije o nekoj temi ili 
informacije koje se 

č

esto mijenjaju, a da administrator Weba ne mora u to ulagati 

previše truda. Osim toga, razvoj Weba išao je u pravcu stvaranja što boljih su

č

elja, 

tako da je ubrzo postalo gotovo neophodno imati na svojoj Web stranici ikone, 
dugmad, padaju

ć

e popise s opcijama, radio dugmad i ostale elemente modernih 

su

č

elja. Budu

ć

i da se CGI programi pozivaju na serveru, oni nisu mogli ponuditi 

na

č

in da se ove posljednje zamisli riješe. Ostali nedostaci CGI programiranja bili 

su: 

 

potreba za u

č

enjem novog programskog jezika, naj

č

ć

e Perla; 

 

nemogu

ć

nost da CGI skripta vrati pretraživa

č

kom programu bilo šta drugo 

osim 

č

istog teksta ili neke datoteke; 

 

sporost komunikacije s korisnikom, jer pretraživa

č

 mora ponovno kontaktirati 

servera da bi poslao podatke koje je korisnik upisao, a tek nakon toga poziva se 
CGI skripta i ona šalje rezultate; 

 

izvršavanje CGI skripti na serveru nepotrebno optere

ć

uje server dodatnim 

zahtjevima, jer se za svaku CGI skriptu mora pokrenuti dodatni proces; 

 

relativno velik sigurnosni rizik, jer neka skripta s pogreškama može stvoriti 
velike probleme; 

 

CGI skripta može teoretski dobiti vrlo veliku razinu "dopuštenja" što smije 
raditi na serverskom ra

č

unaru, zbog toga što se serverski program naj

č

ć

izvršava s vrlo visokim korisni

č

kim statusom, što sve zajedno omogu

ć

ava 

hakerima da preko CGI-a prona

đ

u na

č

in da provale u vaše ra

č

unar; 

 

Nemogu

ć

nost stvaranja korisni

č

kih su

č

elja i op

ć

enito vrlo sku

č

en popis stvari 

koje se mogu riješiti pomo

ć

u CGI-a 

Zanimljivo je kako je mnogo vremena trebalo pro

ć

i dok se nisu pojavila nova i 

bolja rješenja. Budu

ć

i da CGI s tehni

č

ke strane ne predstavlja ništa posebno (radi 

se o najobi

č

nijem pozivanju UNIX skripti i preusmjeravanju njihovog ispisa u 

pretraživa

č

ki program korisnika), tjera na razmišljanje 

č

injenica da je Web 

č

ak 

svojih prvih nekoliko godina bio ograni

č

en isklju

č

ivo na CGI. 

Zatim je došla Java i revolucija je krenula. S Javom, autori Web stranica mogli su 
uz minimalno programiranje stvarati efektne programe, a sam programski jezik na 
sebe je preuzimao sve brige o sigurnosti, multimediji, prikazu grafike i sviranju 
zvu

č

nih datoteka, te korištenju Internet protokola za komuniciranje s drugim 

ra

č

unarima. Me

đ

utim, pojavom Jave Web još uvijek nije dobio alat koji bi 

omogu

ć

avao bolju interaktivnost na Web stranicama, a da napisani programi budu 

background image

Programiranje za Internet 

 

149 

smo spomenuli u prethodnom poglavlju; za pisanje JavaScript skripti bit 

ć

dovoljan pretraživa

č

ki program koji ih može pokrenuti i izvršavati. 

Java aplikacije pozivaju se iz Web stranice pomo

ć

u naredbe <APPLET>, putem 

koje se programu proslje

đ

uju i svi parametri potrebni za njegov rad. JavaScript 

skripte ugra

đ

uju se direktno u HTML kod stranice. 

Brzina izvršavanja programa danas ide uglavnom u prilog JavaScriptu. Iako se 
mnogo radi na tome da se Java ubrza, programi pisani u Javi još se uvijek 
izvršavaju relativno sporo. To je djelomi

č

no posljedica potrebe da se bajt-kod 

kompilira prije izvršavanja. S druge strane, JavaScript skripte obi

č

no se izvršavaju 

vrlo brzo. 

Java je objektno orijentirani jezik. Programeri mogu iznova koristiti ve

ć

 napisane 

dijelove programa - objekte - a dodatno programirati samo onoliko koliko je 
potrebno da se uskladi rad tih objekata. S druge strane, JavaScript je jezik zasnovan 
na objektima, što je sasvim druga pri

č

a. JavaScript programi mogu pozivati objekte 

koji su ugra

đ

eni u pretraživa

č

ki program koji izvršava JavaScript, ali ne postoji 

mogu

ć

nost pravog rada s objektima, niti postoje klase i naslje

đ

ivanja. 

Druga zna

č

ajna razlika što se ti

č

e koncepcije samog jezika je specifikacija. 

Specifikacija programskog jezika je skup pravila kojih se programeri moraju 
pridržavati da bi napisali sintakti

č

ki i leksi

č

ki ispravan program. Java je tu, kao i 

svi ostali pravi programski jezici, vrlo stroga, ali to je nešto na što su programeri 
navikli. Varijable moraju biti deklarirane prije korištenja, a i svi ostali objekti 
moraju prethodno biti stvoreni. JavaScript je ovdje sli

č

niji Perlu, koji se naj

č

ć

koristi u CGI programiranju, jer nije toliko rigorozan po pitanju na

č

ina stvaranja i 

korištenja varijabli. Neki 

ć

e re

ć

i da je to argument u prilog JavaScriptu, jer zašto na 

po

č

etku programa razmišljati o varijablama koje morate deklarirati, kad je 

prirodnije nove varijable uklju

č

ivati u program "u letu"? Pa, ovaj drugi na

č

in da 

uvijek je podložan pogreškama, koje ne moraju biti samo do programera, ve

ć

 se 

može raditi i o nedostatcima izvršnog sistema za JavaScript. Iako je po

č

etnicima 

lakše "zaboraviti" na potrebu deklariranja varijabli, nama se ta ideja ne dopada. 
Ve

ć

ina programera 

ć

e s JavaScripta prije

ć

i na Javu, a starih se navika teško odre

ć

i. 

 

12.2. Kada JavaScript? Kada Java? Kada CGI? 

JavaScript 

ć

ete koristiti za sve ono što ste željeli napisati u CGI-u, ali niste mogli 

ili nije bilo elegantno. JavaScript 

ć

ete koristiti za jednostavne radnje 

č

ije bi 

programiranje u Javi oduzelo previše vremena. To su, naprimjer, ispisivanje 
trenutnog datuma ili vremena na Web stranici, ispisivanje datuma zadnje promjene, 
ispis poruka u statusnom retku pretraživa

č

kog programa, otvaranje novih prozora u 

pretraživa

č

u i prikaz novih HTML dokumenata, provjeru ispravnosti podataka koji 

su upisani u obrasce, pa 

č

ak i ograni

č

eno pretraživanje vrlo jednostavnih baza 

podataka. 

Programiranje za Internet 

 

150 

Ako je potrebno napraviti efektnu animaciju, multimedijsku prezentaciju ili 
interaktivnu aplikaciju na Webu koja stalno komunicira s korisnikom, Java je jedini 
dobar odabir. Ako program mora obavljati složena prera

č

unavanja, s Javom možete 

posti

ć

i da se taj proces obavlja u pozadini zahvaljuju

ć

i Javinom ugra

đ

enom 

sistemu višenitnosti; a ako je potrebno iz vlastitog programa intenzivno koristiti 
druge mrežne protokole (poput pristupanja FTP serverima ili drugim uslugama), 
Java ve

ć

 sadrži sve što vam treba. Dakle, za bilo pisanje bilo kojeg programa koji 

bi trebao imati dulji životni vijek i koji se ne

ć

e izvršiti samo jedan jedini put kada 

netko posjeti Web stranicu, trebali biste odabrati Javu. 

CGI-u 

ć

e, s obzirom na razvoj situacije u svijetu skriptnih jezika, ostati vrlo malo 

prostora. Prakti

č

ki jedine radnje koje ne možete izvesti sa skriptnim jezicima su 

pretraživanje baza podataka. Naime, baze podataka naj

č

ć

e se nalaze na serveru, a 

Java i JavaScript im tamo ne mogu pristupati, pa CGI ostaje jedino rješenje. 

 

12.3. JavaScript i HTML 

Svi skriptni programa i ugra

đ

uju se u HTML dokumente pomo

ć

u naredbe 

<SCRIPT>. Unutar tog bloka potrebno je jednostavno napisati cijeli kod JavaScript 
programa i to je sve. Dakle, da bi pretraživa

č

ki program prepoznao da u 

dokumentu postoji JavaScript, trebate koristiti par naredbi: 

<SCRIPT> 

... 

</SCRIPT> 

Naravno, to je najjednostavnija varijanta te naredbe, ali se u tom obliku ne može 
koristiti jer je potrebno nazna

č

iti i o kojem se skriptnom jeziku radi. Naprimjer, 

postoji i VBScript, pa pretraživa

č

 mora znati ho

ć

e li pokušati intepretirati 

JavaScript ili VBScript. U slu

č

aju JavaScripta, naredba <SCRIPT> treba glasiti: 

<SCRIPT LANGUAGE="JavaScript"> 

... 

</SCRIPT> 

Trenuta

č

no se kao argumenti za parametar LANGUAGE mogu koristiti samo 

imena !JavaScript"!, "VBScript" i "LiveScript". LiveScript je ostatak iz prošlosti, 
pa preostaju samo prva dva skriptna jezika. Me

đ

utim, kako se stvari na Webu vrlo 

brzo razvijaju, moglo bi se dogoditi da 

ć

e se svi skripte, sve Java aplikacije i sve 

ActiveX kontrole ubudu

ć

e u HTML dokumente ugra

đ

ivati uporabom jedinstvene 

naredbe, <OBJECT>, koja se i danas primjenjuje za povezivanje ActiveX kontrola 
i katkada plug-in dodataka ugra

đ

enih u pretraživa

č

. I u interesu samih tvrtki je da 

se kona

č

no o tome dogovore, jer nema smisla da postoje tri razli

č

ita na

č

ina 

ugradnje vrlo sli

č

nih objekata u stranicu. 

background image

Programiranje za Internet 

 

152 

<!-- Po

č

etak komentara kojim "skrivamo" skript 

document.write ("<H1>Moja prva skripta</H1>") 

//--> 

</SCRIPT> 

<HEAD> 

<BODY> 

<H2>Ovo je obi

č

an HTML...</H2> 

</BODY> 

</HTML> 

 

Slika 79. Rezultat izvršavanja skripte u prozoru pretraživa

č

kog programa 

 

12.4. Svojstva JavaScript jezika 

12.4.1. Varijable i automatsko pretvaranje tipova 

Varijable u JavaScriptu mogu se zvati kako god želite, ali postoji ograni

č

enje kao i 

u Javi, a to je da ne smiju po

č

injati brojevima. Dakle, prvi znak smije biti samo 

slovo ili oznaka podvlake (-). Ne postoji ograni

č

enje duljine imena varijable. 

Za deklariranje varijabli u JavaScriptu koristi se naredba var. JavaScript za po

č

etak 

ne zahtijeva da varijable budu deklarirane na po

č

etku programa, a osim toga u 

JavaScriptu ne postoje tipovi podataka. Potpuno jednako kao i Perl, JavaScript 
obavlja dinami

č

ku pretvorbu podataka tijekom izvršavanja skripte, pa programeri 

mogu pisati skripte bez razbijanja glave o tome smiju li pretvoriti jedan tip 
podataka u drugi, a da pritom ne izgube na preciznosti. Osim toga, JavaScript 

ć

e za 

Programiranje za Internet 

 

153 

vas sam odrediti kojeg tipa treba biti pojedina varijabla onog trenutka kada je 
uvedete u program. 

Na primjer, ako u svom programu koristite dvije varijable koje su prvi puta 
spomenute s: 

Varijabla1="15" 

Varijabla2=5 

Tada 

ć

e varijabla1 biti string (zbog toga što je njen sadržaj obuhva

ć

en 

navodnicima), dok 

ć

e varijabla2 biti cjelobrojnog tipa. 

Ako kasnije u programu napišemo, recimo: 

X = varijabla1 + varijabla2 

Y = varijabla2 + varijabla1 

Kako 

ć

e se ra

č

unati vrijednosti varijabli x i y? Za po

č

etak, budu

ć

i da varijable 

sasvim o

č

ito nisu jednakog tipa, JavaScript mora obaviti pretvorbu. Pravilo za 

pretvaranje tipova podataka vrlo je jednostavno: pretvaranje se obavlja slijeva 
nadesno, odnosno onaj operand s desne strane operatora (obi

č

nim rije

č

ima, "ono 

desno od plusa") bit 

ć

e pretvoren u tip operanda s lijeve strane operatora. 

Tako 

ć

e u prvom gornjem primjeru varijabla2 prvo biti pretvorena u string, a zatim 

ć

e taj string biti "zbrojen" sa stringom pohranjenim u varijabli varijabla1. Budu

ć

da zbrajanje stringova rezultira njihovim spajanjem, nova vrijednost varijable x 
(koja je u me

đ

uvremenu tako

đ

er postala tip string) bit 

ć

e "155". 

U drugom slu

č

aju, varijabla1 se iz stringa mora pretvoriti u cijeli broj i zatim 

pomnožiti s vrijednoš

ć

u pohranjenom u varijabli varijabla2. Varijabla y bit 

ć

cjelobrojnog tipa, a sadržavat 

ć

e rezultat množenja 5 sa 15, odnosno broj 75. 

Naravno, ne možete konvertirati iz bilo 

č

ega u bilo šta. Ako se oslanjate na 

automatsko pretvaranje varijabli, morte dobro razmisliti o tome može li se neka 
pretvorba izvesti. Naprimjer, string se može pretvoriti u cijeli broj samo ako nije 
sadržavao niti jedno slovo, što je tek samo jedan od posebnih slu

č

ajeva stringova, 

budu

ć

i da oni naj

č

ć

e sadrže i druge znakove. U tom biste primjeru iz stringa prvo 

morali sami pobrisati ono što ne želite, a tek potom obaviti pretvorbu. Drugi 
problem je u nedefiniranim operacijama: da smo prvu od ranijih naredbi napisali 
kao x = varijabla1 – varijabla 2, što bi se dogodilo? Varijabla varijabla2 o

č

ito se 

mora pretvoriti u string, ali operacija oduzimanja stringova nije definirana. U svim 

ć

e takvim slu

č

ajevima do

ć

i do ispisivanja pogreške u prozoru pretraživa

č

kog 

programa. 

 

background image

Programiranje za Internet 

 

155 

se prvo navede njegovo ime, a zatim i njegovo svojstvo koje se želi promijeniti ili 
kojem se želi pristupiti. Naprimjer: 

Knjiga.stranica=1050 

ć

e svojstvu stranica od objekta knjiga pridružiti navedenu vrijednost. Ako svojstvo 

stranica ne postoji u objektu knjiga, ono 

ć

e mu biti dodato. 

S nizovima se u JavaScriptu radi na sli

č

an na

č

in kao što se pristupalo objektima. 

Razlog tome nije teško otkriti ako se malo promisli: budu

ć

i da JavaScript na isti 

na

č

in 

č

uva u memoriji nizove i objekte, možete pristupati nizovima na jednak 

na

č

in kao što pristupate objektima i obrnuto. Tako bismo gornju naredbu mogli 

pisati i kao: 

Knjiga ["stranica"]=1050 

Jer se nizovima op

ć

enito pristupa tako da se unutar uglatih zagrada navede indeks 

č

lana koji se želi  promijeniti ili 

č

ija se vrijednost želi dobiti. 

 

12.4.4. Kontrola tijeka programa 

Naredba if ... else za postavljanje logi

č

kih uvjeta ima istu sintaksu kao u Javi ili 

C++. Umjesto naredbe if ... else može se opet koristiti i skra

ć

eno pisanje pomo

ć

upitnika i dvota

č

ki. 

if (logi

č

ki izraz) { 

... 

else { 

... 

Naredbe za stvaranje petlji, for i while tako

đ

er se pišu jednako kao u Javi ili C++. 

for (izraz; logi

č

ki izraz; izraz) { 

... 

Naredbe while i continue mogu se, kao i u Javi i C++, koristiti za iskakanje iz 
petlje i nastavljanje izvršavanja od neke ta

č

ke programa. 

 

12.4.5. Operatori i njihovi prioriteti 

Operatori koji su na raspolaganju identi

č

ni su onima u Javi i C++, a njihovi su 

me

đ

usobni odnosi u prioritetima jednaki. 

 

Programiranje za Internet 

 

156 

Tabela 6. Operatori za JavaScript i za Javu 

Prioritet Operator  Opis 

( ) 

zagrade se koriste za promjenu prioriteta 

+ + 

inkrementiranje (unarni operator) 

 - 

- dekrementiranje 

 ! logi

č

ki komplement (unarni operator) 

 

unarni komplement (unarna negacija) 

 

unarni pozitivni predznak 

 - unarna 

negacija 

3 *  množenje 
 /  dijeljenje 
 

ostatak cjelobrojnog dijeljenja (modulo) 

4 +  sabiranje 
 - oduzimanje 
5 << shift 

bitova 

ulijevo 

 >> 

shift 

bitova 

udesno 

 

>>> 

shift bitova udesno uz popunjavanje nulama 

6 <  manje 

od 

 

<= 

manje ili jednako 

 > ve

ć

e od 

 >= 

ve

ć

e ili jednako 

7 = 

= jednako 

 ! 

razli

č

ito od (nejednako) 

8 &  AND 
9 |  OR 
10 : 

=  dodjeljivanje 

vrijednosti 

 

12.4.6. Funkcije 

Osnovna jedinica programa koja obavlja neki koristan posao u JavaScriptu se, kao i 
u C-u naziva funkcijom.  

Da biste stvorili vlastitu funkciju, koristit 

ć

ete klju

č

nu rije

č

 function. Naprimjer, 

sljede

ć

a funkcija ispisat 

ć

e tekst koji primi kao parametar masnim slovima: 

function ispisuj_masno (tekst) { 

    document.write ("<B>" + tekst + "</B"); 

Zgodno je odmah usput primijetiti da u JavaScriptu možete formatirati ekranski 
ispis koriste

ć

i HTML naredbe, kao u gornjem primjeru. Vaš 

ć

e skript jednostavno 

pretraživa

č

u poslati cijeli string, koji uklju

č

uje i HTML naredbe za odre

đ

ivanje 

stila ispisa, a pretraživa

č

 

ć

e to ispisati po njemu poznatim pravilima, koja kažu da 

sve izme

đ

u <B> i </B> mora biti masno. 

background image

Programiranje za Internet 

 

158 

12.6.1. Objekt Window 

Objekt Window sadrži funkcije pomo

ć

u kojih možete utjecati na izgled 

pretraživa

č

kog prozora u kojem se izvršava vaš JavaScript program. Slijede neke 

od zanimljivijih funkcija i primjeri njihovog korištenja. 

window.frames ['okvir1'].document.bgColor="yellow" 

mijenja boju pozadine u trenutnom dokumentu, ali samo u njegovom okviru 
okvir1. Prvi dio te naredbe, window.frames, koristi se za pristup nekom okviru, a 
nakon toga jednostavno treba pozvati funkciju kojom se postavlja nivoa boja. 
Dakle, prevedeno na ljudski jezik, gornja naredba kaže "okvir1" oboji u žuto". 

Možda vas u ovom trenutku još zbunjuje to što mi zapravo izrazu na lijevoj 
dodjeljujemo vrijednost s desne strane izraza na lijevoj da bismo obavili neku 
radnju. Me

đ

utim, JavaScript je i zamišljen tako da radi isklju

č

ivo s objektima i 

njihovim svojstvima. 

Č

im vi promijenite svojstvo objekta, to se odmah održava na 

odgovaraju

ć

i na

č

in, ovisno o tome što ste u

č

inili. 

Da biste prikazali poruku u statusnom retku pretraživa

č

a, možete pozvati 

window.status="Ne mogu zaspati bez neke TV serije!"; 

Ako želite prikazati okvir za dijalog s nekom upozorenjem, jednostavno pozovite 

window.alert ("Ažuriraj antivirusni program!"); 

 

Slika 80. Okvir s upozorenjem 

To 

ć

e prikazati okvir s porukom i korisnik 

ć

e morati kliknuti na dugme OK. 

Ako želite prikazati okvir za dijalog u kojem korisnik može birati izme

đ

u potvrde i 

odbijanja pozovite funkciju 

window.confirm ("Jeste li sigurni?"); 

Ako korisnik klikne dugme OK, vašem 

ć

e se programu vratiti vrijednost true, a ako 

klikne na Cancel, dobit 

ć

ete nazad vrijednost false. 

Programiranje za Internet 

 

159 

 

Slika 81. Okvir za potvrdu neke radnje 

Objekt Window tako

đ

er se brine za otvaranje novih prozora. Da biste otvorili novi 

prozor i u njega u

č

itali neki dokument, pozovite funkciju open: 

open ("stranica.htm","Window1","toolbar=yes"); 

 

12.6.2. Objekt Document 

Objekt Document daje osnovne informacije o trenutnom dokumentu i koristi se za 
sve ulazno-izlazne operacije. 

Da biste ispisali neki tekst, upotrijebite naredbe document.write i 
document.writeln: 

document.write("Moja prva skripta"); 

document.writeln("Moja prva skripta"); 

Razlika izme

đ

u prve i druge naredbe je u tome što 

ć

e se u drugom slu

č

aju ta

č

ka od 

koje po

č

inje ispis nekog sljede

ć

eg stringa premjestiti u novi redak. 

Da biste promijenili boje kojima se ozna

č

avaju hipertekstualne veze (uklju

č

uju

ć

i i 

one koje su ve

ć

 posje

ć

ene), upotrijebite: 

document.linkColor ='red'; 

document.alinkColor ='yellow'; 

document.vlinkColor ='blue'; 

Koriste

ć

i JavaScript možete saznati i odakle je došao vaš posjetitelj, tj. s koje je 

stranice odabrao hipertekstualnu vezu koja je pokazivala na vašu stranicu: 

document.write (document.referrer); 

Ako želite ispisati datum zadnje promjene trenutnog dokumenta: 

document.write ("Ovaj dokument je promijenjen:"); 

document.write (document.lastModified); 

background image

Programiranje za Internet 

 

161 

Na primjer, mnoge stranice koriste JavaScript za provjeru ispravnosti popunjavanja 
obrazaca. Ako posjetitelj nije dobro popunio obrazac, treba ga na to upozoriti. 
Dakle, kada korisnik klikne na dugme koji šalje neke podatke, mi želimo da 
pretraživa

č

 izvrši neke naredbe u JavaScriptu. Da bi se to dogodilo, potrebno je u 

HTML naredbu za stvaranje dugmeta uklju

č

iti poziv tog doga

đ

aja: 

<INPUT TYPE="button" VALUE="posalji" 

onClick="posalji(this.form)"> 

Novi parametar u naredbi <INPUT> govori koji doga

đ

aj treba pratiti. 

Pretraživa

č

ima gornji parametar kaže da pozovu vašu JavaScript funkciju "posalji" 

nakon što korisnik klikne na taj dugme. Ukupno je 9 doga

đ

aja koje možete pratiti, 

a oni su prikazani tablicom 7. 

Tabela 7. Doga

đ

aji u JavaScriptu i njihova imena 

Doga

đ

aj Rukovatelj 

doga

đ

aja 

Do njega dolazi... 

blur 

onBlur 

...kada korisnik premjesti fokus s trenutnog 

elementa na Web stranici 

click 

onClick 

...kada korisnik klikne na neki element ili 

hipertekstualnu vezu 

change onChange 

...kada 

korisnik promijeni neki tekst ili 

mišem ozna

č

i neki element na Web 

stranici 

focus 

onFocus 

...kada se korisnik usredoto

č

i na neki 

element (npr. kada u obrascu za upis 
podataka klikne unutar nekog od polja) 

load 

onLoad 

...kada korisnik u

č

ita stranicu u pretraživa

č

 

mouseover 

onMouseOver 

...kada korisnik mišem do

đ

e na 

hipertekstualnu vezu 

select 

onSelect 

...kada korisnik ozna

č

i neke elemente u 

obrascu 

submit 

onSubmit 

...kada korisnik pošalje podatke upisane u 

obrazac 

unload 

onUnload 

...kada korisnik napušta stranicu 

 

Umjesto da funkciju pozivate, ako se radi o vrlo kratkoj naredbi koju treba izvršiti 
nakon odre

đ

enog doga

đ

aja, možete je izravno uklju

č

iti u akciju koju treba obaviti 

nakon doga

đ

aja. Naprimjer, da biste pokazali okvir s upozorenjem ako korisnik 

klikne na neki dugme: 

<INPUT TYPE="button" name="Klikni!" 

onClick="alert("Zašto bezveze klikaš?')"> 

Ili biste mogli na svojoj stranici napraviti dugme koji 

ć

e pretraživa

č

u narediti da se 

vrati dvije stranice nazad, ovisno o tome gdje je korisnik bio: 

Programiranje za Internet 

 

162 

<INPUT TYPE="button" name="Klikni!" 

onClick="history.go(-2)"> 

Ako želite pozvati neku funkciju nakon što korisnik odlu

č

i poslati sadržaj 

popunjenog obrasca, upotrijebite doga

đ

aj onSubmit: 

<INPUT NAME="obrazac" ACTION="obrada.cgi" 

onSubmit="provjeri ( )"> 

Ovaj primjer 

ć

e pozvati funkciju provjeri( ) u vašem programu, pa tako možete 

provjeriti je li korisnik ispravno popunio sva polja. 

Kada korisnik u

č

ini neku promjenu u obrascu (npr. odabere neku drugu opciju 

izme

đ

u ponu

đ

enih ili promijeni sadržaj nekog polja za upis teksta), JavaScript 

poziva rukovatelj doga

đ

ajem za doga

đ

aj onChange: 

<INPUT NAME="adresa" onChange="provjeriAdresu ( )"> 

Ovakva naredba pozvala bi funkciju provjeriAdresu svaki put nakon što korisnik 
promijeni "fokus", odnosno nakon što je upisao nešto u neko polje i premjestio se 
na drugo. Na ovaj na

č

in možete provjeriti je li dobro napisao svoje li

č

ne podatke 

(npr. telefonski broj ne može imati 3 cifre, ne mogu sve biti iste, a adresa mora 
sadržavati barem dva broja, broj ulice i poštanski broj grada). Ako korisnik nije 
podatke pravilno upisao, možete ga stalno vra

ć

ati na isto polje za upis sve dok ne 

ispravi pogrešku. 

Ako želite da se neka poruka ispiše 

č

im korisnik do

đ

e na vašu Web stranicu, 

upotrijebite doga

đ

aj onLoad. Njega je najbolje uklju

č

iti u naredbu <BODY> u 

HTML dokumentu. Sljede

ć

i primjer otvorio bi okvir za dijalog i u njemu prikazao 

poruku odmah nakon što korisnik u

č

ita stranicu koja sadrži taj redak: 

<BODY onLoad="alert('Dajemo popust za sve narudzbe na 

Webu!'"> 

A ako želite korisnika pozdraviti na odlasku ili obaviti neku drugu radnju, možete 
to na sli

č

an na

č

in u

č

initi pomo

ć

u doga

đ

aja onUnload. 

<BODY onLoad="alert('Hvala na posjeti!')"> 

Doga

đ

aj onMouseOver radi sli

č

no prethodnima: nakon što se mišem na

đ

ete iznad 

odre

đ

enog objekta, JavaScript 

ć

e obaviti neku radnju. Na primjer: 

<INPUT TYPE="button" name="Klikni!" 

onMouseOver="help( )"> 

Na ovaj na

č

in biste mogli ispisivati kratke poruke pomo

ć

i koje korisniku 

objašnjavaju što pojedini elementi stranice rade. 

 

 

 

background image

Programiranje za Internet 

 

164 

var porl=" Dobro došli na našu Web stranicu. Na ovim 

stranicama pronaci cete potpuni katalog nasih izdanja, 

zajedno sa svim sadrzajima i primjerima poglavlja. Bilo 

bi nam drago kad biste nam javili kako vam se dopada 

nas Web." 

var por2=" Svoje poruke mozete poslati na adresu 

[email protected]

." 

var por3="Hvala na posjeti i zelimo vam ugodan boravak 

na nasim stranicama! Ne zaboravite pogledati nova 

izdanja!" 

alert(por1 + por2 + por3) 

//--> 

</SCRIPT> 

</HEAD> 

 

12.8.2. Ispisivanje pomo

ć

Kombiniraju

ć

i doga

đ

aj onMouseOver s pozivom funkcije window.status, možete u 

statusnom retku pretraživa

č

kog programa ispisivati poruku koja pojašnjava 

č

emu 

služi neki element stranice ili kamo vodi hipertekstualna veza. Na primjer, da biste 
umjesto same adrese, koja 

ć

e se u statusnom retku pojaviti nakon što korisnik 

mišem do

đ

e iznad hipertekstualne veze, ispisali detaljnije objašnjenje stranice, 

pisat 

ć

ete u svojem HTML dokumentu: 

<A HREF="novost.htm" onMouseOver="window.status='Sve 

što želite saznati o nama!';return true">Novosti!</A> 

 

Slika 84. Tekst iz prethodnog primjera ispisuje se u statusnoj liniji pretraživa

č

a kad 

se mišem pokaže na link ozna

č

en tekstom "Novosti!" 

 

 

Programiranje za Internet 

 

165 

12.8.3. Automatsko preusmjeravanje korisnika 

Ako se lokacija vaših Web stranica promijeni, trebate korisnike uputiti na novu 
lokaciju. Jedan na

č

in da se to u

č

ini je korištenje client pull/server push zahtjeva i 

naredbe <META HTTP-EQUIV="REFRESH"...>, dok je drugi JavaScript: 

<SCRIPT LANGUAGE="JavaScript"> 

<!-— 

alert("Promijenila se nasa URL adresa. Sada cemo vas 

automatski prebaciti na nasu novu adresu. Postavite 

novu adresu u svoje favorite, a Web administratora cije 

su vas stranice uputile na staru adresu obavjestite o 

promjeni. Hvala!") 

//--> 

</SCRIPT> 

</HEAD> 

<BODY 

onload="location='http://nova.adresa.com/novi.htm'"> 

 

12.8.4. Automatsko preusmjeravanje uz potvrdu 

Ako želite da korisnik potvrdi svoju želju da posjeti vaše Web stranice i na novoj 
adresi, možete malo promijeniti gornji skript tako da koristi funkciju confirm za 
stvaranje okvira za dijalog u kojem korisnik može kliknuti na dugme OK ili 
Cancel. 

<SCRIPT LANGUAGE="JavaScript"> 

<!-- 

function redirect() { 

if (confirm ("Promijenila se nasa URL adresa. 

Sada cemo vas automatski prebaciti na nasu novu 

adresu. Pritisnite OK ako zelite posjetiti nasu 

novu adresu.")) 

location='nova_stranica.htm' 

//--> 

</SCRIPT> 

<BODY onload="redirect()"> 

background image

Programiranje za Internet 

 

167 

 

Slika 86. Tekst preuzet iz dijaloga iz prethodnog primjera 

 

12.8.6. Provjera starosti korisnika 

Ve

ć

 smo rekli da se doga

đ

aj onBlur koristi kako bi se vaša naredba u JavaScriptu 

mogla pokrenuti nakon što korisnik napusti neki element na Web stranici, npr. 
nakon što upiše svoje godine u odgovaraju

ć

e polje i prije

đ

e na sljede

ć

e. Ako vas ne 

zadovoljava ono što je korisnik upisao, možete mu ispisati upozorenje i poruku o 
potvrdi upisa pomo

ć

u sljede

ć

e funkcije: 

<SCRIPT LANGUAGE="JavaScript"> 

<!-- 

function testAge(form) { 

var nAge = form.ageBox.value; 

  if (nAge >= 18) { 

    if (nAge >=1800) { 

      alert("Upisali ste starost od " + nAge +  

      "godina. Je li to sigurno tacno?")  

    } 

  } 

  else { 

    alert ("Morate imati vise od "  + nAge + "godina") 

  }      

//--> 

</SCRIPT> 

Programiranje za Internet 

 

168 

Naravno, u dokumentu mora postojati odgovaraju

ć

i obrazac: 

<FORM> 

Upisite svoju starost: <INPUT TYPE="text" NAME="ageBox" 

onblur="testAge(this.form)"> 

</FORM> 

Isto bismo mogli u

č

initi i koriste

ć

i doga

đ

aj onSubmit: 

<SCRIPT LANGUAGE="JavaScript"> 

<!-- 

function testAge() { 

var nAge = document.age.ageBox.value; 

  if (nAge >= 18) { 

    if (nAge >=100) { 

      alert ("Upisali ste starost od " + nAge + 

        " godina. Morate imati barem 18!") 

      return false 

    } 

    else { 

      return true 

    } 

  } 

  else { 

    alert ("Morate imati vise od "  + nAge + "godina") 

    return false 

  }      

//--> 

</SCRIPT> 

U ovom slu

č

aju obrazac u dokumentu izgleda malo druga

č

ije: 

<FORM NAME="age" onsubmit="return testAge ( )"> 

Upisite svoju starost: <BR> 

<INPUT TYPE"text" NAME="ageBox">  

<INPUT TYPE="Submit" NAME="Submit"> 

</FORM> 

background image

Programiranje za Internet 

 

170 

Kola

č

i

ć

i imaju svoj "rok trajanja". Kada stvarate novi kola

č

i

ć

, morate navesti kada 

ć

e mu iste

ć

i rok trajanja. Ako kola

č

i

ć

 nema odre

đ

en rok trajanja, pretraživa

č

 ga 

ne

ć

e upisati u datoteku cookies.txt nakon izlaska iz pretraživa

č

a. (Ina

č

e svi 

pretraživa

č

i drže kola

č

i

ć

e u memoriji tijekom rada i spremaju ih na disk tek po 

izlasku iz programa.) Na taj na

č

in možete pamtiti neke podatke samo tijekom 

jednog posjeta Web stranici. 

Ako želite da kola

č

i

ć

 bude zapam

ć

en na disku korisnika, što bi nam svakako 

trebalo ako želimo nakon nekog vremena vidjeti koje je sve knjige naru

č

io, morat 

ć

ete zadati rok trajanja kola

č

i

ć

a. Pretraživa

č

i automatski 

č

iste datoteku s 

kola

č

i

ć

ima i izbacuju one kojima je rok istekao. Ova je mjera neophodna zbog toga 

što postoje ograni

č

enja broja kola

č

i

ć

a i njihove veli

č

ine, tako da baš ne možete 

upisivati što god želite i kako god želite na korisnikov disk. Ograni

č

enja nisu 

uvedena zato što se to ne bi moglo izvesti druga

č

ije, nego zbog toga da se s previše 

kola

č

i

ć

a ne bi popunio sav prostor na disku. Tako pretraživa

č

 ne smije 

č

uvati više 

od 300 kola

č

i

ć

a od kojih je svaki veli

č

ine najviše 4 KB. Ukupna veli

č

ina datoteke 

cookies.txt zbog toga ne

ć

e nikad biti ve

ć

i od 1,2 MB. 

Da bismo stvorili i kasnije pro

č

itali jednostavan kola

č

i

ć

, u svom programu 

ć

emo 

napisati sljede

ć

e dvije funkcije: 

<SCRIPT LANGUAGE="JavaScript"> 

<!-- 

function SetCookie(name, form) { 

document.cookie = name + form.textCookie.value + ";" 

form.textCookie.value = "" 

function ShowCookie(form) { 

form.textCookie.value = document.cookie 

//--> 

</SCRIPT> 

Prva funkcija, SetCookie, uzima vrijednost polja name iz obrasca. Zatim mijenja 
svojstvo document.cookie, dodaju

ć

i mu vrijednost tog polja, ali mu još dodaje i 

ostali tekst koji je korisnik napisao u polje form.txtCookie.value, nakon 

č

ega briše 

sadržaj tog polja. Druga funkcija, ShowCookie, pro

č

itat 

ć

e kola

č

i

ć

Sada moramo stvoriti odgovaraju

ć

e su

č

elje za upis podataka koji 

ć

e se spremiti kao 

kola

č

i

ć

<FORM> 

<INPUT TYPE="Text" NAME="textCookie" size=50 ROWS=10 

COLS=73><P> 

Programiranje za Internet 

 

171 

<I>Kliknite na ovo dugme da biste poslali 

kolacic:</I><BR> 

<INPUT TYPE="button" VALUE="Create Cookie" 

NAME="butSet" onclick="SetCookie('Cookie1', 

this.form);"><P> 

<I>Kliknite na ovo dugme da biste prikazali sadržaj 

novog kolacica:</I><BR> 

<INPUT TYPE="button" VALUE="Display Cookie" 

NAME="butDisplay" onclick="ShowCookie(this.form);"> 

</FORM> 

Da biste ovo isprobali, upišite neki tekst u polje za upis i kliknite dugme na Web 
stranici da biste poslali svoj odgovor skriptu. On 

ć

e upamtiti upisane vrijednosti 

kao kola

č

i

ć

e, pa ih možete prikazati klikom na drugo dugme. 

 

Slika 88. Stranica sa kola

č

i

ć

ima 

Korisnici Netscape Navigatora i Internet Explorer mogu isklju

č

iti primanje 

kola

č

i

ć

a. Ako je ono uklju

č

eno, možete uklju

č

iti još i opciju za dobivanje 

upozorenja o tome da neka skripta želi postaviti kola

č

i

ć

. Tako možete odlu

č

iti 

želite li da skripte s nekih Web stranica uop

ć

e nešto 

č

uvaju na vašem disku.  

 

background image

Programiranje za Internet 

 

173 

Ova naredba se razlikuje od sljede

ć

e: echo "Zdravo<BR>"; 

 echo 

"Zdravo<BR>"; 

 

U prvom slu

č

aju 

ć

e u HTML tekstu koji server vra

ć

a biti izveden "novi red". U 

drugom slu

č

aju HTML tekst sadrži HTML naredbu za novi red. 

 

13.4. Varijable (promjenljive) 

Da bi se mogli pisati smisleni programi i aplikacije potrebne su nam promjenljive. 
Sve promjenljive po

č

inju sa znakom 'dolar' 

$

 !!!  

 

$text = "Ja sam jedna recenica!" ;

 

 echo 

$text,$text,$text;

 

 

$l = "duga"; 

 

 

$k = "kratka";

 

 

echo "Ja sam jedna $l$l$l$l$l$l recenica!"; 

 

 

echo "Ja sam jedna $k recenica!";

 

 

$i = 10;

 

 

$j = 5; 

 

 echo 

$i,"+"$j,"=",$i+$j; 

 

Tip promjenljive (cijeli broj, decimalni broj, tekst ...) dobija se automatski prilikom 
primjene. (Za razliku od C i C++ gdje se tip promjenljive morao egzaktno i ru

č

no 

odrediti). Ovaj "ru

č

ni" na

č

in odre

đ

ivanja tipa promjenljive vrši se samo u 

specijalnim slu

č

ajevima.  

 

13.5. Pred-definisane (ve

ć

 odre

đ

ene) promjenljive 

Kako je PHP specijalno razvijen za pravljenje dinami

č

kih web-stranica, samim tim 

je i obrada podataka koji vode porijeklo iz formulara lagana.  

Primjer:

 

Pretpostavimo da u formularu stoji:  

 

<FORM ACTION ="RadiNesto.html" METHOD = "POST">

 

 <INPUT 

NAME="ImePoIzboru">

 

 <INPUT 

TYPE="submit">

 

 </FORM> 

 

Prilikom "

klika

" na 

SUBMIT

 dugme, bi

ć

e pozvana datoteka 

RadiNesto.html

 .  

Programiranje za Internet 

 

174 

Ova datoteka može npr. ovako izgledati:  

 <? 

 

echo "Vi ste ukucali $ImePoIzboru . "; 

 ?>

 

Tekst koji je ukucan u formular-polje 

ImePoIzboru

, sa

č

uvan je (memorisan) u 

PHP promjenljivoj 

$ImePoIzboru

.  

Po

č

etnici trebaju uvijek koristiti 

METHOD=POST

 prilikom izrade formulara !  

 

13.6. Jednostavne ra

č

unske operacije 

Sljede

ć

e ra

č

unske operacije su na raspolaganju: 

Znak Radnja  Primjer 

 

Sabiranje 

$i + $j  

-

 

Oduzimanje 

$i - $j 

*

 

Množenje 

$i * $j 

/

 

Dijeljenje 

$i / $j  

%

 

Ostatak 

$i % $j 

 

Objašnjenje za radnju Ostatak: radnja izra

č

unava ostatak dijeljenja, npr. 23%17 

daje 6 , jer je 23 podijeljeno sa 17 jednako 1 i ostatak 6 .  

 

13.7. Povezane rije

č

i ('strings') 

 

$d = "Dugacak";

 

 

$k = "Kratak"; 

 

 echo 

$l.$k; 

 

 DugacakKratak

 

(pokazuje na ekranu rije

č

 DugacakKratak) 

 

 

Kao i u C i C++ i dalje važe ve

ć

 poznate skra

ć

enice i olakšice: 

 $i++

 uve

ć

ava varijablu 

$i

 za 1  

 ++$i

 uve

ć

ava varijablu 

$i

 za 1  

 $i--

 umanjuje varijablu 

$i

 za 1  

 --$i

 umanjuje varijablu 

$i

 za 1  

 

background image

Programiranje za Internet 

 

176 

  // 

tzv. 

broja

č

 se postavi na nulu 

 

 while 

($i<10) 

 

 

 

//sve dok je $i manje od 10

 

 

{

 

 

echo $t;  

 

 

//pokaži sadržaj promjenljive $t

 

 $i++; 

 

 

 

//uve

ć

aj i za 1

 

 

}

 

moglo bi se isto tako napisati:  

 

$t = "Moram sam raditi domace zadatke !<BR> ";

 

 

$i = 0; 

 

  //broja

č

 na nulu

 

 do 

 

  //izvrši 

!!!

 

 

{

 

 echo 

$t; 

 

 

 

//pokaži sadržaj $t, tj. memorisanu re

č

enicu

 

 $i++; 

 

  //uve

ć

aj broja

č

 za 1

 

 

} while ( $i < 10 ); 

 

 

 

// i to radi sve dok je $i manje od deset

 

Gdje je razlika? Razlika se najbolje može uo

č

iti ako se kao po

č

etna vrijednost za 

broja

č

 

$i 

umjesto nule 

$i=0

; stavi deset 

$i=10;

. U prvom slu

č

aju nije ispunjen 

uslov 

( $i<10 )

, tako da naredbe izme

đ

u "

viti

č

astih

" zagrada ne

ć

e biti izvedene. U 

drugom slu

č

aju bi

ć

e najprije izvedene naredbe unutar "

viti

č

astih

" zagrada, i tek 

onda 

ć

e biti provjereno da li je uslov još uvijek zadovoljen tj. da li važi 

$i<10

 . 

Kako ovo nije slu

č

aj, bi

ć

e prekinuto izvo

đ

enje naredbi unutar petlje. Važno je 

primijetiti da 

ć

e u ovom drugom slu

č

aju, zna

č

i upotrebom 

DO-WHILE petlje

 

naredba biti 

BAREM JEDNOM izvedena

. Još jedna mogu

ć

nost za primjenu petlji 

u programu je tzv. 

FOR

 petlja. 

 

 

Programiranje za Internet 

 

177 

Primjer: 

 

$t = "Moram sam raditi domace zadatke !<BR> "; 

 

 for 

($i=0;$i<10;$i++) 

 

 

{

 

 echo 

$t;

 

 

}

 

'for

' petlja se sastoji od tri izraza. U opštem slu

č

aju: 

 
 

for (izraz1;izraz2;izraz3) 

 

 

{

 

 ... 

 

 

}

 

 
Sa vrijednoš

ć

u

 izraz1

 inicijalizira se petlja, prosto re

č

eno "

broja

č

 se stavlja na 

po

č

etnu vrijednost

". Vrijednost data u 

izraz2

 predstavlja krajnju vrijednost . Kada 

se ona dostigne izlazi se iz petlje. Kroz 

izraz3

 daje se tzv. "

korak

", tj. dajemo 

vrijednost za koju treba pove

ć

ati ili umanjiti broja

č

. Prednost 

'for

' naredbe je taj što 

sve naredbe potrebne za kontrolu petlje stoje u jednom redu (ta

č

nije u jednoj 

zagradi). U idu

ć

em primjeru bi

ć

e pokazana jedna petlja u kojoj se broja

č

 umanjuje 

za odre

đ

enu vrijednost, tj. brojat 

ć

emo "

unazad

". 

 

$t = "Moram sam raditi domace zadatke !<BR> ";

 

  //promjenljiva 

$t

 

 for 

($i=10;$i>0;$i--)

 

  /* 

broja

č

 se postavlja na 10. U svakom idu

ć

em koraku bit 

ć

e  

 

 

umanjen za 1 sa $i--,... naredba se izvršava sve dok je $i>0 */

 

 

{

 

 echo 

$t; 

 

 } 

 

 

13.10. Uslovno grananje programa 

Ukoliko se program želi "usmjeriti" u nekom pravcu, i to u zavisnosti od izabranog 
slu

č

aja, upotrijebit 

ć

e se 

if

 naredba:  

 if 

($i<0)

 

background image

Programiranje za Internet 

 

179 

 

}

 

 else 

 

 

 

//ako $i nije ni manje ni ve

ć

e od nule,...

 

 

{

 

 

echo "$i je nula "; 

 

 

 

// onda je sigurno $i=0, pa to pokaži...

 

 

}

 

Ako jednu promjenljivu treba više puta testirati, onda je lakše upotrijebiti naredbu 

switch

 . Primjer: 

 switch 

($ime) 

 

 

{

 

 case 

"Suljo": 

 

 

echo "Ja sam Suljo";

 

 break;

 

 case 

"Mujo":

 

 

echo "Ja sam Mujo"; 

 

 break;

 

 case 

"Haso":

 

 

echo "Ja sam Haso";

 

 break;

 

 default:

 

 

echo "Nisam Suljo, Mujo a ni Haso, ja sam Huso";

 

 

}

 

Ako je ime sadržano u promjenljivoj 

$ime

 

Suljo

, (tj. ako promjenljiva $ime 

sadržava vrijednost "Suljo") bi

ć

e izvršena prva naredba: 

echo "Ja sam Suljo"

Nakon toga se prekida dalje izvršenje naredbi u petlji sa naredbom 

break;

.

 

Ako 

ime nije Suljo, onda se nastavlja sa "

ispitivanjem slu

č

ajeva

" datim u 

case

 , u datom 

slu

č

aju pore

đ

enjem sadržaja promjenljive 

$ime

 i imena (rije

č

i Mujo, Haso,..). 

Ukoliko ni jedan slu

č

aj ne odgovara (tj. ako ime nije ni Suljo ni Mujo ni Haso), 

onda 

ć

e biti izvršena naredba 

default;

. Pod 

default

 se uvijek stavlja ona naredba 

koja treba biti izvršena ako ni jedna od pretpostavki nije istina, u našem slu

č

aju 

bi

ć

e pokazan tekst: Nisam Suljo, Mujo a ni Haso, ja sam Huso. 

 

Programiranje za Internet 

 

180 

13.12. Proširena pore

đ

enja 

Do sada smo vidjeli osnovne mogu

ć

nosti usporedbe: provjeru na 

ve

ć

e

manje

 ili 

jednako

 ($i<10, $i>10, $i=0) . Osim ovih osnovnih usporedbi, naravno da je 

mogu

ć

e napraviti i "

proširene

" usporedbe kao npr.: 

 

$i == 10

  

 

 

// Da li je $i jednako 10 ?

  

 

$i <= 10

  

 

 

// Da li je $i manje ili jednako 10 ? 

 

 

$i => 10  

 

 

// Da li je $i vece ili jednako 10 ? 

 

 

$i != 10  

 

 

// Da li $i nije jednako 10 ? 

 

Ove upite možemo i koristiti u kombinaciji, kao npr.:  
 

($i==10) && ($j>0)  

 

 

// Da li je $i jednako 10 i $j ve

ć

e od 0 (nule)?  

 

($i==10) || ($j==0)  

 

 

// Da li je $i jednako 10 ili $j jednako 0?

 

 

Prikazani slu

č

ajevi su identi

č

ni (ta

č

nije sintaksa) je ista kao i kod C jezika. Zna

č

i: 

 &&

 - znaci 'bool'

 i

 (

AND

 ||

 - znaci 'bool' 

ili

 (

OR

 

13.13. Predefinisane promjenljive 

 

U PHP datoteci, koja je pozvana iz nekog formulara, imena "

elemenata iz 

formulara

" stoje na raspolaganju kao promjenljive. Ovu osobinu možemo 

iskoristiti tako što 

ć

emo sami formular i naredbe koje "

komanduju

" formularom (tj. 

šta i kad 

ć

e biti izvedeno) memorisati u jednu datoteku. Pretpostavimo, naša 

datoteka form.html sadržava sljede

ć

i formular:  

 

<FORM ACTION="form.html" METHOD=POST>

 

 <INPUT 

NAME="ImePoIzboru">

 

 <INPUT 

TYPE="submit">

 

 </FORM>

 

background image

Programiranje za Internet 

 

182 

gostiju

", ili pove

ć

anje za jedan na broja

č

u kod nove "

posjete

".)  

Iz sigurnosnih razloga je web-server na serveru dodijeljen korisniku (user - u) koji 
ima vrlo mala prava. Izme

đ

u ostalog, taj korisnik ne smije onako kako bi on htio 

pisati i brisati po vašim datotekama (tj. vašim htm ili html stranicama). Još manje 
ima pravo da sam polaže nove datoteke u vaš folder na web-serveru.  

Kako položiti datoteku za "upisivanje" na web-serveru?

 

Da bismo položili datoteku 

NekaDatoteka

 u koju web-server smije upisivati 

podatke, potrebni su sljede

ć

i koraci:  

U nekom FTP programu kliknemo desnom tipkom na mišu i izaberemo 

chmod

Ukoliko nemamo izbor 

chmod

 sa desnim klikom, naredbu možemo poslati i 

direktno ftp-om:  

 

site chmod xyz ImeDatoteke

 

Ovdje su 

X, Y

 i

 Z

 tri cifre koje služe za odre

đ

ivanje prava za ovu datoteku, i to: 

X

 - stoji na prvom mjestu za prava koje ima vlasnik (onaj koji je položio 

datoteku)  

Y

 - stoji na drugom mjestu za prava koja ima grupa kojoj vlasnik pripada;  

Z

 - stoji na tre

ć

em mjestu za prava koja ima ostatak svijeta -tj. svi drugi.  

Pri tome važi:  

 

0 zna

č

i : nikakvo pravo (potpuna zabrana).  

 

1 zna

č

i : pravo izvo

đ

enja (važno za programe i direktorije).  

 

2 zna

č

i : pravo pisanja (što istovremeno zna

č

i i "pravo brisanja").  

 

4 zna

č

i : pravo 

č

itanja.  

Ova prava se mogu sabirati, pojašnjenje 

ć

e se dati u primjeru za datoteku 

primjer.htm. Htjeli bismo da postavimo sljede

ć

a prava: Da vlasnik ima pravo 

č

itanja (4) + pravo pisanja (2) + pravo izvo

đ

enja (1) što zna

č

i sva prava, slijedi: 

4+2+1 = 7

Da grupa kojoj vlasnik pripada ima pravo 

č

itanja (4) i pravo izvo

đ

enja (1): 

4+1=5

I da svi ostali imaju samo pravo za izvo

đ

enje (1); Zna

č

i prava za vlasnika 7, za 

grupu 5 i ostale 1, pa je naredba: 

 

site chmod 751 primjer.htm

  

Ako bismo stavili : 

 

site chmod 777 primjer.htm

 

Programiranje za Internet 

 

183 

zna

č

ilo bi da 

SVI IMAJU SVA PRAVA ZA OVU DATOTEKU, A TO BI 

BILO VRLO OPASNO!!!

 

Web-server radi u normanom slu

č

aju pod pravima za "ostale", što zna

č

i da nema ni 

prava vlasnika, a ni prava grupe kojoj pripada vlasnik. (

Ovo se naj

č

ć

e zaboravi 

prilikom prebacivanja CGI-skripte na server, pa se onda 

č

udimo zašto skripta ne 

radi :)

" Po

đ

imo od toga da sada imamo datoteku pod imenom 

NekaDatoteka

 iz 

koje želimo nešto 

č

itati. Prije svega moramo otvoriti ovu datoteku. Pri tome je 

neophodno nazna

č

iti koje akcije želimo preduzeti npr. 

č

itati iz datoteke, upisivati u 

nju, brisati itd....  

Naredba glasi:  

 

$dato = fopen("NekaDatoteka","r");

 

Ovo zna

č

i da otvaramo datoteku 

NekaDatoteka

 i da želimo iz nje 

č

itati (" r " zna

č

č

itati - eng. read ). "

Tehni

č

ke detalje

ć

emo prepustiti promjenljivoj 

$dato

 , tj. kada 

budemo željeli 

č

itati iz datoteke 

NekaDatoteka 

jednostavno 

ć

emo upotrijebiti 

promjenljivu 

$dato

.  

U drugom koraku 

č

itat 

ć

emo iz datoteke 

NekaDatoteka

 i to red po red , sve dok ne 

do

đ

emo do kraja datoteke:  

 while 

(!feof($NekaDatoteka))

 

 

{

 

 

$red = fgets($NekaDatoteka,1000); 

 

 echo 

$kraj;

 

 

}

 

 

feof($NekaDatoteka)

 je istina kada do

đ

emo na kraj datoteke. (

EOF

 je 

skra

ć

enica od 

End Of File

). 

 

$red = fgets($dato,1000);

 Uz pomo

ć

 sistemske funkcije 

fgets

 postižemo 

sljede

ć

e: pro

č

itaj maksimalno 1000 znakova u redu iz datoteke 

NekaDatoteka

, prekini sa 

č

itanjem kada nai

đ

eš na znak za novi red ili na 

znak za kraj datoteke, i to "

pro

č

itano

" upiši u promjenljivu pod imenom 

$red

(

Objašnjenje za broj 1000 ... Broj 1000 je izabran po slobodnoj volji jer je 

vrlo vjerovatno niko ne

ć

e napisati 1000 znakova u jedan jedini red. Da 

smo htjeli mogli smo napisati i 1.000.000, onda bismo imali još ve

ć

vjerovatno

ć

u da niko nije napisao milion znakova u jedan red 

:).  

 

echo $red;

 jednostavno pokazuje sadržaj promjenljive 

$red 

na ekranu. 

Na kraju moramo još zatvoriti datoteku:  

 fclose($NekaDatoteka);

 

Prilikom otvaranja neke datoteke imamo sljede

ć

e mogu

ć

nosti:  

background image

Programiranje za Internet 

 

185 

Slijedi primjer:  

 <? 
 

Header( "Content-type: image/gif"); 

 

$slicica = imagecreate(200,100); 

 

$plava = ImageColorAllocate($slicica,   

 

  0x2c,0x6D,0xAF); 
 ImageFilledRectangle($im,0,0,200,100,$plava); 
 ImageGif($slicica); 
 ImageDestroy($slicica); 
 ?> 

Ako pozovemo ovu datoteku, dobit 

ć

emo jedan plavi pravougaonik. Naravno, 

koriste

ć

i:  

 <IMG 

SRC="slika.php3"> 

možemo povezati ovaj pravougaonik u nekoj HTML stranici. Šta se postiže gore 
navedenim naredbama?  

Naredba:  

 

Header( "Content-type: image/gif"); 

najavljuje browser-u da je ono što slijedi jedna GIF-sli

č

ica. (Ako želimo sprije

č

iti 

javljanje greške možemo privremeno ovaj red "izbaciti iz upotrebe" ostavljaju

ć

i ga 

kao komentar stavljanjem znaka # na po

č

etak reda.)  

Naredba:  

 

$slicica = imagecreate(200,100); 

pravi sli

č

icu koja je 200 px (piksela) široka i 100 px visoka.  

Svaka boja mora biti prije same upotrebe "stvorena" tj. odre

đ

ena. Ovo postižemo 

naredbom:  

 

$plava = ImageColorAllocate($im, 0x2c,0x6D,0xAF); 

ovdje je 

$slicica

 slika za koju odre

đ

ujemo boju, ostala tri parametra predstavljaju 

heksadecimalne RGB-vrijednosti. (Obrati pažnju na sintaksu: 

0x2c

 odgovara 

decimalnom udjelu crvene boje od 

36

).  

Sa: 

 ImageFilledRectangle($slicica,0,0,200,100,$plava); 

nacrtat 

ć

emo jedan popunjeni pravougaonik , koji po

č

inje u lijevom gornjem uglu 

(0,0), i završava 200 px desno i 100 px dole. Naravno, ispunjen je sa prije 
odre

đ

enom (u promjenljivoj 

$plava

) plavom bojom.  

Programiranje za Internet 

 

186 

Naredba:  

 ImageGif($slicica); 

zna

č

i: najprije pravi jednu GIF-sli

č

icu na osnovu "

unutrašnjeg predstavljanja

" i 

onda je pošalji nazad posmatra

č

u, dok  

 ImageDestroy($slicica); 

osloba

đ

a interno zauzeto mjesto za memorisanje.  

Postoji 

č

itav niz mogu

ć

nosti za pravljenje slika. Npr. možemo upisati neki tekst u 

sli

č

icu koju stvaramo:  

 

$bijela = ImageColorAllocate($slicica, 

  255,255,255); 
 imagestring($slicica,5,20,20,"Zdravo",$bijela); 

Uz pomo

ć

 prve naredbe definišemo bijelu boju. (Ovdje se još da primijetiti da smo 

bijelu boju odredili sa decimalnim vrijednostima - 3 x 255). Drugom naredbom 
postižemo upisivanje teksta "

Zdravo

" veli

č

ine 5 koji po

č

inje na mjestu 20,20 (20 

px desno i 20 dole). Obje naredbe treba da stoje direktno ispred naredbe  

 

ImageGif($slicica) .  

Osim pravougaonika mogu

ć

e je "

crtati

" i ostale uobi

č

ajene elemente kao što su 

krugovi, elipse, poligoni, lukovi itd. 

 

13.17. Povezivanje sa bazama podataka

  

Jedno od glavnih podru

č

ja u kojima se primjenjuje PHP je "

on-line

" korištenje 

baza podataka. Baza podataka sadržava odgovaraju

ć

e "

elemente

" (

"redove" sa 

istovjetnim vrstama podataka npr. "prezime, ime, ulica, broj ku

ć

e, poštanski broj, 

mjesto"

). U svakom redu stoje razli

č

iti upisi ("

promjenljive

") koje odgovaraju tipu 

podataka.... tako bi ime bilo jedna "

rije

č

", dok bi broj ku

ć

e ili poštanski broj imali 

tip "

cijeli broj

". 

Redovi

 - "

upisi

" mogu biti pozvani, 

č

itani, mijenjani i sl., mogu

ć

je dodavanje novih upisa, brisanje starih itd. Svi ovi postupci nazivaju se jednim 
imenom "

upiti

".  

Naj

č

ć

e korištena vrsta baza podataka su 

SQL

  (

skr. od Structured Query 

Language

) - baze koje mogu da se obra

đ

uju pomo

ć

u jezika SQL. PHP se može 

koristiti za vezanje sa više vrsta baza podataka, a naj

č

ć

a je 

MySQL

. Prednosti 

MySQL baza podataka su relativno velika brzina i to što je njihovo korištenje 
besplatno.  

Da bismo izveli neki SQL-upit sa PHP-om, moramo prije svega otvoriti bazu 
podataka - odnosno povezati se s njom. (

Što bi bilo identi

č

no sa 

č

itanjem iz 

datoteke i upisivanje u datoteke

). Nakon toga bi se poslala SQL- naredba bazi 

podataka, bio bi preuzet odgovor od baze i na kraju bi se baza još morala zatvoriti.  

background image

Programiranje za Internet 

 

188 

2.

 

Edo Mehi

ć

 8 

prakti

č

ni dio ispita 

3.

 

... ... ... ...  

Mogu

ć

e je iz tabele uzeti samo one podatke koji zadovoljavaju neki uslov. Npr. sa: 

 

SELECT * FROM studenti WHERE Ocjena=9; 

dobijamo samo studente koje u koloni Ocjena u bazi imaju upisanu vrijednost 9.  

Odgovor bi bio  

 

Amir Ali

ć

 9 

samo 

usmeni 

Sa:  

 

SELECT * FROM studenti ORDER BY Prezime; 

Odgovor bi bio: 

 

Amir Ali

ć

 9 

samo 

usmeni 

 

Edo Mehi

ć

 8 

prakti

č

ni dio ispita 

dobijamo studente, poredane po prezimenu..  

Nove "redove" u tabeli možemo dodati sa:  

 

INSERT studenti (ID,Ime,Prezime,Ocjena,Komentar) 

  VALUES 

(3,'Ivo','Zec','9',' 

'); 

Ta naredba bi dodala novi red u tabelu studenti i u taj red upisala podatke za 
studenta koji se zove "Ivo Zec" i ima ocjenu 9. 

Postoje

ć

e "

elemente

" možemo promijeniti sa: 

 

UPDATE studenti SET Ocjena='6',  

 

 

Komentar='prolazna ocjena' WHERE ID=2; 

  

13.18. SQL-naredbe sa PHP-om 

Gore navedene SQL naredbe se mogu iskoristiti zajedno sa PHP-om. Za primjer bi 
trebalo pokazati sve elemente iz tabele studenti u datoteci pod imenom www2. 
Prije svega mora se uspostaviti veza izme

đ

u PHP-a i servera sa bazom podataka:  

 

$veza = @mysql_connect("localhost","korisnik",""); 

localhost 

zna

č

i da se povezujemo sa istim ra

č

unarom na kojem se nalazi i web-

server. U našem slu

č

aju to funkcioniše jer baza podataka i web-server leže na istom 

ra

č

unaru. Mogu

ć

e je povezivanje i sa bazom podataka koja leži na bilo kojem 

ra

č

unaru na Internetu - naravno uz uslov da raspolažemo odgovaraju

ć

im pravom 

zahvata na taj ra

č

unar.  

korisnik

 je važe

ć

e korisni

č

ko ime za ovu bazu podataka (odre

đ

eno od strane 

administratora baze). 

Programiranje za Internet 

 

189 

""

 (navodnici na kraju naredbe u zagradi) zna

č

e da ovaj korisnik ne treba lozinku 

(password).  

Da li je veza uspostavljena možemo provjeriti sa:  

 

if (!$veza)  

 { 
 

echo "Nije mogu

ć

e uspostaviti vezu sa bazom! "; 

 exit; 
 } 

Ako ve

ć

 imamo uspostavljenu vezu, možemo po

č

eti sa upitima. Radi bolje 

preglednosti, upisat 

ć

emo upit u jednu promjenljivu (varijablu):  

 

$pitanje = "SELECT Ime,Prezime FROM studenti"; 

Ovaj upit se onda šalje na server sa bazom podataka. Rezultat koji on vrati 
memorisat 

ć

e se u promjenljivoj 

$rezultat:

  

 $rezultat 

mysql_db_query("www2",$pitanje,$veza);

 

Prva promjenljiva sadržava ime baze podataka koju pitamo, druga sadržava SQL 
naredbu i tre

ć

a promjenljiva sadržava vezu koju smo uspostavili sa mysql_connect.  

Sad slijedi nešto teži dio posla. Treba da pro

č

itamo "redove" koji su upisani u 

promjenljivoj 

$rezultat

. Da smo koristili neku drugu SQL naredbu ( INSERT, 

UPDATE ili DELETE ) bilo bi mnogo jednostavnije. Mogli bismo jednostavno 
provjeriti je li šta ura

đ

eno ili nije, je li naredba izvršena ili nije... Zna

č

i odgovor bi 

bio 

ISTINA

  (

TRUE

) ili 

LAŽ

  (

FALSE

). Ali kako naša SQL naredba ima u sebi 

SELECT

, mi bismo htjeli i da vidimo ono što smo izabrali. Iz elemenata 

("

redova

") sadržanih u tabeli studenti mi smo tražili da vidimo kolone Ime i 

Prezime. Sada 

ć

emo ih 

č

itati i to red po red:  

 

list($Ime,$Prezime) = mysql_fetch_row($rezultat); 

Promjenljiva 

$rezultat 

poslije upita sadržava dvije kolone (u jednoj je ime, a u 

drugoj prezime).  

 mysql_fetch_row($rezultat) 

 

nam vra

ć

a ta

č

no jedan red. Na po

č

etku stoji jedna vrsta pokaziva

č

a (

pointer

) na 

prvi red. Izvo

đ

enjem naredbe 

mysql_fetch_row($rezultat)

, ovaj pokaziva

č

 

ć

e da 

pokazuje na idu

ć

i red itd. Ako bismo htjeli da pokažemo sve redove koji su 

selektirani u tabeli studenti i memorisani u promjenljivu 

$rezultat

, onda bismo to 

izveli uz pomo

ć

 jedne while-petlje:  

 

while (list($Ime,$Prezime = 

  mysql_fetch_row($rezultat)) 

 { 
 

echo "Student se zove $Prezime $Ime <BR> "; 

 } 

background image

Programiranje za Internet 

 

191 

 

function KamatniRacun ($procent,$VrijemeRacunanja) 

 { 

 

$kapital = 10000.0; 

 

$x = 1.0 + ($procent/100.0); 

 

$y = $kapital * exp( $VrijemeRacunanja*log($x) ); 

 return 

$y; 

 } 
 

 

$proc = 6; 

 

$vrijeme = 10; 

 

$x = $KamatniRacun($proc,$vrijeme); 

 

echo "Kapital iznosi $x KM-a"; 

Problemati

č

no u ovom navedenom primjeru je da se promjenljiva 

$kapital

 ru

č

no 

polaže, bolje re

č

eno unaprijed odre

đ

uje. U normalnom slu

č

aju se i ova vrijednost 

unosi u vrijeme izvršenja programa, tj. kao ARGUMENT predaje funkciji na 
obradu:  

 

function KamatniRacun  

  ($procent,$VrijemeRacunanja,$kapital) 

... 

Mi posmatramo slu

č

aj u kojem je i ova varijabla ve

ć

 odre

đ

ena, tj. kada je njena 

vrijednost upisana od strane programa u funkciju i kada se NE PREDAJE kao 
argument. U tom slu

č

aju moramo eksplicitno navesti da ova promjenljiva dolazi 

"

spolja

". To postižemo korištenjem naredbe 

global

:  

 

$kapital = 10000.0; 

 

 function 

KamatniRacun($procent,$VrijemeRacunanja) 

 { 
 global 

$kapital; 

 
 

$x = 1.0 + ($procent/100.0); 

 

$y = $kapital * exp( $VrijemeRacunanja*log($x) ); 

 return 

$y; 

 } 
 
 

$proc = 6; 

 

$vrijeme = 10; 

 

$x = $KamatniRacun($proc,$VrijemeRacunanja); 

 

echo "Kapital iznosi $x KM-a"; 

  

 

 

 

Programiranje za Internet 

 

192 

13.21. String-funkcije 

Još jedno važno podru

č

je za primjenu PHP-a je obrada "

nizova znakova

" (string). 

Postoji mnogo naredbi za obradu "stringova" - ovdje 

ć

e biti predstavljene samo 

najvažnije.  

 

$x = " Ja sam jedna dosadna recenica! "; 

 

$y = trim($x); 

Naredbe 

ltrim()

 i 

chop()

 otklanjaju "

whitespace

" tj "

prazna polja

" prije, odnosno 

poslije re

č

enice. Funkcije 

strtoupper()

 i 

strtolower()

 mijenjaju sve znakove jedne 

re

č

enice u velika, odnosno mala slova. Naredba 

ucfirst()

 mijenja prvi znak u redu 

rije

č

i u veliko slovo (naravno, ako je to mogu

ć

e). Naredba 

ucwords()

 mijenja u 

svakoj rije

č

i jedne re

č

enice prvi znak u veliko slovo (opet ako je mogu

ć

e).  

Sljede

ć

a naredba je vrlo važna kod pripreme teksta za WWW:  

 

$x = nl2br($y); 

Na ovaj na

č

in mijenjamo sve znakove za novi red (" 

 

") re

č

enice 

$y

 u naredbu 

<BR>

.  

 

13.22. Cookies (kola

č

i

ć

i) 

Cookies sadržavaju sljede

ć

e informacije: 

Name:

 Ime  

Value: 

Vrijednost  

Expires:

 Datum isteka važnosti  

Domain:

 Dio za adresiranje na serveru, koji cookie može ponovo pro

č

itati  

Path: 

Samo stranice, koje leže u tom direktoriju ili nekom od poddirektorija, smiju 

biti zatražene od cookie-a.  

Secure:

 Ako je uklju

č

ena (secure - sigurnost), cookie smije biti prenošen SAMO 

preko "

zaklju

č

anih

" informacijskih kanala.  

Primjer: Želimo utvrditi da li je posjetilac ve

ć

 bio na nekoj stranici. U tu svrhu 

stavit 

ć

emo prilikom prve posjete cookie: Ovo moramo uraditi još u samom 

zaglavlju HTML stranice (HTML-Head), odnosno na po

č

etku teksta. (Obavezno 

povesti ra

č

una da baš nikakav znak - ni prazan znak ne stoji prije ovog PHP-

dijela). 

 <? 
 

$t = time()+3600*24*10; 

 

SetCookie("mojcookie", "Vec posjeceno", $t,  

  "/test", 

".ba"); 

 ?> 

background image

Programiranje za Internet 

 

194 

preduzeti sljede

ć

e korake: 

Najprije bismo spojili izabrana imena promjenljivih :  

 for 

($i=0;$i<100;$i++) 

 { 
 

$v = "polje".$i; 

 

echo "$v: ${$v} <BR> "; 

 } 

Zna

č

i sa 

$v 

dobijamo imena promjenljivih, sa 

${$v}

 dobijamo zahvat na sadržaj 

promjenljive sa imenom 

$v. 

 

13.24. Polja (arrays) iz formulara

  

Na kraju još jedan trik: 

Ako ho

ć

emo u PHP-u da saznamo koji je "

kvadrati

ć

" (check-box) izabran u 

jednom formularu, onda ne možemo koristiti dosadašnju uobi

č

ajenu strategiju:  

 

<INPUT TYPE=CHECKBOX NAME="x" VALUE=1 > opcija 1 

 

<INPUT TYPE=CHECKBOX NAME="x" VALUE=2 > opcija 2 

 ... 

Ako pošaljemo jedan ovakav formular, onda 

ć

e PHP-promjenljiva 

$x

 imati 

vrijednost prvog kliknutog "

kvadrati

ć

a

".  

Trik je u tome, da se u HTML-u "

kvadrati

ć

" nazove druga

č

ije, npr. ovako:  

 

<INPUT TYPE=CHECKBOX NAME="x[]" VALUE=1 > opcija 1 

 

<INPUT TYPE=CHECKBOX NAME="x[]" VALUE=2 > opcija 2 

 ... 

Na ovaj na

č

in dobijamo u PHP-u jedno polje sa imenom $x. Sadržaj možemo 

pro

č

itati na sljede

ć

i na

č

in: 

 for 

($i=0;$i<sizeof($x);$i++) 

 { 

 

echo "$x[$i] "; 

 

 

Programiranje za Internet 

 

195 

14. ASP 

14.1. Kompromis izme

đ

u CGI i ISAPI 

Želimo li interaktivne web aplikacije, možemo koristiti CGI ili ISAPI. Svaki od 
njih ima problema. CGI koristi previše sistemskih resursa, pa nije prikladan za ve

ć

broj korisnika. Ako koristimo ISAPI, riješili smo problem resursa, ali ISAPI 
aplikacije mogu pisati samo iskusni C/C++ programeri. 

Da bi zadovoljio apetite velike ve

ć

ine ostalih programera (npr. VisualBasic), 

Microsoft je kreirao ASP. ASP je tehnologija koja omogu

ć

uje brzo (ne trebate biti 

C/C++ programer) i efikasno (koristi DLL, a ne proces za svakog korisnika) 
pisanje web aplikacija. Jednostavno re

č

eno, ASP koristi skript jezik na strani 

servera da bi komunicirao sa drugom aplikacijom (koja, npr. obra

đ

uje podatke). 

Novost kod ASP-a je da se taj skript izvodi na serveru neposredno prije nego li se 
stranica pošalje korisniku. Zapravo, rezultat izvo

đ

enja skripta je nova stranica. To 

je nešto sli

č

no kao predprocesorske naredbe u C/C++. 

Vidimo dakle, da kod ASP-a kreiranje HTML stranice i programiranje (skript kod 
na serveru) postaje jedan te isti proces. Nemamo više posebno HTML stranice, a 
posebno programe koji povezuju te stranice sa bazama podataka ili drugim 
aplikacijama. Programiranje je u skript jeziku, npr. VisualBasic skript, pa je 
jednostavno. Pošto skript zna pozivati COM komponente, mogu

ć

e je, i poželjno, 

kompleksne programske cjeline izdvojiti u COM komponente koje mogu biti 
programirane u prakti

č

no bilo kojem programskom jeziku. Na taj na

č

in dobivamo 

savršenu sintezu jednostavnosti (skript) i kompleksnosti (COM komponente). 

Naglasimo još jednom cijeli proces: 

1.

 

Kreiramo HTML stranicu zajedno sa skript kodom 

2.

 

Skript kod se izvodi i kao rezultat nastaje nova stranica 

3.

 

Nova stranica se šalje korisniku; korisnik nema pojma da li je ta stranica 
stati

č

ka ili je nastala kao rezultat nekog programa koji se izvodi na serveru. 

 

14.2. Kako izgleda ASP stranica? 

ASP stranice su vrlo sli

č

ne HTML stranicama, jer sadrže HTML kod zajedno sa 

skript kodom. Osnovna razlika je dakle dodatni skript kod. ASP stranice imaju 
ekstenziju .ASP, dok HTML stranice imaju ekstenziju .HTM ili .HTML. Evo 
jednostavnog primjera: 

<HTML> 

<HEAD><TITLE>VBScript stranica</TITLE></Head> 

<SCRIPT LANGUAGE=VBScript RUNAT=Server> 

 MsgBox "ASP je zanimljiv!" 

background image

Programiranje za Internet 

 

197 

HTML stranica se može smatrati kao specijalni slu

č

aj ASP stranice kod koje 

jednostavno nema nikakvog koda. Server 

ć

e ovakvu stranicu pro

č

itati, zaklju

č

iti da 

nema potrebe da išta promijeni (jer nema skript koda) i generirati novu stranicu 
koja je 100% kopija originalne. 

Evo sada malo kompliciraniji primjer, gdje ispisujemo poruke u svih sedam 
fontova: 

<HTML> 

<% For Count = 1 TO 7 %> 

<FONT SIZE = 

<%=Count %>

 > 

ASP je zanimljiv <BR> 

</FONT> 

<% Next %> 

</HTML> 

Ovaj primjer pokazuje kako se ASP kod (podebljano) i HTML format (normalan 
tekst) mogu miješati na bilo kojem mjestu. Druga linija zapo

č

inje programski 

odsje

č

ak: 

<% For Count = 1 To 7 %> 

gdje se vrti petlja od 1 do 7 (to su dozvoljene veli

č

ine fontova na Internetu). Tre

ć

linija 

<FONT SIZE = <% =Count %> > 

pokazuje da se na svakom mjestu u HTML formatu može ubaciti programski kod; 
naravno, mora biti unutar delimitera <% i %>. =Count  predstavlja vrijednost 
varijable Count i pridružuje se atributu SIZE. Drugim rije

č

ima, specificiramo font. 

Nakon toga, linija 4 ispisuje tekst, a linija 5 završava font blok. Linija 6 pove

ć

ava 

broja

č

 petlje, kao i u normalnom Visual Basicu. 

 

14.3. Kako testirati ASP stranicu? 

Ako želite testirati gornje primjere, morate instalirati Internet (Web) server. To

č

ni 

koraci za instaliranje i testiranje su sljede

ć

i: 

1.

 

Instalirajte web server. Web server može biti ili Internet Information Server - 
IIS ili Personal Web Server - PWS. 

2.

 

Spremite gornji primjer u datoteku, npr. asptesl.asp. 

3.

 

Ako koristite IIS startajte Internet Service Manager program. Odaberite 
Default Web Site i dugme Properties. Nakon toga odaberite Home Directory 
tab i postavite Execute permission. Pritisnite OK i iza

đ

ite iz Internet Service 

Manger programa. Ako koristite PWS, startajte Personal Web Manager i 

Programiranje za Internet 

 

198 

pritisnite ikonu Advanced. Odaberite Home i zatim Edit Properties dugme. 
Selektirajte Execute item i pritisnite OK. Iza

đ

ite iz Personal Web Manager. 

4.

 

Startajte Internet Explorer (ili Netscape Navigator) i upišite: 

http:/ImeServera/asptesl.asp 

"ImeServera" je ime vašeg ra

č

unara. Možete koristiti ime "Localhost". 

5.

 

U Internet Exploreru odaberite View i zatim Source. Vaša stranica bi trebala 
izgledati ovako: 

<HTML> 

<FONT SIZE = 1> ASP je zanimljiv!<BR> </FONT> 

<FONT SIZE = 2> ASP je zanimljiv!<BR> </FONT> 

<FONT SIZE = 3> ASP je zanimljiv!<BR> </FONT> 

<FONT SIZE = 4> ASP je zanimljiv!<BR> </FONT> 

<FONT SIZE = 5> ASP je zanimljiv!<BR> </FONT> 

<FONT SIZE = 6> ASP je zanimljiv!<BR> </FONT> 

<FONT SIZE = 7> ASP je zanimljiv!<BR> </FONT> 

</HTML> 

Ne zaboravite da je vaša originalna stranica najprije procesirana na strani servera i 
kao rezultat je generirana gornja stranica. 

 

14.4. ASP objekti 

Gornji primjer pokazuje kako po

č

eti programirati u ASP-u. Glavna snaga ASP-a 

proizlazi iz pet objekata koji su ugra

đ

eni u model: 

 

Application object 

 

Request object 

 

Response object 

 

Server object 

 

Session object 

 

14.4.1. Application objekt 

Karakteristika web  aplikacija je da one ne 

č

uvaju stanje. Naime, kad se korisnik 

spoji na server i dobije željenu stranicu, veza se prekida pa svako pam

ć

enje stanja 

na serveru nema smisla. To je i normalno, jer ako bi server pamtio stanja od svih 
korisnika, kojih može biti na hiljade, vrlo brzo bi istrošio memoriju i ostale resurse. 

background image

Programiranje za Internet 

 

200 

<% Request("ime") %> 

dohva

ć

a podatak koji smo upisali kao ime. Ako smo kao ime napisali Hana, onda 

rezultat gornje operacije daje ime Hana. Sli

č

no je sa drugim podacima. 

 

14.4.3. Response objekt 

Ovaj objekt služi da se pošalje poruka korisniku, naj

č

ć

e preko kola

č

i

č

(

Cookies

). Kako Internet aplikacije ne pamte stanja, a ponekad je potrebno da se 

nešto spremi na strani korisnika, oni dolaze kao spas. Kola

č

i

ć

 je podatak kojeg 

server sprema na strani korisnika (u obliku datoteke koja se kod Internet Explorera 
sprema u direktorij c:WindowsCookies), da bi ga kasnije mogao koristiti. Tako, 
npr. kola

č

i

ć

 može specificirati jezik kojeg korisnik želi. Kako razli

č

iti ljudi mogu 

koristiti razli

č

ite jezike, ova varijabla ne može biti zajedni

č

ka za aplikaciju ve

ć

 je 

specifi

č

na za korisnika. Server može specificirati jezik preko kola

č

i

ć

a na sljede

ć

na

č

in: 

<% Response.Cookies("Jezik")="Hindu" %> 

Kod izvo

đ

enja ovog koda server 

ć

e generirati poseban HTTP header i poslati ga 

browseru. Kasnije je mogu

ć

e pro

č

itati vrijednost kukija: 

Vi ste izabrali <% Request.Cookies("Jezik") %>jezik! 

 

14.4.4. Server objekt 

Najvažnija funkcija ovog objekta je da omogu

ć

i kreiranje postoje

ć

ih COM 

komponenti. Na taj na

č

in programiranje dobiva novu dimenziju, jer možemo 

povezivati prakti

č

ki sve što želimo (ne zaboravite da postoji na hiljade gotovih 

COM komponenti). Tako, npr. ako se želimo povezati na bazu podataka preko 
ADO (ADO je COM komponenta koja omogu

ć

uje povezivanje na postoje

ć

u bazu 

podataka i 

č

esto se koristi u VisualBasic aplikacijama) u

č

init 

ć

emo to na slijede

ć

na

č

in: 

<% 

   Dim dbConn 

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

    ... 

%> 

 

14.4.5. Session objekt 

Ovaj objekat služi za 

č

uvanje stanja (varijabli) koje neki korisnik želi samo za sebe 

tokom svoje sesije (za razliku od varijabli u Application objektu koje su dostupne 
svim korisnicima). Tako npr. možemo spremiti ime i dob korisnika u varijable Ime 

Programiranje za Internet 

 

201 

i Dob i slobodno ih koristiti iz drugih stranica. Ove varijable postaju neaktivne ako 
zatvorimo Internet Explorer, ili ako smo neaktivni neko vrijeme (obi

č

no 20 

minuta). Primjer izgleda ovako: 

<% 

   Session("Korisnik") = "Jasmina" 

   Session("Dob") = 18 

   ... 

%> 

Ove varijable možemo kasnije koristiti iz drugih ASP stranica: 

Zdravo <%Session("Korisnik")%>.  

Ti imas <%Session("Dob")%> godina. 

 

background image

Programiranje za Internet 

 

203 

su SQL baze podataka ili sa multidimenzionalnim podacima, kao što su OLAP 
kocke. 

JDBC je stvoren kao objektni omota

č

 pomo

ć

u kojeg su Java programeri mogli 

pristupati SQL bazama podataka. ADO dopušta programerima da koriste objekte 
podataka. Oni mogu biti raznih vrsta, kao što su SQL baze podataka, preko 
multidimenzionalne OLAP kocke, Lotus Notes, email sistemi, Active Directory i 
drugi - ukratko,s ve što 

č

uva bilo kakve podatke koji se mogu organizovati na neki 

na

č

in. Programeri koji koriste Active Server Pages (ASP) tehnologiju mogu 

koristiti preko HTTP i DCOM protokola. 

RDS podržava diskonektovane klijente, klijent keširanje i ima mogu

ć

nost da sva 

ažuriranja na jednom klijentu prenese na sve druge distribuirane klijente. Tu je 
tako

đ

er i ActiveX kontrola pod imenom Advanced Data Control, koja se može 

postaviti u program ili web stranicu i koja može biti izvor podataka za ostale 
kontrole na stranici, kao što su liste ili tabele 

 

15.1.1. ODBC 

ODBC je najstariji i prvi prihva

ć

eni de jure database API standard. Dizajniran za 

maksimalnu interperabilnost, daje mogu

ć

nost pristupa razli

č

itim sistemima za 

upravljanje bazama podataka (DBMS) na uniforman na

č

in. Aplikacije za 

upravljanje bazama podataka pozivaju funkcije u ODBC interfejsu, a ODBC putem 
svojih drajvera za baze podataka aplikaciji vra

ć

a podatke iz baze. Ovi drajveri su 

analogni drajverima za štampa

č

e. 

Kada npr. program za obradu teksta nešto štampa, sve komande za štampanje se 
upu

ć

uju operativnom sistemu, koji upotrebljava odgovaraju

ć

i drajver za željeni 

štampa

č

. Isto tako, kada aplikacija za obradu podataka želi da pristupi bazi, ona 

ODBC-u upu

ć

uje zahtjev za podacima, a ODBC koristi odgovaraju

ć

i drajver za 

pristup toj bazi podataka. Prednost ovakve arhitekture leži u tome da više nije 
potrebno prepravljati aplikaciju da bismo pristupili bazi podataka, ve

ć

 je samo 

potrebno instalirati novi drajver u ODBC sistem. 

 

15.1.2. OLE DB 

Ništa nije vje

č

no, pa tako ni ODBC. Kada se pojavio, baze podataka su bile 

relativno jednostavne - homogeni tabelarno organizovani podaci kojima se lako 
moglo manipulisati pomo

ć

u SQL jezika. Ipak, u posljednjih nekoliko godina vidjeli 

smo ogroman porast u upotrebi baza podataka s jedne strane, a s druge strane ti su 
podaci postali kompleksniji i heterogeniji – pohranjeni u više organizaciono 
razli

č

itih izvora kao što su tekst datoteke, email sistemi, XML i mnogi drugi. Javio 

se problem pristupa takvih podacima, a kao odgovor na njega pojavio se OLE DB. 

Najjednostavnije re

č

eno, OLE DB je nova verzija ODBC-a. Najjednostavnije, ali 

ne u potpunosti ta

č

no! Dok OLE DB koristi ODBC za pristup tradicionalnim 

Programiranje za Internet 

 

204 

relacionim bazama podataka, ne pokušava ga zamijeniti - u Microsoftu i dalje tvrde 
da je ODBC najbolji na

č

in za pristup SQL bazama podataka. OLE DB nadogra

đ

uje 

ODBC tako što, na jednako uniforman na

č

in na koji to radi ODBC sa relacionim 

bazama, omogu

ć

ava pristup heterogenim izvorima podataka i vrši njihovu prividnu 

homogenizaciju, pojednostavljuju

ć

i tako rad sa podacima. 

Microsoft strateški vodi OLE DB kao novu tehnologiju za pristup svim vrstama 
podataka i kao takav 

ć

e u budu

ć

nosti u potpunosti potisnuti ODBC. 

 

15.1.3. JDBC 

JDBC je ekvivalent ODBC tehnologije namijenjen upotrebi prilikom razvoja 
aplikacija u Java programskom jeziku. Nastao kao direktan odgovor na ODBC, 
JDBC koristi sli

č

nu arhitekturu zasnovanu na API pozivima i drajverima za razne 

vrste sistema za upravljanje bazama podataka (DBMS). Interesantno je napomenuti 
da je Sun, kreator Java platforme, u JDBC ubacio i takozvani JDBC-ODBC "most" 
- specijalni drajver koji aplikaciji koja koristi JDBC omogu

ć

ava pristup ODBC 

izvorima podataka. Obzirom da je ve

ć

ina baza podataka u trenutku pojave JDBC 

ve

ć

 imala gotove ODBC drajvere, ovo je zna

č

ilo da Java aplikacije mogu pristupati 

svim takvim bazama, iako JDBC drajveri za njih nisu (bili) dostupni. 

 

15.1.4. DAO 

ODB, OLE DB i JDBC su tehnologije koje aplikacijama obezbje

đ

uju pristup 

bazama podataka. Ipak, njihova upotreba zahtijeva od programera da do u 
najsitnije detalje ru

č

no isprogramira svaki element pristupa bazi podataka. Ovakav 

pristup se u vremenu objektno-orijentisanih jezika pokazao nepotrebno 
komplikovanim i sklonim greškama, te je o

č

ito rješenje prona

đ

eno u pravljenju 

objektnog modela za pristup bazama podataka. 

Prvi takav model (barem za Windowse) je DAO (Data Access Objects), koji je 
sastavni dio VisualBasica ve

ć

 godinama. Originalno zamišljen kao set objekata za 

pristup MS Access bazama podataka preko MS Jet sistema za upravljanje 
podacima (Jet je prvi Microsoft DBMS na kojem je zasnovan Access), DAO 
tako

đ

er omogu

ć

ava pristup ODBC izvorima podataka. I upravo tu leži njegov 

najve

ć

i nedostatak – pošto se oslanja na Access/Jet DBMS, prilikom pristupa 

ODBC bazama podataka sve naredbe za bazu podataka is vi podaci iz nje moraju 
pro

ć

i kroz ovaj dodatni sloj, što može znatno ugroziti performanse aplikacije. 

DAO je lakši za korištenje od standardnih ODBC API funkcija, ali ne pruža isti 
nivo kontrole kao ODBC APL. 

 

15.1.5. ADO 

background image

Programiranje za Internet 

 

206 

informacije o vama, linkove na razne sajtove koji vam se svi

đ

aju, foto album kojeg 

osvježavate svakog ljeta, povremeno obnavljanu bazu vaših literarnih dostignu

ć

a u 

vidu kratkih pri

č

a i pjesama i sli

č

ne stvari, logi

č

no je da ne

ć

ete zakupiti poseban 

(dedicated) server s ogromnim mjese

č

nim protokom (banda-with) i Microsoft SQL 

Serverom. Obzirom da je broj potencijalnih posjetilaca ograni

č

en, a sadržaj 

neobi

č

an, besplatni web server sa podrškom za ASP/PHP skripte i bilo koje baze 

podataka bi

ć

e sasvim dovoljan. Ako pak namjeravate praviti e-zine, news sajt, 

pretraživa

č

, web knjižaru ili bilo koji drugi sajt koji 

ć

e imati dosta sadržaja i više 

od deset posjetilaca dnevno, situacija je potpuno druga

č

ija. Ako programirate za 

Windows platformu, Microsoft SQL Server je imperativ, jer 

ć

e baze kojim 

pristupate preko Access enginea po

č

eti štekati ve

ć

 nakon nekoliko simultanih 

upita. Za Linux platformu MySQL je najbolje rješenje - besplatan je, a performanse 
su mu u rangu ve

ć

 spomenutog MS SQL-a. Mada nije uobi

č

ajeno, ASP se može 

sasvim fino upariti i sa MySQL bazama, bez mnogo nekompatibilnosti i 
degradacije performansi. 

 

15.2.1. Windows vs. LINUX vs. ASP vs. PHP 

Iako se za razvoj web aplikacija mogu koristiti mnogi skriptni i programski jezici 
(Perl, Python, C), ve

ć

ina programera odlu

č

uje se na PHP ili ASP. Koji od ova dva 

skriptna jezika je bolji još jedna je od vje

č

itih rasprava koje se uglavnom vode na 

subjektivnoj razini. 

ASP 

ć

e kvalitetno raditi jedino na Windows platformi, iako postoje proizvo

đ

a

č

koji 

ć

e vam pokušati prodati Apache modul koji ASP-u  donosi podršku i za Unix. 

Kad kažemo ASP, mislimo na ASP stranice napisane u VBscriptu, što je 
uobi

č

ajeni, ali ne i jedini na

č

in pisanja ASP aplikacija. Sa druge strane, PHP 

postoji i za Windows, gdje je donekle lišen funkcionalnosti (neke funkcije, doduše 
rijetke, raditi 

ć

e samo na Unix verziji Apache web servera). 

Za u

č

enje PHP-a, Apache za Windowse ili pak PHP modul za PWS (Personal Web 

Server) ili IIS (Internet Information Server) poslužiti 

ć

e sasvim dobro. 

Oba skriptna jezika zapravo su jednostavni, no o vašem prethodnom znaju ovisi 
koji 

ć

ete lakše usvojiti. Na primjer, ako ste imali iskustva sa Visual Basicom, ASP 

doslovno ne

ć

ete morati u

č

iti. Programeri sa stažom u C-u ili Perlu, PHP 

ć

e na

ć

mnogo jednostavnijim. 

Prednosti PHP-a prema ASP-u je u ve

ć

a osnovna funkcionalnost (ve

ć

i broj 

ugra

đ

enih funkcija), no ASP za naprednije korisnike donosi ve

ć

u skalabilnost zbog 

mogu

ć

nosti jednostavnog razvoja vlastitih serverskih komponenti, koje se 

jednostavno inicijaliziraju i koriste iz ASP koda. Primijetit 

ć

ete da uglavnom 

morate imati vlastiti Windows server za instaliranje dodatnih komponenti, što je u 
BiH prije izuzetak nego pravilo. Mnogo korisnih komponenti može se na

ć

i na 

Internetu i besplatno koristiti. 

Programiranje za Internet 

 

207 

Na kraju se izbor skriptnog jezika svede na izbor serverske platforme. Naši Internet 
provajderi obi

č

no nude obje varijante, pri 

č

emu je Linux varijanta po pravilu 

jeftinija. 

 

15.3. Spajanje na bazu podataka 

OK, znamo kakav sajt želimo, kakve baze podataka 

ć

emo koristiti, ali kako se baze 

podataka, odnosno podaci iz njih, koriste na web stranicama? Prvo treba napraviti 
konekciju izme

đ

u baze i web stranice, odnosno spojiti se na bazu podataka. Za to 

postoji više na

č

ina na Windows i Linux platformama, a me

đ

usobno se razlikuju po 

mnogo 

č

emu, a najbitnije su složenost i brzina pristupa. 

Spajanje na baze bilo kojeg formata bilo iz ASP ili PHP-a u Windows OS-u svodi 
se na ODBC, ali nije nimalo svejedno koji na

č

in koristite. 

Najjednostavniji i ujedno najgori na

č

in za spajanje na bazu podataka je preko 

sistemskog DSN-a Njegova osnovna prednost jeste da na serveru, u ODBC Data 
Source Administratoru, definišete sve potrebne podatke - format, put ili ime baze 
podataka, koji se spremaju u Registry. Obzirom da ste sve ve

ć

 odredili, u skripti je 

potrebno samo navesti naziv DSN-a i eventualno login i password, ako je baza 
zašti

ć

ena. Ova prednost ujedno je i veliki nedostatak, jer 

ć

ete rijetko biti u stanju 

sami praviti i brisati sistemske DSN-ove na serveru. Osim ako nemate vlastiti 
Windows server u uredu, 

č

ime se može pohvaliti malo doma

ć

ih firmi. Drugi 

nedostatak ovakvog pristupanja bazama jeste sporost spajanja na bazu i 
manipulacija podacima (uzimanje, upisivanje, brisanje, pretraživanje i sli

č

no), bez 

obzira da li koristite brzi Microsoft SQL Server ili spori Access engine. Generalno, 
spajanje na baze podataka pomo

ć

u sistemskih DSN-ova preporu

č

uje se samo 

po

č

etnicima i to samo za u

č

enje, nikako za projekte koje namjeravaju postavljati na 

Internet. 

Nešto bolja solucija bi bila tzv. DSN-less metoda, koja funkcioniše identi

č

no 

prethodno opisanoj DSN metodi, samo što server prilikom zvršavanja skripti ne 
uzima podatke iz Registry baze, nego ih vi upisujete direktno u kodu. Druga

č

ije 

re

č

eno, umjesto da u finom interfejsu ODBC Data Source Administratora 

definišete format i naziv baze, to radite pišu

ć

i komande u skripti. Razlike u 

konekcijskom stringu nisu velike, a možete ih vidjeti u tabeli. Prednost ovakvog 
pristupa bazama ogleda se u nešto ve

ć

oj brzini i 

č

injenici da ne morate imati 

direktan pristup serveru da biste dodavali ili brisali baze podataka.  

 

 

 

background image

Programiranje za Internet 

 

209 

Prethodno opisani na

č

in pristupa bazama se podrazumijevaju u ASP-u, ali nisu 

preporu

č

ljiv za sajtove sa ve

ć

im brojem korisnika, odnosno sajtove koji puno 

manipulišu sa podacima u bazama. Mnogo bolji na

č

in je korištenje OLEDB 

objekta, 

č

ime preska

č

ete jednu stepenicu u složenom sistemu komunikacije sa 

bazama podataka u Windowsima. Naime, sva komunikacija sa bazama podataka se 
svodi na ODBC, koji predstavlja prvi sloj. Iznad njega nalazi se OLEDB objekat, a 
na vrhu  se nalazi ADO, koji se koristi u dva prethodno opisana na

č

ina. Direktno 

spajanje na OLEDB, bez posredovanja ADO-a, donosi zna

č

ajne uštede u vremenu, 

što predstavlja dovoljan razlog za korištenje ove, ipak nešto složenije metode. 
Primjerice, za spajanje na bazu pomo

ć

u DSN metode potrebne su 82 milisekunde, 

a korištenjem OLEDB-a samo 18 milisekundi? Za ispis hiljade slogova iz baze 
pomo

ć

u prve metode trebaju 5,4 sekunde, dok 

ć

ete to isto sa OLEDB-om odraditi 

za 2,9 sekunde.  

 

15.4. Manipulacija podacima 

Dinami

č

ke web stranice su napravljene upravo kako bi se prikazali odre

đ

eni 

podaci, unijeli novi, izmijenili ili obrisali postoje

ć

i, jednom rije

č

ju - kako bi se 

manipulisalo podacima. Bez obzira koji skripting jezik koristili, kojeg je formata 
baza u kojoj se nalaze podaci ili koji na

č

in spajanja na bazu ste izabrali, za 

manipulaciju podacima se koristi jezik pod imenom SQL (Structured Query 
Language). Iz imena se ve

ć

 da naslutiti kako se koristi. Vi pišete upit korištenjem 

odgovaraju

ć

ih komandi, zatim ga pošaljete bazi podataka i dobijete "odgovor" u 

obliku podataka iz baze. SQL je standard koji se koristi za pristup bilo kojoj bazi 
podataka, iz bilo kojeg programskog jezika na bilo kojoj platformi.  

Generalno, dinami

č

ke web stranice 

ć

ete najviše koristiti za prikaz podataka iz baze. 

Bilo da se radi o tekstovima, albumima slika, informacijama o knjigama, linkovima 
ili bilo kojem drugom sadržaju, princip je isti - potrebno je napraviti jednu (ili 
nekoliko, u zavisnosti od potreba i specifi

č

nosti sajta) generi

č

kih web stranica koje 

na osnovu parametara uzimaju potrebne podatke iz baze podataka i prikazuju ih 
posjetiocu. HTML kostur je isti, dok se sadržaji dinami

č

ki ubacuju iz baze na 

serveru i šalju korisniku ukomponovani u web stranicu. 

Mijenjanje i brisanje podataka naj

č

ć

e ne rade korisnici, nego administratori web 

sajta. Podatke možete dodavati, mijenjati i brisati i pomo

ć

u nekog klijentskog 

softvera, recimo Accessa, pa onda izmijenjenu bazu podataka uploadovati na 
server, ali postoje mnogo elegantnija rješenja. Svaki dinami

č

ki web sajt ima svoj 

administracijski dio, namijenjen samo odre

đ

enom (malom) broju osoba, koji 

omogu

ć

ava mijenjanje sadržaja baza direktno preko web-a - korištenjem HTML 

formi. Ako pak trebate omogu

ć

iti korisnicima da mijenjaju odre

đ

ene podatke u 

bazama, koristit 

ć

ete isti na

č

in, samo što ovaj put trebate voditi ra

č

una da stranice 

budu intuitivne i user-friendly. Kada smo kod dodavanja i editovanja podataka, 
jedno upozorenje programerima u ASP-u: bez obzira koju bazu podataka i 
konekciju koristite, sve manipulacije podacima radite isklju

č

ivo i samo pomo

ć

Programiranje za Internet 

 

210 

SQL upita. Mada 

ć

e vam se možda u

č

initi jednostavnijim koristiti ADO komande 

(ako koristite DSN ili DSN-less pristup bazama), vjerujte da 

ć

e vam se to odbiti od 

glavu pri eventualnom prelasku na SQL server. A i performanse su mnogo bolje 
kada koristite SQL upite. 

 

15.5. Korisni linkovi 

http://www.aspin.com/home/tutorial/database 

Mnogo linkova na razne tekstove, tutorijale i primjere za rad sa bazama podataka iz 
ASP-a. 

http://www.planet-source-code.com 

Ogroman web sajt na kome 

ć

ete prona

ć

i mnogo primjera za rad sa bazama 

podataka u ASP-u i PHP-u, kao i primjere za razne SQL funkcije. 

http://www.asp101.com/resources/ 

Izme

đ

u dosta drugih 

č

lanaka, na ovome sajtu možete prona

ć

i i nekoliko kvalitetnih 

tutorijala za pristup bazama podataka iz ASP-a. 

http://www.phpbuilder.com/columns/ 

Ovaj web sajt sadrži prili

č

no obimnu sekciju koja se bavi bazama podataka u vezi 

sa PHP-om. 

http://www.weberdev.com/ 

PHP-orijentiran web sajt koji ima prili

č

no veliku arhivu tekstova posve

ć

enih 

mySQL-u, Microsoft SQL serveru, ODBC-u, Informixu... i njihovom 
kombinovanju sa PHP-om. 

http://www.zend.com 

Odli

č

an sajt posve

ć

en razvoju PHP aplikacija 

http://www.php-resources.com 

Još jedan sajt posve

ć

en PHP-u. 

 

15.6. Razvoj PHP & MySQL aplikacije korištenjem Dreamweavera 

Dreamweaver, pored podrške za PHP, ima i podršku za ostale web tehnologije 
(Cold Fusion, ASP, ASP.NET...), od 

č

ega je najizraženija podrška za ColdFusion, 

što je i logi

č

no, jer je Cold Fusion web serverska tehnologija razvijena od strane 

Macromedia-e.  

 

 

 

background image

Programiranje za Internet 

 

212 

   UNIQUE KEY 'Id' '(Id') 

) TYPE=MyISAM; 

 

15.6.3. Definisanje sajta 

Prije nego po

č

nemo razvijati našu aplikaciju, potrebno je definisati postavke sajta. 

Definisanje je nešto druga

č

ije od klasi

č

nog, tj. definisanja sajt postavki pri izradi 

stati

č

nih stranica, jer sada je potrebno odabrati koju tehnologiju 

ć

emo koristiti pri 

izradi dinami

č

nih stranica - u našem slu

č

aju PHP/MySQL, sajt direktorij - 

direktorij u koji se smještaju svi dokumenti vezani za sajt koji se razvija, 
podešavanje lokalnog servera... 

Za po

č

etak, kreirajte PHP dokument i definirajte njegov naslov (Title) upisuju

ć

Infonews - Unos novosti koriste

ć

i Document toolbar. Na glavnom izborniku 

izaberite Site/Manage Sites i na vašem ekranu 

ć

e se pojaviti Manage Sites prozor. 

Kliknite na dugme New i izaberite Site. Pojavit 

ć

e se novi prozor Site Definition, u 

kojem definirate postavke sajta 

 

Slika 89. Izbor serverske tehnologije za razvoj sajta 

 

15.6.4. Konekcija na bazu 

Da bi imali pristup podacima u bazi, ili imali mogu

ć

nost upisa, brisanja i izmjene 

podataka, potrebno je da uspostavimo konekciju (vezu) sa bazom. Pored navo

đ

enja 

imena baze, potrebno je navesti i korisni

č

ko ime, password, naziv konekcije... 

 

Programiranje za Internet 

 

213 

15.6.5. Unos novosti 

Kreirajte novi PHP dokument i implementirajte dizajn, i snimite ga sa nazivom 
unos_novosti.php. Potrebno je kreirati Insert Record, a to 

ć

emo uraditi koriste

ć

Record Insertion Form Wizard, koji 

ć

e kreirati formu za unos, i generisati potrebni 

PHP kod i SQL upit. Prije nego krenemo sa radom na formi za unos, potrebno je 
kreirati jedan Recordset (Query). On 

ć

e pokupiti sve kategorije iz tabele kategorije 

koje 

ć

emo dinami

č

ki prikazati u listi kategorija. U okviru Application panela 

kliknite na Bindings/Znak +/Recordset (Query). Na ekranu 

ć

e se pojaviti prozor za 

kreiranje Recordset-a u Simple modu. U polje Name upišite naziv Recordset-a 
(pokupi_kategorije), a pod Connection listom izaberite ranije definisanu infoNews 
konekciju. Nakon toga kliknite na dugme OK, 

č

ime završavate kreiranje upita na 

bazu. 

Idu

ć

i korak je da napravimo formu za unos novosti u bazu. U okviru Document 

toolbar-a izaberite Application, te kliknite na Record Insertion Form Wizard i na 
ekranu 

ć

e se pojaviti prozor kao na slici 5. Pod listama Connection i Table izaberite 

infoNews, odnosno sadržaj. Koriste

ć

i dugme sa znakom minus u okviru Form 

fields panela izbrišite id kolonu. Zatim selektirajte kolonu kategorija i pod listom 
Display As izaberite menu. Nakon toga, pojavit 

ć

e se dugme Menu Properties. 

Kliknite na njega i zatim izaberite From Databases. Pod listom Get Labels from 
izaberite naziv, a nakon toga kliknite na OK, ostavljaju

ć

i podrazumijevane 

vrijednosti preostalih polja i listi. 

Kolonama utekst i stekst pod Display As listama izaberite Text area, te Labele 
promijenite u Uvodni tekst i Cijeli tekst. Još je preostalo da koloni datum pod 
Display As izaberete Hidden Filed i u polje Default value upišete slijede

ć

i PHP 

kod  

<?php.echo (date("d.m.y."))?> 

koji 

ć

e pokazati vrijeme. Klikom na OK završavamo sa kreiranjem forme za unos 

novosti, koja je ve

ć

 spremna za testiranje. Ali, prije nego to u

č

inite, kreirat 

ć

emo 

JavaScript provjeru (validaciju) polja u formi. Pozovite Behaviors Panel 
kombinacijom tipki Shift+F3 i zatim ozna

č

ite dugme Insert Record, te kliknite na 

znak +/Validate Form. Nakon toga poljima naslov i utekst uklju

č

ite opciju 

Required, ostavljaju

ć

i izabranu  opciju Anything. 

Testirajte napravljeni dio aplikacije pritiskom na tipku F12, a rezultate unosa u 
bazu provjerite pomo

ć

u phpMyadmin-a, traže

ć

i upis koji ste unijeli preko forme. 

 

15.6.6. Zaštita administrativnog dijela baze 

Zaštita se obavlja autorizacijom korisnika putem PHP sesija. Pristup 
administrativnom dijelu aplikacije treba omogu

ć

iti samo osobama koje 

administrator odredi, pa trebamo uvesti neki vid autorizacije. 

background image

Programiranje za Internet 

 

215 

šablone za dizajn i pozicionirajte kursor miša u površinu šablona koja se može 
ure

đ

ivati. U okviru Application toolbar-a kliknite na Record Insertion Form 

Wizard - na ekranu 

ć

e se pojaviti ve

ć

 dobro poznati prozor. Uspostavite konekciju 

sa bazom izborom infoNews u okviru liste Connection. Kako upisujemo 
informacije u tek kreiranu tabelu korisnici, pod listom Table izaberite opciju 
korisnici. U polje After inserting, go to navedite putanju ili klikom na dugme 
Browse izaberite datoteku korisnici.php, jer kako vam je ve

ć

 poznato, nakon 

izvršenja ovog dijela aplikacije, želimo da se izvrši redirekcija na spomenutu 
datoteku. 

U okvirima Form Fields panela, koriste

ć

i se dugmetom sa oznakom minus (-), 

uklonite id kolonu, a zatim ozna

č

ite kolonu rang i pod Display as listom izaberite 

Menu. Zatim kliknite na dugme Menu Properties. Pojavit 

ć

e se prozor koji služi za 

definisanje ponu

đ

enih opcija jedne liste, u našem slu

č

aju Rang liste, koja 

ć

e imati 

dvije opcije: Administrator i Editor. Pošto je u pitanju lista 

č

ije opcije 

ć

e se rijetko 

ili skoro nikako mijenjati, ostavite ozna

č

eno Manually, a koriste

ć

i se Label i Value 

poljima, dodajte slijede

ć

e opcije u listu: Administrator (sa vrijednoš

ć

u admin) i 

Editor (sa vrijednoš

ć

u editor). Korisnik sa rangom "editor" ne

ć

e imati pristup 

modulima Postavke i Korisnici, odnosno ne

ć

e imati ovlaštenje da pravi ili izmijeni 

novu kategoriju ili korisnika, dok 

ć

e administrator imati sva ovlaštenja pri 

korištenju aplikacije. Kliknite na OK, a zatim još jedanput, kako bi završili sa 
kreiranjem forme za unos novih korisnika. 

Idu

ć

i korak je da kreiramo Recordset koji 

ć

e prikazati sve kreirane korisnike. 

Kliknite na znak plus (+) na Application panelu, zatim izaberite Recordset (Query). 
U polje Name upišite prikazi_korisnike. Uspostavite konekciju sa bazom, a zatim 
pod listom Table izaberite korisnici. U okviru Columns panela ozna

č

ite Selected i 

selektujte (koriste

ć

i se tipkom Shift i mišem) kolone id, korisime, te rang. Za 

prikaz korisnika nam nije potrebna njegova šifra, pa nemamo razloga da je 
ozna

č

imo ovim Recordset-om. Kliknite na OK, kako bi završili sa kreiranjem 

Recordset-a po imenu prikazi_korisnike. 

Nakon uspješno kreiranog Recordset-a, idu

ć

i korak je da prikažemo podatke 

(ta

č

nije, korisnike) koje 

ć

e prethodno kreirati Recordset ozna

č

iti iz baze. Kliknite 

na opciju Dynamic Table u okviru Application toolbar-a (druga sa lijeve strane), a 
zatim u novootvorenom prozoru ozna

č

ite All Records, a u polja Border, Cell 

padding i Cell spacing, upišite 0, 2, 2. 

Kliknite na OK, i po potrebi dodatno formatirajte tabelu u kojoj se prikazuju 
korisnici. Da bi u potpunosti kompletirali ovaj modul, potrebno je još omogu

ć

iti 

izmjenu i brisanje korisnika. Kako smo izmjenu i brisanje podataka objasnili ve

ć

 

dva puta (brisanje i izmjena novosti, te kategorija), ostavljamo vam da sami 
kreirate dijelove skripte koji 

ć

e vam omogu

ć

iti da izmijenite ili izbrišete korisnika. 

Logika i koraci su gotovo identi

č

ni. 

Programiranje za Internet 

 

216 

Prije nego krenemo sa realizacijom login skripte, testirajte kreiranje novih 
korisnika i upamtite podatke koje ste unijeli, jer 

ć

e vam isti biti potrebni prilikom 

testiranja autorizacije. 

15.6.8. Login forma 

Po

č

injemo sa konkretnom implementacijom autorizacije korisnika. Prvi korak u 

tome je da kreiramo jednostavnu login formu. Ona 

ć

e se sastojati iz dva Text-Field-

a (za korisni

č

ko ime i šifru) i jednog dugmeta (Button). Kreirajte novu .php 

datoteku i spasite pod imenom login.php. Ubacite formu, ta

č

nije form tag, klikom 

na Insert (glavni izbornik), te na Form/Form. Zatim pozicionirajte kursor u okviru 
tek uba

č

ene forme i ubacite dva TextFileld-a slijede

ć

im koracima: 

Insert/Form/Text Field. Ozna

č

ite prvi i u okviru Properties panela ga imenujte sa 

korisime. Isto u

č

inite i za drugi TextFileld, samo njega imenujte sa sifra. Na 

glavnom meniju kliknite na Insert / Form / Button, kao bi ubacili dugme za akciju, 

č

iji 

ć

ete Label promijeniti u Prijavi me. 

Sada imamo jednostavnu formu koja ne radi ništa. Trebamo je "oživjeti" pomo

ć

opcije Log IN User, posljednje na Application toolbar-u. Ozna

č

ite dugme Prijavi 

me i kliknite na Log In User na Application toolbaru.  

Get input from form lista služi za definisanje iz koje forme 

ć

e aplikacija koristiti 

ulazne podatke. Pošto je kreirana samo jedna forma (

č

iji je naziv form1), 

spomenutu listu ostavite nepromijenjenom. U listi Username field izaberite opciju 
korisime, jer je to polje koje 

ć

emo koristiti za unos korisni

č

kog imena. Lista 

Password field služi za definisanje polja u koje se upisuje šifra za pristup. Kako 
smo mi naše polje za šifru imenovali sa sifra, logi

č

no je da izaberemo opciju sifra u 

spomenutoj listi. Naravno, potrebno je uspostaviti konekciju sa bazom, što možete 
u

č

initi izborom opcije infoNews u listi Validate using connection. Naravno, pod 

Table listom izaberite tabelu korisnici, jer aplikacija provjerava da li uneseni 
podaci postoje u toj tabeli. Stoga je potrebno definisati kolonu u kojoj se nalazi 
korisni

č

ko ime i kolonu u kojoj se nalazi šifra za pristup. To možemo uraditi 

koriste

ć

i se listama Username column i Password column, izborom odgovaraju

ć

ih 

opcija (korisime i sifra). 

Potrebno je navesti putanju do stranice na koju 

ć

e skripta izvršiti redirekciju 

ukoliko su uneseni podaci prona

đ

eni u bazi, kao i stranicu na koju 

ć

e skripta 

izvršiti redirekciju, ukoliko je login bio neuspješan. 

Kreirajte .php datoteku i nazovite je home.php, te primijenite predloške za dizajn. 
Radi se o stranici na koju 

ć

e skripta preusmjeriti korisnika ukoliko login bude 

uspješan. Ujedno, to 

ć

e biti i stranica u kojoj 

ć

e se prikazivati statisti

č

ki podaci 

(broj novosti, kategorija i kroisnika u bazi) aplikacije. Navedite putanju do 
datoteke home.php, upisuju

ć

i je u polje if login succeeds, go to. U polje if login 

fails, go to navedite putanju do datoteke login.php, jer želimo da se korisniku 
ponovo prikaže forma za login, ukoliko je isti bio neuspješan. Još je samo preostalo 
da definišemo privilegije za pristup koji 

ć

e biti realizovan na osnovu dva 

background image

Programiranje za Internet 

 

218 

16. .NET 

16.1. Šta je .NET Framework? 

U posljednjih nekoliko godina, zna

č

aj Interneta je enormno porastao u gotovo svim 

oblastima ra

č

unarstva i obrade informacija. Direktan rezultat ovoga rasta je taj što 

se od programera traži da kreiraju aplikacije koje koriste mogu

ć

nosti Interneta, bilo 

da je to proces naru

č

ivanja, isporuka robe, online saradnja ili bilo koja druga 

upotreba. Nažalost, razvojni alati koji su ranije bili dostupni programerima, kao što 
je Visual C++ 6 i Visual Basic 6, poti

č

u iz pre-Internet faze. Bilo koja Internet 

mogu

ć

nost koju su imali je bila rezultat naknadnog dodavanja, koje je trebalo da 

zadovolji potrebe programera. Neke ranije tehnologije Internet programiranja su 
zapravo bile impresivne i mnoge odli

č

ne aplikacije su bile kreirane sa njima. 

Uprkos tome, to što Internet mogu

ć

nosti nisu bile ugra

đ

ene u ove alate za 

programiranje od samog po

č

etka vodilo je do nezaobilaznih problema kod 

efikasnosti pri razvoju, greškama i održavanju programa. 

Microsoft-ov odgovor na ovu dilemu je da po

č

ne od po

č

etka, kreiraju

ć

i novi 

strukturni okvir programerskih alata koji je dizajniran od prvog dana sa potpuno 
integrisanom Internet podrškom. .NET Framework se ne bavi samo Internet 
programiranjem; on tako

đ

er obezbje

đ

uje razvoj tradicionalnih desktop aplikacija.  

.NET ima dva glavna dijela: 

 

.NET Framework Software Development Kit, proširivi set klasa i interfejsa, 
zajedno sa raznim elementima podrške, je dizajniran da radi zajedno kako bi 
zadovoljio svaku razvojnu potrebu. .NET Framework mora biti instaliran na 
bilo kom sistemu koji 

ć

e biti korišten za pokretanje .NET aplikacija ili za 

njihov razvoj. .NET SDK uklju

č

uje kompajlere za tri jezika: C++, novi jezik 

nazvan C# (C sharp), i poboljšani Visual Basic. 

 

Visual Studio razvojno okruženje. Ovaj alat obezbje

đ

uje set programerskih 

alata, kao što su editori koda, dizajneri interfejsa i debagera koji dosta 
pojednostavljuju zadatak kreiranja .NET aplikacija.  

 

16.2. Osnovni koncepti 

Da bi se potpuno razumjeli listinzi koda u sljede

ć

em tekstu, potrebno je razumjeti 

nekoliko klju

č

nih izraza, uklju

č

uju

ć

i common language runtine (CLR), skupove, 

opsege imena i hendlere doga

đ

aja.  

 

16.2.1. Common Language Runtime 

Common language runtime (CLR) je infrastruktura koju .NET koristi za 
izvršavanje svih aplikacija. CLR uklju

č

uje ogroman set biblioteka klasa koje se 

mogu koristiti u aplikacijama. Neke interesantne klase koje nisu povezane sa 

Programiranje za Internet 

 

219 

Internetom uklju

č

uju programe koji vam omogu

ć

uju da manipulišete Windows NT 

logom doga

đ

aja, Active Directory-em, kriptografskim uslugama, broja

č

ima 

performansi, COM+ uslugama, skladištenjem objekata i osnovnim Windows 
uslugama. U ovom tekstu fokusirat 

ć

emo se na klase koje su povezane sa Internet 

programiranjem, kao što su Web kontrole, klase Web usluga i sigurnosne Web 
klase. 

CLR tako

đ

er vodi brigu o kompajliranju "intermediate language" (me

đ

ujezika) ili 

IL koda u osnovni mašinski kod. Osnovni proces funkcioniše kao što slijedi: 

1.

 

Visual Basic kompajler konvertuje Vaš kod u IL. Što se ti

č

e funkcionalnosti i 

kompleksnosti jezika, IL je negdje izme

đ

u asemblera i C-a. IL je optimiziran 

za brzo kompajliranje u mašinski kod. Možete zamisliti IL kao me

đ

uproizvod 

procesa kompajliranja. 

2.

 

Vašu Internet aplikaciju poziva korisnik, ili preciznije, Web server kao 
odgovor na zahtjev korisnika. 

3.

 

CLR preuzima i kompajlira IL u mašinski kod. Ovo se dešava funkcija po 
funkcija. Ako se funkcija koristi, ona se kompajlira u mašinski kod. Ako ne, 
ona ostaje kao IL.  

Iako ovaj proces izgleda zaobilazno i 

č

ini vašu aplikaciju suviše sporom, on 

č

ini 

razvoj mnogo bržim, kao što je prvi korak mnogo brži od drugih metoda. Možete 
tako

đ

er kompajlirati vaš .NET kod direktno u mašinski kod korištenjem 

standardnih alata instaliranih sa .NET Framework-om. 

CLR sadrži druge usluge, uklju

č

uju

ć

i podršku za izvršavanje više .NET aplikacija 

unutar jednog procesa sa garancijom da se one ne

ć

e miješati jedna sa drugom. Ovo 

je rezultat koncepta nazvanog type safety (sigurnost tipa). Bilo koji .NET kod mora 
garantovati type-safe kod, koji osigurava da, izme

đ

u ostalog, nizovima i 

kolekcijama nikada ne

ć

e biti nekorektno pristupano. Visual Basic kompajler uvijek 

uspostavlja sigurnosti tipa kada kompajlira vaš kod u IL. 

 

16.2.2. Skupovi-assemblies 

Sav .NET kod se kompajlira u skupove. Izvana, skup izgleda ta

č

no kao dynamic 

link library (.dll) ili izvršni program (.exe). Prvih nekoliko bajtova unutar svakog 
skupa sadrže mašinski kod koji aktivira common language runtime kada se skupu 
pristupi iz drugog programa ili kada mu pristupi korisnik. 

Unutar skupa je mješavina IL-a i mašinskog koda, u zavisnosti koliki dio skupa je 
kompajliran CLR-om. Skupovi tako

đ

er sadrže metapodatke. Metapodaci za .NET 

program uklju

č

uju: 

 

Informaciju o svakoj javnoj klasi ili tipu, uklju

č

uju

ć

i ime, iz kojih klasa je 

klasa razvijena, i svaki interfejs koji klasa implementira. 

background image

Programiranje za Internet 

 

221 

End Module 

Prva linija koristi Imports klju

č

nu rije

č

, koja kaže kompajleru da uklju

č

i System 

opseg imena u ovaj program. Linija koja ispisuje Hello World (Zdravo svijete), 
može biti napisana razli

č

ito. Da listing nije koristio Imports klju

č

nu rije

č

 u prvoj 

liniji, linija sa ispisom bi izgledala ovako: 

System.Console.WriteLine ("Hello World.") 

Kao što možete vidjeti, opsezi imena grupišu sli

č

ne klase u jednu logi

č

ku grupu da 

bi sprije

č

ili konflikte sa imenima. 

Druga linija deklariše modul za kod programa, jedan od na

č

ina na koji VB.NET 

organizuje svoj kod. Linije od Sub Main() do kraja definišu podproceduru nazvanu 
Main ( ), gdje izvršavanje po

č

inje. 

 

16.3. Konfigurisanje okruženja 

Da biste izvršili prikazane primjere programa, potrebno je da imate instalirane tri 
komponente na ra

č

unaru: 

 

Jedan od sljede

ć

ih operativnih sistema: Windows NT 4.0 Workstation ili 

Server, Windows 2000 Professional ili Server, ili Windows XP ili viši, kao što 
je Advanced Server ili Datacenter Server. Windows NT nije preporu

č

ljiv, jer je 

poznato da ima problema sa .NET-om na tom operativnom sistemu. Nema 
na

č

ina za izvršavanje .NET Internet razvoja na platformama kao što su 

Windows 95/98ME. 

 

Web server koji podržava ASP.NET. Ovo zna

č

i Microsoft Internet Information 

Services (IIS) 4.0 ili viši, ili Microsoft Personal Web Server (PWS) na NT 4.0 
radnoj stranici.  

 

.NET Framework, koji uklju

č

uje CLR, Visual Basic kompajler i ASP.NET. 

Iako je opcioni, preporu

č

uje se instaliranje Visual Studio .NET (koji uklju

č

uje 

.NET Framework). Možete kreirati .NET aplikacije bez Visual Studio-a 
korištenjem bilo kog editora teksta i kompajlera sa komandne linije, ali Visual 
Studio 

č

ini 

č

itav proces-naro

č

ito debagovanje-mnogo lakšim. 

 

16.3.1. Instalacija IIS-a 

IIS dolazi sa Windows-om 2000 Professional ali se ne instalira podrazumijevano. 
Da biste instalirali IIS, morate na

č

initi sljede

ć

e korake, i morate imati pri ruci svoj 

Windows 2000 CD. 

Pratite ove korake: 

1.

 

U Windows Control Panel-u, izaberite Add/Remove Programs. 

Programiranje za Internet 

 

222 

2.

 

Izaberite Add/Remove Windows Component na dnu Add/Remove Programs 
prozora. 

3.

 

Pogledajte polje za potvrdu pored Internet Information Services stavke. 

4.

 

Ubacite Windows 2000 CD u svoj ra

č

unar. 

5.

 

Kliknite Next i sa

č

ekajte da se završi instalacija. 

 

16.3.2. Instalacija Visual Studio .NET-a 

Prije nego što pokrenete bilo koji kod od prikazanih, potrebno je dobro 
razumijevanje kako Web server izvršava Web stranicu ili Web Service. Internet 
aplikacije kao što su dinami

č

ke Web strane ili korisni

č

ki Web Service-i brinu o 

jednom zadatku - obrada korisni

č

kih zahtjeva. Ovi zahtjevi dolaze kao HTTP 

zahtjevi iz Web pretraživa

č

a klijenta ili kao SOAP zahtjevi iz klijent programa 

Web Service-a. Web Service-i mogu tako

đ

er biti nazvani iz Web pretraživa

č

a, 

pored toga što ih pozivaju korisni

č

ki klijent programi. U ve

ć

ini slu

č

ajeva, 

korisni

č

ki klijent je potreban da uradi bilo šta korisno sa podacima koje vra

ć

a Web 

Service. 

Tipi

č

an HTTP zahtjev izgleda ovako: 

GET http/www.mycompany.com/index.htm HTTP 1.1 

Ovaj zahtjev traži od Web servera koji se nalazi na ra

č

unaru nazvanom 

"www.mycompany.com" da pošalje nazad stranu sa imenom index.htm. 

SOAP zna

č

i Simple Object Access Protocol. Kao i HTTP, to je još jedan standard 

za slanje i primanje podataka sa server ra

č

unara. U stvari , SOAP se oslanja na 

HTTP i dodaje dodatne nivoe sofisticiranosti da bi dozvolio kompleksnije 
interakcije. U ve

ć

ini slu

č

ajeva. SOAP zahtjevi se šalju Web serveru kako bi 

obradio zahtjev. SOAP zahtjevi i odgovori su prilago

đ

eni pozivaju

ć

im funkcijama 

umjesto da vra

ć

aju Web strane.  

 

16.4. Pregled procesa dinami

č

kih strana 

Šta se dešava kada korisnik zatraži preko Web pretraživa

č

a jednu od vaših strana? 

Web pretraživa

č

 generiše HTTP zahtjev za odre

đ

enom stranom koju korisnik želi 

da vidi. Web server, koji osluškuje sve vrijeme za HTTP zahtjevima, preuzima 
zahtjev i traži datoteku za tu odre

đ

enu stranu. Ako se strana završava sa .htm ili 

.html ekstenzijom, Web pretraživa

č

 jednostavno vra

ć

a sadržaj datoteke. 

Naravno, Web serveri mogu uraditi više nego jednostavno prikazivanje datoteka 
koje se završavaju .htm ekstenzijom. Trenutno, možete na

ć

i Web prezentacije koje 

rade puno vrsta komplikovanih zadataka, kao što je usluga ispisivanja 

č

ekova kod 

online banaka, koja 

ć

e vam omogu

ć

iti da pla

ć

ate svoje ra

č

une korištenjem samo 

Web pretraživa

č

a. Kako ove dinami

č

ke Web strane rade? 

background image

Programiranje za Internet 

 

224 

<%@ Pagelanguage = "VB" %> 

<script runat="server"> 

 sub Page_Load(Sender as Object, e as EventArgs) 

  if IsPostBack then 

   dim strUserName as string = Request ("username") 

   dim strPassword as string = Request ("password") 

   if (strUserName = "Joe Smith") and (strPassword =    

      "secret") then 

     Response.Write("<h2>Log on uspjesan za " &  

       strUserName & "<&h2>") 

   else 

     Response. Write("<h2>Vas username/password nisu 

       pronadjeni.</h2>") 

   end if 

  end if 

 end sub 

</script> 

<html><body> 

  <h2>Dobrodošli na primjer stranice za Login</h2> 

  <form runat ="server"> 

  <table><tr> 

    <td>UserName:</td> 

    <td><input type="text name="username"></td> 

   </tr> 

   <tr> 

    <td>Password</td> 

    <td><input type="password" name="password"></td> 

   </tr> 

   <tr> 

    <td></td> 

    <td><input type="submit" value="Login"></td> 

   </tr> 

  </table></form> 

</body></html> 

Programiranje za Internet 

 

225 

Prva linija listinga kaže ASP.NET-u da koristite Visual Basic za kod na strani. Ova 
linija predstavlja direktivu strane - page directive.  

Iako ASP.NET omogu

ć

uje da koristite bilo koji od .NET jezika, možete koristiti 

samo jedan tip jezika za svaku pojedina

č

nu stranu koda sa strane servera. Ako vaša 

strana sadrži kod sa strane klijenta, možete ga pisati sa razli

č

itim jezikom, kao što 

je JavaScript. 

Druga linija ozna

č

ava po

č

etak koda skripte. Direktiva runat="server" obezbje

đ

uje 

da se kod u skript tagovima izvršava na Web serveru. Ovaj kod se nikada ne šalje 
klijent pretraživa

č

u. 

Prvi (i jedini) metod unutar <skript> taga se naziva Page_Load. Ovaj metod je 
ASP.NET hendler doga

đ

aja. ASP.NET poziva ovu metodu svaki put kada se 

sastavlja strana. Ova metoda se tako

đ

er poziva prije bilo kog kreiranog HTML 

izlaza. 

Page_Load metoda koristi kod da bi provjerila unijeto korisni

č

ko ime i password. 

Kod koristi Request i Response objekte za prijem i slanje koda klijent pretraživa

č

u. 

Test u prvom if iskazu koristi IsPostBack zastavicu. ASP.NET automatski 
podešava ovu zastavicu kada je strana pozvana pošto korisnik klikne submit 
dugme. Kod prvog poziva strane, ova zastavica (flag) je False, tako da se ve

ć

i dio 

koda preska

č

e. Ovo je ono što želimo-želimo da provjerimo korisni

č

ko ime i 

password samo ako je korisnik stvarno predao neke podatke. 

HTML kod u preostalim linijama listinga je standardan izuzev <form> taga koji 
sadrži runat="server" atribut. Ovaj tag je prvi primjer koji 

ć

ete vidjeti na jednoj 

ASP.NET Web kontroli: ovaj tag funkcioniše kao obi

č

an tag forme, osim što 

obezbje

đ

uje da 

ć

e ASP.NET pozivati Page_Load doga

đ

aj.  

 

Slika 90. Login strana kreirana korištenjem ASP.NET-a 

background image

Programiranje za Internet 

 

227 

  <tr> 

   <td>Password</td> 

   <td><asp:textbox id="password" textmode="password"  

      runat="server"/></td> 

  </tr> 

  <tr> 

   <td></td> 

   <td> 

    <asp:button text="Login" onCLick="LoginClicked"  

      runat="server"/> 

   </td> 

  </tr> 

 </table> 

</form></body></html> 

Primijetite da su Text box korisni

č

kog imena, Text box password-a i Login dugme 

Web kontrole. Web kontrole su ozna

č

ene sa "<asp:controlname" i završavaju se sa 

"/>". Svaka definicija Web kontrole sadrži direktive za podešavanje atributa 
kontrola, kao što je textmode="Password" za polje password. 

Listing ne koristi Page_Load doga

đ

aj. Umjesto toga, koristi korisni

č

ki hendler 

doga

đ

aja, LoginClicked, koji poziva button kontrola. Primijetite tekst programa 

onclick="LoginClicked" umjesto definicije Login dugmeta. Sve ASP.NET Web 
kontrole koriste doga

đ

aje koje možete obraditi sopstvenim kodom na strani. 

Svaka ASP kontrola na prikazanoj strani sadrži atribut runat="server". Ovaj atribut 
je od suštinskog zna

č

aja za bilo koju definiciju Web kontrole; bez njega, kontrola 

ne

ć

e raditi pravilno. 

Ako pokrenete kod u prikazanom listingu, možete primijetiti da polje korisni

č

kog 

imena 

č

uva svoju vrijednost 

č

ak i nakon što je Login dugme kliknuto. Polje 

password podrazumijevano ne 

č

uva svoje stanje. ASP.NET Web kontrole 

č

uvaju 

svoje stanje bez bilo kakvog programskog napora sa vaše strane. 

 

 

 

 

 

 

Programiranje za Internet 

 

228 

16.7.1. Dostupne Web kontrole 

Dostupne ugra

đ

ene (built-in) ASP.NET Web kontrole su: 

Button 

Table, TableCell, TableHeaderCell, TableRow 

Checkbox, RadioButton TextBox 

HyperLink AdRotator 

Image, ImageButton 

Calendar 

Label 

ListCOntrol (Checkbox, Dropdown, RadioButton) 

LinkButton DataGBrid, 

DataList 

Panel Validator 

kontrole 

 

16.7.2. Definisanje Web formi 

Primjer login strane u prethodnom dijelu je primjer ASP.NET Web forme. U 
Visual Basic-u, forma je prozor sa kojim korisnik stupa u interakciju; za ASP.NET, 
Web forma je Web strana koja stupa u interakciju sa korisnicima. Web forme imaju 
programiranje stanja, doga

đ

aja i svojstava baš kao i prozor na desktopu. 

 

16.7.3. Kodiranje iza formi u ASP.NET-u 

Održavanje strana koje sadrže kombinaciju HTML i ASP ili sli

č

nog koda je teško; 

kod je težak za razumijevanje zbog kombinovanja HTML-a i scripta. Možete lako 
praviti sintaksne greške u skriptu koje prouzrokuju grešku 

č

itave strane, i 

č

esto 

ASP automat ne daje dobru informaciju greške o greškama pri kodiranju. 

Da bi se sav kod i logika stavili u jednu datoteku, a sav HTML i elementi 
korisni

č

kog interfejsa u drugu, to se može uraditi korištenjem "kod-iza" osobine 

ASP.NET-a. 

Promijenimo Login page primjer da koristi kod-iza, prikazan na sljede

ć

a dva 

listinga. 

LoginCodeBehind.aspx (samo elementi HTML-a i korisni

č

kog interfejsa): 

<%@ Page language="VB" inherits="MyLoginPage" 

src="Login.vb" %> 

<html><body> 

 <h2>Welcome to the Sample Login Page</h2> 

 <form method="post" runat="server"> 

 <table> 

  <tr> 

background image

Programiranje za Internet 

 

230 

public sub LoginClicked(Sender as Object, e as 

EventArgs) 

dim strUserName as string = UserName.Text 

dim strPassword as string = Password.Text 

if (strUserName ) "Joe Smith") and (strPassword 

="secret") then 

  Response.Write("<h2>Log on uspjesan za " & 

   strUserName & "</h2>") 

else 

  Response.Write("<h2>Vas username/password ne  

    postoji.</h2>") 

end if 

end sub 

end class 

Ovakav kod deklariše klasu razvijenu iz Page klase, MyLoginPage. MyLoginPage 
je ime klase koje se koristi u inherits atributu u prethodnom listingu. Sav kod iza 
klasa za Web forme mora biti razvijen iz Page klase. 

Primijetite da MyLoginPage klasa deklariše svaku Web kontrolu korištenu u .aspx 
datoteci kao zašti

ć

ene 

č

lanove klase. Napravili smo ove deklaracije jer koristimo 

kontrole u LoginClicked metodi za rukovanje doga

đ

ajem. 

Tako

đ

er smo dodali imports direktive za svaki opseg imena koji MyLoginPage 

koristi. 

Iako je kombinovani kod iz ova dva listinga duži od originalne verzije koja nije 
koristila kod-iza, ova nova implementacija je bolje organizovana. Takva 
organizacija postaje zna

č

ajnija kada Web forme porastu, kao što se to dešava u 

prakti

č

nim aplikacijama. 

 

16.8. ASP.NET 

Microsoft je nedavno predstavio Visual Studio. NET - kamen temeljac svoje .NET 
strategije, 

č

ime je ona zapravo otpo

č

ela svoje postojanje. Tek nešto ranije, web 

developerima širom svijeta postao je dostupan nasljednik ASP-a, pod nazivom 
ASP.NET. Nazvati ASP.NET logi

č

nom nadogradnjom  klasi

č

nog ASP-a 3.0 bilo bi 

pogrešno. ASP.NET, kao uostalom i cijela .NET strategija, uvodi potpuno novu 
paradigmu u programiranje web skripti. Zapravo, od ASP-a je preuzeta tek 
namjena (stvaranje dinami

č

nih web stranica) i dio imena, a uvedene su dvije bitne 

stvari: mnoga programska poboljšanja na jednoj strani, a na drugoj potpuna 
promjena osnovna programiranja, odnosno na

č

in na koji pišete kod za .ASP 

stranice. 

Programiranje za Internet 

 

231 

16.8.1. Na

č

in pisanja koda 

Klasi

č

ne ASP stranice pišu se proceduralno, što zna

č

i da je svaki zadatak koji je 

potrebno obaviti naj

č

ć

e smješten u posebnoj ASP stranici, a redoslijed kojim se 

izvršavaju pojedine komande unutar stranice odre

đ

en je njihovim položajem 

(komande se izvršavaju odozgo prema dole). Kod ASP.NET-a, situacija je 
drasti

č

no druga

č

ija. Recimo, za jednostavan zadatak ispisa forme u koje korisnik 

treba upisati podatke i prikaza tih podataka nakon slanja forme, u klasi

č

nom ASP-u 

potrebne su dvije stranice: jedna za ispis forme, druga za prikaz podataka nakon 
klika na submit dugme. Alternativa je korištenje jedne stranice, sa nekoliko if petlji 
za provjeru da li je forma poslana i da li su polja popunjena. Doda li se tome 
potreba za provjerom unosa (error checking), postaje jasno da to nije jednostavna 
stvar za isprogramirati (nije komplikovana, ali zahtijeva puno koda). U ASP.NET-
u sve se to može uraditi pomo

ć

u jedne stranice. I ne samo to - korištenjem 

serverskih kontrola i ugra

đ

enih rutina za provjeru grešaka mogu

ć

e je gore navedeni 

primjer napisati u tek par linija koda. Da biste shvatili o 

č

emu govorim, pogledajte 

kod: 

ASP 3.0: 

Datoteka: forma.asp 

<form method="post" action="ispis.asp" id=form1 

name=form1> 

  <div align="center"> Ime i prezime: <br> 

  <input type="text" name="Ime" size="20"  

     maxlength="50"> 

  <br> E-mail adresa: <br> 

  <input type="textbox" name="Email" size="20"  

     maxlength="50"> 

  <br> 

  <br> 

  <input type="hidden" name="poslano" value="da"> 

  <input type="submit" name="Submit" value=" Ispisi  

    podatke "> 

  </div> 

</form> 

Datoteka: ispis.asp 

<% 

'da li je forma uopste poslana 

If Request.Form ("poslano") ="da" Then 

background image

Programiranje za Internet 

 

233 

Kod više li

č

i na dio nekog Visual Basic projekta, nego na web stranicu. Dok je kod 

klasi

č

nog ASP-a teško izbje

ć

i tzv. špageti-kod, ASP.NET kod je lako 

č

itljiv, 

uspješno odvojen od dizajna stranice i uopšte mnogo sli

č

niji pravom programskom 

jeziku. 

 

16.8.2. Programska poboljšanja 

Jedan od najvažnijih novosti jeste zna

č

ajno  ubrzanje izvršavanja skripti. Za razliku 

od dosadašnjih ASP skripti, koje su interpretirane prilikom svakog pozivanja od 
strane klijenta. ASP.NET skripte su u potpunosti kompajlirane! Kada se stranica 
prvi put pokrene biva kompajlirana pomo

ć

u CLR-kompatibilnog (Common 

Language Runtime, još jedna bitna novost .NET platforme) kompajlera i pri 
svakom sljede

ć

em u

č

itavanju pokre

ć

e se ve

ć

 kopajlirana verzija, koja se izvršava 

puno brže. Kada do

đ

e do osvježavanja (update) stranice, ona pri prvom u

č

itavanja 

biva rekompajlirana. 

Kompajliranje skripti donosi odre

đ

eno ubrzanje, ali najve

ć

i dio vremena 

izvršavanja neke skripte odlazi na pristupanje bazama i uzimanje podataka iz njih. 
Upravo zato ASP.NET donosi nekoliko tehnika keširanja podataka. Recimo da 
imate stranicu na kojoj prikazujete posljednjih 20 unosa iz baze i da toj stranici 
pristupa oko 100 ljudi u minuti. Bez obzira koju bazu podataka koristi i koliko jak 
server imali, ovi korisnici 

ć

e prouzrokovati prili

č

no usporenje servera. U ASP.NET 

skripti koja obavlja taj zadatak dovoljno je upisati naredbu koja 

ć

e keširati podatke 

za nekoliko minuta (nekoliko sati ili dana, zavisi od frekvencije dodavanja novih 
podataka u bazu), tako da 

ć

e skripta samo za prvog korisnika uzeti podatke iz baze, 

a ostali 

ć

e vidjeti keširanu stranicu! Mogu

ć

e je i fragmentno keširanje, tako da 

možete recimo odrediti da se reklame ne keširaju (uvijek se u

č

itavaju iz baze), ali 

da se ispisi onih 20 unosa iz baze keširaju. 

Još jedna bitna novost jesu serverske kontrole. Dok ste u ASP-u za ispis forme 
koristili standardne HTML kontrole (texbox, password, select, button i sl.), u 
ASP.NET-u koristite ekvivalentne serverske kontrole, koje se kasnije renderišu u 
obi

č

ni HTML, u zavisnosti od browsera. Dakle, problemi sa kompatibilnoš

ć

browsera su gotovi! U svojoj skripti pišete naredbe koje su uvijek iste (recimo 
aspxtextbox ili aspxbutton), a server vra

ć

a klijentu HTML kod u zavisnosti od 

njegovog browsera. Sa ovim kontrolama možete kombinovati kontrole za provjeru 
(validation), tako da kompleksne if petlje potrebne za provjeru unosa u formi 
kona

č

no odlaze u prošlost. 

Jedan od najve

ć

ih problema sa klasi

č

nim ASP skriptama jeste njihovo postavljanje 

na server. Ako se radi o jednostavnim skriptama koje ne koriste nikakve serverske 
objekte ili posebno postavke IIS-a, onda je postavljanje na server 

č

as posla. Ali ako 

vaša skripta zahtijeva posebne COM objekte ili IIS postavke postavljanje na server 
zna biti mu

č

no. Potrebno je provjeriti da li ti objekti postoje na serveru, da li su 

registrovani, provjeriti kakve su postavke servera... Sve ove probleme rješava 

Programiranje za Internet 

 

234 

ASP.NET. COM objekte koje vaša skripta koristi više uopšte nije potrebno 
registrovati na serveru! Dovoljno ih je kopirati na server u odgovaraju

ć

i folder i 

skripta ih može koristiti! Tako

đ

er, sa ASP.NET-om stiže i tekstualna konfiguracija 

datoteka u kojoj možete podesiti bitne postavke, koje su se do sada mogle mijenjati 
jedino preko IIS administracijskih stranica.  

Iako je ASP po tom pitanju ve

ć

i bio iznad konkurencije, ASP.NET uvodi još 

nekoliko jezika koji se mogu koristiti za programiranje skripti. Umjesto oslabljene 
verzije VB-a - VBScript-a, koja je do sada predstavljala default jezik za 
programiranje ASP stranica, ASP.NET stranice se mogu programirati u dva 
"prava" programska jezika - VB.NET i C#. Pored njih, direktno je podržan Jscript, 
a Visual StudioNET (samim tim i ASP.NET) 

ć

e podržavati oko 20 jezika! VBNET 

i C# su moderni jezici, koji ne samo da podržavaju polimorfiranje i naslje

đ

ivanje 

objekata, nego se mogu i kombinovati - VBNET može naslje

đ

ivati C# objekt i 

obratno. 

 

background image

Programiranje za Internet 

 

236 

    </cd-disk> 

    <cd-disk> 

         <izvodjac> Red Hot Chilli Peppers  </izvodjac> 

         <naziv> Californication </naziv> 

         <godina> 2000 </godina> 

         <cijena> 14,99 EUR </cijena> 

    </cd-disk> 

    <cd-disk> 

         <izvodjac> Kom </izvodjac> 

         <naziv> Issues </naziv> 

         <godina> 2000 </godina> 

         <cijena> 15,99 EUR </cijena> 

    </cd-disk> 

</lista> 

Kao što vidite, dokument je dosta sli

č

an HTML-u. Sa jednom velikom razlikom - 

tagovi su na našem jeziku! U XML-u sami definišete tagove koji imaju nazive 
kakve odredite (obi

č

no su nazivi logi

č

ki povezani sa sadržajem). Još jedna razlika 

u odnosu na HTML jeste da u ovome dokumentu  ne postoje nikakve odrednice 
koje govore kako 

ć

e podaci izgledati u browseru. Izgled dokumenta 

ć

e se, kada 

budemo došli do toga, definisati iz posebne datoteke. 

A zašto se u ovom primjeru nije jednostavno koristio obi

č

ni HTML, sa tabelom 

popunjenom podacima? Zato jer XML daje mnogo više fleksibilnosti. Recimo da 
jednog dana poželite odštampati svoju listu CD-ova (ima ih preko stotinu). Morali 
biste ru

č

no brisati sve HTML tagove da biste dobili 

č

istu tekstualnu datoteku, ili 

biste morali mnogo koristiti copy i paste funkcije kako bi iz HTML dokumenta 
prenijeli podatke u neki tekst procesor, što prili

č

no naporno i dugotrajno. Sa XML-

om, može se napisati jednostavan mali program ili koristiti neki ve

ć

 dostupan, koji 

ć

e "izvu

ć

i" podatke iz dokumenta i automatski ih formirati u nekom tekst 

procesoru (na primjer, informacije iz taga <izvodjac> i <naziv> su podebljane, a 
ostale su ispisane normalnim fontom). 

Č

ak se može koristiti neki XML-enabled 

tekst procesor koji 

ć

e za

č

as odštampati ovaj XML dokument. To su samo neke od 

prednosti XML nad HTML-om u ovome slu

č

aju. 

Iako XML ostavlja autorima na slobodu da kreiraju vlastite tagove, odnosno 
elemente, prilikom pisanja XML dokumenta moraju se poštovati odre

đ

ena pravila. 

Svaki XML dokument mora biti pravilno napisan (pravilno formatiran) i ispravan.  

Da biste pisali pravilne SML dokumente, trebate se pridržavati odre

đ

enih pravila. 

Ta pravila nisu uopšte komplikovana, a mnoga od njih bi se trebala odnositi i na 

Programiranje za Internet 

 

237 

HTML. Prije svega, na po

č

etku svakog XML dokumenta morate staviti naznaku da 

se radi o XML dokumentu, a to izgleda ovako: 

<?xml version ="1.0"?> 

Zatim u svakom XML dokumentu mora postojati root ili korijenski element unutar 
kojeg se nalaze svi ostali elementi. Kod HTML dokumenata taj element je <html>, 
a kod XML-a možete sami izabrati njegov naziv. Korijenski element u prikazanom 
primjeru je <lista>. 

Svaki otvoreni element u XML dokumentu mora biti i zatvoren. Na primjer, ako 
otvorite element <cd>, morate ga i zatvoriti  sa komandom </cd>. Dakle, svaki 
element se zatvara sa istom komandom kojom se i otvara, samo što prije nje stoji 
znak "/". U HTML-u mnogi tagovi su mogli ostati i nezatvoreni, a browser bi 
prikazao pravilno web stranicu. U XML-u pak, ukoliko neki tag nije zatvoren 
pravilno, dokument ne

ć

e uopšte biti prikazan. Postoje neki tagovi koji u HTML-u 

nisu imali svoju verziju za zatvaranje, poput taga <br>. U XML se oni pišu sa 
znakom "/" nakon komande, u ovome slu

č

aju <br/>. 

U XML dokumentu svi elementi moraju biti pravilno postavljeni, odnosno ne smije 
do

ć

i do njihovog "preklapanja". Na primjer, u HTML ste mogli slobodno napisati 

sljede

ć

e: 

<center><b><font face=verdana" size="2"> Tekst 

</center></font></b> 

i to ne bi uopšte bilo nepravilno. U XML-u je to fatalna greška, i dokument više ne 
bi bio ispravno  napisan. Pravilno napisani elementi izgledaju ovako: 

<center><b><font face="verdana" size = "2"> Tekst 

</font></b></center> 

Prilikom pisanja XML dokumenta, treba voditi pažnju o velikim i malim slovima. 
Dok bi u HTML-u tagovi (elementi) <cijena>, <Cijena> i <CIJENA> bili potpuno 
isti, u XML-u su to tri razli

č

ita elementa. 

Da ne bi došlo do pogreške, preporu

č

ujemo vam upotrebu ili samo velikih ili samo 

malih slova u vašim XML dokumentima. Postoji još dosta pravila, ali najvažnija su 
ova spomenuta.  

 

17.1. DTD – Document Type Definition 

Naravno, nešto 

ć

emo uraditi sa informacijama iz ispravno napisanog XML 

dokumenta. Ta

č

nije, uradit 

ć

emo mnogo toga sa tim informacijama. Me

đ

utim, 

opasnost još uvijek vrijeba - postoji mogu

ć

nost da dokument, iako je pravilno 

napisan, ne sadrži neke klju

č

ne informacije. Pogledajmo slijede

ć

i primjer. 

<cd-disk> 

     <izvodjac> Metalica 

background image

Programiranje za Internet 

 

239 

može sadržavati parsed character data (sve drugo osim binarnih podataka, kao što 
su slike), u našem slu

č

aju 

ć

e to biti tekst i brojevi. 

 

17.2. Prikazivanje XML dokumenata u browseru 

Ako u

č

itate ovaj XML dokument u Internet Explorer, pod uslovom da ste sve 

pravilno uradili dobit 

ć

ete rezultat kao na slici 91. Ako se prisjetimo 

č

injenice da je 

XML zadužen za definisanje strukture podataka, ali da u sebi ne sadrži nikakve 
informacije u tome kako 

ć

e se ti podaci prikazati u korisnikovom browseru, stvari 

dolaze na svoje. Poseban jezik, koji se naziva XSL (eXtensible Style Language), 
omogu

ć

ava autorima da formatiraju podatke sadržane u XML dokumentu. XSL 

koristi sintaksu XML-a, omogu

ć

uju

ć

i XML autorima da stiliziraju svoje 

dokumente  i podatke u njima bez potrebe za u

č

enjem CSS-a ili nekog drugog 

stylesheet jezika (na primjer DSSSL). 

 

Slika 91. Prikaz XML dokumenta u browseru 

Programiranje za Internet 

 

240 

Drugim rije

č

ima, XSL vam omogu

ć

ava da izdvojite odre

đ

ene podatke iz XML 

dokumenta, a zatim te podatke formatirate i prikažete korisniku na na

č

in koji želite. 

Ovaj "transformacijski" dio XSL-a o kome govorimo se naziva XSLT (eXtensible 
Style Language for Transformation) i on 

ć

e nas ovdje primarno zanimati, jer 

omogu

ć

ava svojevrsnu transformaciju XML dokumenta i podataka sadržanih u 

njemu u HTML (i na taj na

č

in prikazivanje u korisnikovom browseru). Drugi dio 

XSL-a se još naziva i XSL FO (Formatting Objects), vrlo je kompleksan i 
omogu

ć

ava prikazivanje XML-a u obliku bilo koje dvodimenzionalne prezentacije 

koju možete zamisliti (PDF dokument, izlaz za štampa

č

 itd.). 

Šta se u stvari, jednostavnim jezikom re

č

eno, doga

đ

a sa XML dokumentom 

prilikom formatiranja pomo

ć

u XSL-a? U XML dokumentu nalaze se podaci 

organizovani u elementima koje ste sami definisali. XLS pronalazi te elemente i 
pravi 

source tree

 (izvorno stablo dokumenta) XML dokumenta, a zatim 

primjenjuje pravila navedena u XSL datoteci na elemente i pravi 

result tree

 

(kona

č

no stablo dokumenta). 

Kona

č

no, XSL procesor (program koji primjenjuje XSL stilove na XML 

dokumente, a može biti na klijentskoj ili serverskoj strani) generiše HTML koji 
može biti prikazan u browseru. Dakle, podaci dolaze iz XML dokumenta, a 
formatiranje (koje može predstavljati i odre

đ

eno restruktuiranje podataka) dolazi iz 

XSL datoteke. To je i bit XML-a; podaci i njihov prikaz du odvojeni. HTML nije 
jedini mogu

ć

i "format" u kojeg se XML dokumenti mogu transformisati, ali nas u 

ovome tekstu jedino on zanima. 

U nastavku možete vidjeti kako izgleda XSL datoteka za Billy-jevu muzi

č

ku 

kolekciju, a kako to sve izgleda kada se prikažu u browseru, možete vidjeti na 
slici 92.  

 

Slika 92. Prikaz formatiranog XML dokumenta uz pomo

ć

 XSL-a 

background image

Programiranje za Internet 

 

242 

    </cd-disk> 

</lista> 

Od 

č

ega se sastoji korišteni XSL: 

<?xml version="1.0!?> 

<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-

xsl/"> 

XSL je u stvari jezik definisan u XML-u, pa stoga to mora biti i naglašeno u prvom 
redu. Svaki XSL mora poštovati pravila pisanja ispravnih XML dokumenata i mora 
biti validan. Drugi red nazna

č

ava da se radi o XSL stylesheetu i morate ga navesti 

u svakoj XSL datoteci. 

<xsl:template match="/"> 

Ovaj tag ozna

č

ava da se sve unutar njega (sva pravila) odnose na korijenski 

element u XML dokumentu. U ovom slu

č

aju to bi bio element <lista>. Dalje 

možete vidjeti klasi

č

an HTML koji susre

ć

ete na svakoj web stranici, a on definiše 

naslov stranice i postavlja tabelu na stranicu. Sljede

ć

i zanimljiv XSL tag je: 

<xsl:for-each select="lista/cd-disk"> 

On govori XSL procesoru da za svaki element <cd-disk> unutar korijenskog 
elementa <list> ubaci navedeni HTML kod. Kao što vidite u sljede

ć

em kodu, taj 

HTML kod dodaje još jedan red tabeli koja je ve

ć

 ranije kreirana, a polja 

popunjava sa podacima iz XML dokumenta. 

<?xml version="1.0"?> 

<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-

xsl"> 

<xsl:template match="/"> 

<html> 

 <head> 

  <title> Billyjeva muzi

č

ka kolekcija CD-ova </title> 

 </head> 

 <body> 

  <h2> Billyjeva muzi

č

ka kolekcija </h2> 

  <table width="550" border="1" cellspacing="0" 

cellpadding="0"> 

   <tr bgcolor="#CCCCCC"> 

    <td width="37%"><center><b> 

       Autor </b></center> 

    </td> 

Programiranje za Internet 

 

243 

    <td width="37%"><center><b> 

       Naziv </b></center> 

    </td> 

    <td width="10%"><center><b> 

       Godina </b></center> 

    </td> 

    <td width="15%"><center><b>  

       Cijena </b></center> 

    </td> 

   </tr> 

   <xsl:for-each select="lista/cd-disk"> 

    <tr> 

    <td width="37%"> 

       <xsl:value-of select="izvodjac"/>  

    </td> 

    <td width="37%">  

      <xsl:value-of select="naziv"/>  

    </td> 

    <td width="10%"> 

      <xsl:value-of select="godina"/> 

    </td> 

    <td width="15%"> 

      <xsl:value-of select="cijena"/> 

    </td> 

   </tr> 

  </xsl:for-each> 

 </table></body></html> 

</xsl:template> 

</xsl:stylesheet>     

Ovo je vrlo jednostavan XSL koji koristi samo osnovne komande. Pored for-each 
komande, mogu

ć

e je koristiti if-then petlje i choose funkcije, koje su sigurno 

poznate programerima. Ove komande omogu

ć

avaju manipulaciju i prikazivanje 

podataka iz XML dokumenta na bilo koji na

č

in koji možete zamisliti (ili barem na 

background image

Programiranje za Internet 

 

245 

18. Budu

ć

nost: Ajax, Gadget,... 

18.1. Ajax  

Vremenom se u razvoju web aplikacija postavilo vrlo logi

č

no pitanje: kako dodati 

mogu

ć

nosti koje imaju klasi

č

ne desktop aplikacije? I još pri tome poboljšati  

performanse i omogu

ć

iti potpunu neovisnost od browser-a sa istim brojem kontrola 

koje deskop aplikacije 

č

ine toliko boljim i jednostavnijim za programiranje. Ovo je 

zapravo ideja AJAX (Asynchronous JavaScript and HML) strategije za razvoj web-
baziranih aplikacija. 

Sam AJAX je nastao da bi se prevazišla ograni

č

enja klasi

č

nog request-response 

modela današnjih web aplikacija. Svaki put pri promjeni podataka, odnosno 
korisni

č

kog interfejsa, stranica se mora poslati serveru kako bi se ažurirala. 

Me

đ

utim, velika koli

č

ina ovih zahtjeva sa velikim skupom podataka može 

uzrokovati da korisnik 

č

eka minutama za obradu jednog zahtjeva, što naravno nije 

poželjno: AJAX omogu

ć

ava da klijentske skripte asinhrono (neovisno jedna od 

druge) pozivaju serverske aplikacije koriste

ć

i HML kao protokol. To za rezultat 

ima da se stranica mnogo brže u

č

itava, jer se mnoge skripte mogu izvršavati 

paralelno, a obnavlja se samo onaj dio stranice koji se mijenja, bez potrebe za 
u

č

itavanjem stati

č

kog dijela stranice. 

Drugi razlog za AJAX-om je i nedostatak kontrola u web aplikacijama, što je imalo 
za posljedicu da programeri naprave browser-specific kontrole 

č

ija je izrada 

prili

č

no kompleksna i ograni

č

ava upotrebu web aplikacije isklju

č

ivo u jednom 

browser-u ili 

č

ak u samo jednoj verziji nekog od browser-a. Ve

ć

ina programera, 

logi

č

no, izbjegava navedeni na

č

in razvoja kontrola, pa su opet korisnici ti koji su 

nezadovoljni mogu

ć

nostima web aplikacije. AJAX koristi JavaScript komponente 

koje daju više mogu

ć

nosti korisni

č

kom interfejsu, pri 

č

emu je kompatibilnost 

zagarantovana. 

Izrada AJAX-baziranih aplikacija nažalost nije jednostavna i zahtijeva prili

č

no 

znanja o JavaScript-u i dodatnim tehnologijama, premda postoji prili

č

an broj 

biblioteka koje ovaj posao olakšavaju. 

Da biste po

č

eli raditi sa AJAX-om morate kombinovati HTML, DHTML, CSS 

XHTML i, naravno, JavaScript. Ukoliko dublje krenete u problematiku shvatit 

ć

ete 

da najviše posla imate sa DHTML-om, XmlHttpRequest ili odgovaraju

ć

im 

Microsoft-ovim ActiveX objektom. Moramo primijetiti da programer odmah ima 
probleme vezane za kompatibilnosti stranice u odgovaraju

ć

em browser-u, jer mora 

postojati detekcija u samoj stranici kako bi se koristio XmlHttpRequest ili 
Microsoft-ov ActiveX objekat. 

Sljede

ć

i problem je vezan za konceptualni dizajn web stranice, odnosno 

iskorištenje paralelnog izvršavanja skripti. Suština paralelizma se sastoji u tome da 
se inicijalno koristi minimalan broj JavaScript-i, a zatim postepeno pove

ć

ava 

korištenje preostalih JavaScript-i, CSS-a i drugih tagova preko XmlHttpRequest 
objekta. Ova tehnika koristi ve

ć

i broj konekcija prema serveru i zna

č

ajno ubrzava 

Programiranje za Internet 

 

246 

u

č

itavanje web stranice, za razliku od tradicionalnog pristupa koji je sinhronizovan 

i koristi jednu konekciju. Ovdje opet možemo primijetiti da programer mora paziti 
i na redoslijed izvršavanja JavaScript-i, CSS i ostalih tehnologija koje su klijentu 
potrebne.  

I kada pomislite da se problemi ovdje završavaju, prilikom programiranja dolazite 
do situacije da morate imati ponovnu detekciju u stranici. Ovaj put morate znati u 
kojem se stanju stranica nalazi, te u zavisnosti od toga pozvati odgovaraju

ć

skriptu. Možete problem riješiti rekurzivno, me

đ

utim, održavanje postaje 

komplikovanije kako imate ve

ć

i broj stanja stranice. 

Ipak, održavanje nije uplašilo Google, koji nam je poklonio Gmail, Google Maps, 
Google Suggests i sli

č

ne AJAX-bazirane servise. Ohrabreni ovim potezom, 

programeri su po

č

eli AJAX prebacivati i na .NET pa 

ć

ete na Internetu prona

ć

i i 

njegovu varijantu Ajax.NET. 

Iskusniji arhitekti moraju biti i kriti

č

ari AJAX strategije razvoja web stranica. 

Naime, svaki informacioni sistem se može apstrahovati u tri logi

č

ka dijela - 

prezentacijski dio sa kojim rade korisnici i administratori, biznis logika koja bi 
trebala biti transparentna i na kraju, naravno, perzistencija. AJAX spaja 
prezentaciju sa biznis logikom kako bi se pove

ć

avala efikasnost, brzina rada i 

jednostavnost upotrebe, ali znatno smanjuje kvalitete informacionog  sistema, 
posebno njegovu fleksibilnost. Može se lako zaklju

č

iti da je AJAX idealno rješenje 

za male, jednostavne i 

č

esto korištene servise. 

Microsoft-ov odgovor na pitanje kako pojednostaviti AJAX i iskoristiti sve njegove 
mogu

ć

nosti je ASP.NET 2.0 Atlas tehnologija. Na klijentskoj strani Atlas pruža 

impresivan skup JavaScript biblioteka koje sadrže objektno-orijentisane 
mogu

ć

nosti, HTML/HTTP za pozive procedura na udaljenim ra

č

unarima, te 

komponente sa event-ima i 

č

esto korištenim metodama poput drag and drop, auto 

completion, popup i mouse hovering. 

Na serverskoj strani Atlas se sastoji od ASP.NET serverske kontrole i ASP.NET 
servisa. Serverske kontrole su odgovorne za slanje klijentskih skripti na korisni

č

ku 

mašinu, 

č

ime se omogu

ć

ava transparentan i neovisan rad od korisni

č

kog browser-a. 

Servisi nam omogu

ć

avaju da 

č

uvamo podatke o korisniku kao što je novi 

ASP.NET profiles koji je bio poznat pod nazivom Application i Session varijable. 
Personalizacija interfejsa, autentifikacija i uloge (roles) omogu

ć

uju da korisnik u 

zavisnosti od privilegija dobije manji ili ve

ć

i broj kontrola na interfejsu i da iste 

posloži po svom naho

đ

enju. 

 

18.2. Ajax Agent 0.1 

Ajax Agent je biblioteka napisana za PHP, koja na jednostavan na

č

in daje 

mogu

ć

nost korištenja Ajax tehnika u kombinaciji sa spomenutim skriptnim 

jezikom. Ajax (Asynchronous JavaScript and XML) predstavlja potpuno novi 

background image

Programiranje za Internet 

 

248 

  function veza_tekst(str) 

  {agent.call(",'server_tekst",klijent_tekst");} 

  function klijent_tekst(str) 

  {dpci,emt-getElementByld)"div_ispis").innerHTML=str,} 

</script> 

</head><body> 

<p><b><a href="#" onclick="veza_tekst()">Ispisi 

tekst</a><b></p> 

<div id="div_ispis"></div> 

</body></html> 

Ako je sve kako treba, nakon klika na link 

ć

e se ispisati tekst (Koristite Ajax 

Agent) bez ponovnog u

č

itavanja cijele stranice. Kako vidite, funkcija u sebi sadrži 

tri odvojene funkcije. Prva je server-side funkcija (server-tekst()) koja samo vra

ć

vrijednost stringa. Druga je klijent funkcija (klijent-tekst) koja odre

đ

uje gdje 

ć

e se 

tekst ispisivati. U ovom slu

č

aju to je div tag kod kojeg id parametar ima vrijednost 

div_ispis. Tre

ć

a funkcija povezuje prethodne dvije (function veza:tekst) i ponaša se 

kao klijent server funkcija. Na kraju se poziv funkcije veza_tekst vrši kao i poziv 
bilo koje druge JavaScript funkcije (onclick="veza:tekst()"). Sve ostalo su obi

č

ne 

PHP i JavaScript komande. 

Nakon ovog napravite datoteku tekst2.php sa sljede

ć

im sadržajem: 

<html> >head> 

<?php 

function server_tekst() 

{return "Koristite Ajax Agent";} 

include_once("agent.php"); 

$agent->init(); 

?> 

<script> 

function klijent_tekst() 

str = agent.call(",'server_tekst","); 

alert(str); 

</script> 

</head><body> 

Programiranje za Internet 

 

249 

<p><b><a href="#" onclick=" klijent_tekst 

()">Ispisi tekst</a></b></P> 

</body></html> 

Rezultat klika na link 

ć

e biti ispis teksta, ali ovaj put ne na stranici, nego u alert 

prozoru. Možete vidjeti da ova skripta ima dvije funkcije. Server_tekst() isto kao i 
u prethodnom vra

ć

a vrijednost stringa, dok funkcija klijent_tekst() u ovom slu

č

aju 

uzima vrijednost serverske funkcije (str = agent.call(",'server-tekst',")) i ispisuje 
poruku u alert prozoru (alert(str)). 

Osim ovoga, Agent je sposoban da radi i sa parametrima, što možete vidjeti na 
sljede

ć

em primjeru: 

<html> <head> 

<?php 

  function server_tekst($ime, $mail) 

{ return " Vi se zovete: ".$ime, "<BR> Vas e-mail 

je:".$mail;} 

include_once("agent.php"); 

$agent->init(); 

?> 

<script> 

 function veza_tekst() { 

 ime = document.getElementByld('ime').value; 

 mail = document.getElementByld('mail').value; 

 agent.call(",'server_tekst",'klijent_tekst',ime,mail); 

 } 

 function klijent_tekst(str) 

 {document.getElementByld('div_ispis').innerHTML=str,} 

</script> 

</head><body> 

<p><form> 

Ime: <input name="ime" id="ime" size="4" type="text"> 

E-mail: <input name="mail" id="mail" size="4" 

type="text"> 

<input name="OK" value="Posalji" onclick="veza_tekst(); 

return false; "type="submit"> 

</form></p> 

background image

Programiranje za Internet 

 

251 

<a href="#" 

onclick="agent.call(", 'server_glavna', 

'klijent_glavna', 'tekst3.php')">Tekst3</a> 

<div id="div_ispis"></div> 

</body<></html> 

Prilikom klika na neki od linkova prikazat 

ć

e se jedan od prethodnih primjera bez 

osvježavanja stranice. U ovom slu

č

aju imamo samo dvije funkcije, server-side 

funkciju server_glavna() koja pokazuje kako 

ć

e se prikazivati datoteke, i 

klijent_glavna() koja ukazuje gdje 

ć

e se datoteke izlistati. I ovaj put je to div tag 

č

iji parametar id ima vrijednost div_ispis. Sada komanda agent.call povezuje obje 

funkcije sa odre

đ

enom datotekom (u ovom slu

č

aju to su: tekst.php, tekst2.php i 

tekst3.php), a poziva se direktno komandom onclick. 

 

18.3. Gadget 

Rije

č

 "gadget" (gizmo, gismo, widget) se koristi da ozna

č

i ure

đ

aj koji je posebno 

koristan za neki posao, mali elektronski ili mehani

č

ki aparat koji predstavlja 

inovaciju, neimenovani ili hipoteti

č

ki proizvod. 

U programerskom žargonu, rije

č

 gadget se koristi za kombinaciju grafi

č

kih 

simbola i nešto programskog koda s ciljem izvršenja neke odre

đ

ene funkcije. 

Naprimjer, scroll-bar ili tipka predstavljaju gadgete.  

 

Slika 93. Windows Vista Beta 2 Desktop sa Windows Sidebarom i gadgetima

 

Programiranje za Internet 

 

252 

Gadgeti su mini aplikacije koje se mogu povezivati sa internet servisima kako bi 
davale informacije o vremenskoj prognozi, novostima, auto-kartama, Internet radio 
stanicama i galerijama slika. 

Gadgeti se tako

đ

er mogu integrisati sa mnogim aplikacijama da bi promijenili 

na

č

in interakcije s njima. Naprimjer, gadget može dati brzi pregled adresa iz chat 

programa, dnevne obaveze iz kalendara i sl. Gadgeti tako

đ

er mogu biti kalkulatori, 

igre, itd.  

Microsoft Windows Vista 

ć

e uz standardne elemente grafi

č

kog interfejsa (desktop, 

taskbar, start meni) imati i osnovni set gadgeta. Dodatni gadgeti se mogu skinuti sa 
online galerije gadgeta (http://gallery.microsoft.com/). Windows Sidebar je novi 
grafi

č

ki element Windows Vista desktopa koji se koristi za organizovanje gadgeta 

(slika 93). Pored sidebara, gadgeti mogu biti sastavni dijelovi Internet stranica.  

Windows Sidebar je aplikacija koja omogu

ć

uje da se gadgeti prikazuju na sidebaru 

i na Windows desktopu. Svi gadgeti iz sidebara se pohranjuju lokalno. Gadgeti se 
mogu dobiti skidanjem sa nekog web sajta, kao e-mail attachment ili uz instalaciju 
neke aplikacije. To su datoteke sa ekstenzijom .gadget. Dvostrukim klikom na te 
datoteke pokrenut 

ć

e se proces instalacije. 

 

Slika 94. Gadget na desktopu 

 

18.3.1. Kako rade gadgeti 

Svaki gadget se razvija pomo

ć

u HTML i skriptnog jezika. Gadgeti tako

đ

er imaju 

pristup dodatnim informacijama kad se HTML pokre

ć

e kao gadget. To omogu

ć

uje 

gadgetima da imaju interakciju sa Windows datotekama i folderima, kao što su 

background image

Programiranje za Internet 

 

254 

4.

 

Kreirajte HTML datoteku 
HTML datoteka bi trebala sadržati sljede

ć

e: 

<html> 

<head> 

  <title>Hello, World!</title> 

  <style> 

    body {  

 

width:130;  height:50; 

    } 

  </style> 

</head> 

<body> 

<span id="gadgetContent" style="font-family: Tahoma; 

font-size: 10pt;">Hello, World!</span> 

</body> 

</html> 

5.

 

Kona

č

no, kreirajte gadget manifest: 

Datoteka manifesta se mora zvati "gadget.xml"  
Datoteka mora biti snimljena sa UTF-8 encoding.  

XML datoteka bi trebala sadržati sljede

ć

e: 

<?xml version="1.0" encoding="utf-8" ?> 

<gadget> 

  <name>Hello World!</name> 

  <namespace>Example.You</namespace> 

  <version>1.0</version> 

  <author name="Vase ime"> 

    <info url="www.example.com" /> 

  </author> 

  <copyright>2006</copyright> 

  <description>Moj prvi gadget</description> 

  <hosts> 

    <host name="sidebar"> 

    <base type="HTML" apiVersion="1.0.0"  

       src="HelloWorld.html" /> 

Programiranje za Internet 

 

255 

    <permissions>full</permissions> 

    <platform minPlatformVersion="0.3" /> 

    </host> 

  </hosts> 

</gadget> 

Može se kreirati i datoteka za ikonu, kojoj treba dati isto ime koje ima i HTML 
datoteka (HelloWorld). Ako se ne kreira posebna, Windows sidebar 

ć

e obezbijediti 

generi

č

ki ikonu. 

Kad se klikne na simbol "+" na dnu sidebara, u galeriji gadgeta trebao bi se pojaviti 
novi gadget. 

 

Slika 95. Tipka "Add Gadget" za dodavanje novih gadgeta 

 

 

Slika 96. Gadget Gallery sa gadgetom "Hello World!" 

Datoteka sa slikom (naprimjer "Background.png") se može koristiti kao podloga 
gadgeta. Potrebno je samo izmijeniti CSS dio HTML datoteke "HelloWorld.html":  

<style> 

background image

Programiranje za Internet 

 

257 

<body onload="setContentText()"> 

  <span id="gadgetContent" style="font-family: Tahoma; 

font-size: 10pt;">Hello, World!</span> 

</body> 

</html> 

 

Slika 97. Gadget sa sistemskom varijablom 

 

18.3.4. Postavke gadgeta  

Gadgeti mogu prikazati dijalog za podešavanje postavki. Oni tako

đ

er mogu snimiti 

postavke sa APIjem.  

Prvo je potrebno konfigurisati HTML stranicu koja 

ć

e se pojaviti kad korisnik 

pritisne UI kontrolu za podešavanje postavki: 

<script> 

  var variableName = "ProgramFiles" 

  function setContentText() { 

  gadgetContent.innerText = 

System.Environment.getEnvironmentVariable(variableName)

  } 

  System.Gadget.settingsUI = "Settings.html"; 

</script> 

To 

ć

e omogu

ć

iti da oznaka na za podešavanje gadgetu postane vidljiva:  

 

Slika 98. Gadget sa uklju

č

enom oznakom za postavke 

sada je potrebno kreirati html stranicu koja 

ć

e se koristiti za podešavanje postavki 

(datoteka sa imenom "Settings.html"):  

<html> 

<head> 

  <style> 

Programiranje za Internet 

 

258 

    body{  

      width:250; 

 height:75; 

    } 

  </style> 

  <script> 

    function init() { 

    var currentSetting = 

System.Gadget.Settings.read("variableName"); 

 

if (currentSetting != "") 

 

envVar.innerText = currentSetting; 

 } 

 System.Gadget.onSettingsClosing 

SettingsClosing; 

 function 

SettingsClosing(event) 

 { 

      if (event.closeAction == event.Action.commit) { 

 

variableName = envVar.value; 

 System.Gadget.Settings.write("variableName", 

variableName); 

      } 

 

event.cancel = false; 

 } 

  </script> 

</head> 

<body onload="init()"> 

  <span id="mySpan" style="font-family: Tahoma; font-

size: 10pt;"> 

    Environment Variable:<br> 

    <input type="text" id="envVar" length="40"> 

  </span> 

</body> 

</html> 

U ovoj html stranici postoji posebna funkcionalnost gadgeta: 

background image

Programiranje za Internet 

 

260 

 

Slika 99. Gadget sa dijalogom za podešavanje postavki 

Posljednji korak je ažuriranje (update) gadgeta kad korisnik promijeni postavku (u 
datoteci "HelloWorld.html"):

  

<script> 

  var variableName = "ProgramFiles"; 

  function setContentText() { 

  gadgetContent.innerText = 

System.Environment.getEnvironmentVariable(variableName)

  } 

  System.Gadget.settingsUI = "Settings.html"; 

  System.Gadget.onSettingsClosed = SettingsClosed; 

  function SettingsClosed() { 

  variableName = 

System.Gadget.Settings.read("variableName"); 

  setContentText(); 

  } 

</script> 

 

Programiranje za Internet 

 

261 

19. Planiranje i procedura dizajna web prezentacije 

Nakon što ste odlu

č

ili da se (kona

č

no) pojavite na Internetu u vidu prezentacije 

firme, ponude odre

đ

enih usluga ili u vidu li

č

nog predstavljanja, dolazi jedna od 

najbitnijih faza u izgradnji sajta - planiranje. Kao i svakom drugom poslu, od toga 
zavisi koliko konkretnog posla 

ć

ete imati u fazama koje slijede, a kvalitetno 

planiranje 

ć

e doprinijeti ukupno boljem rezultatu. 

Cjelokupno planiranje možemo podijeliti u dvije faze: osnovno planiranje u kojem 
"profilirano" sajt i planiranje dizajna, u kojem na osnovu tih informacija planiramo 
njegov izgled. Druga faza je bliža implementaciji - samom procesu izgradnje sajta. 

 

19.1. Profiliranje 

Prije svega, potrebno je definisati šta želite posti

ć

i svojom pojavom na Internetu? 

Postoji puno razloga zbog kojih možete odlu

č

iti "i

ć

i online"; od li

č

ne prezentacije 

ili objave portfolija, na koju se može odlu

č

iti svaki Internet korisnik ili 

profesionalac u nekom poslu (slobodni dizajner/umjetnik, novinar i sl.), do 
prezentacije firme ili 

č

ak ponude odre

đ

enih usluga ili aplikacija, što zna

č

i da 

ć

ete 

Internet iskoristiti kao poslovnu alatku.  

Sve mogu

ć

nosti su tu, a na vama je da izaberete ono što želite. Ovdje 

ć

u odmah 

upozoriti da posjedovanje web sajta košta i da dobro razmislite da li vam se isplati. 
Jer, "tr

č

ati pred rudu" i napraviti sajt po svaku cijenu, a potom ga ne osvježavati, 

pogrešan je pristup i antireklama, pa ga izbjegavajte. Na žalost, doma

ć

i je web pun 

ovakvih loših primjera. 

Od razloga zbog kojeg 

ć

ete napraviti sajt zavisi sve što dolazi poslije: izbor 

tehnologije koju 

ć

ete koristiti u njegovoj izgradnji, izbor web hosting provajdera, 

pa na kraju i sam pojavni oblik, dizajn sajta. Jer, svima je jasno da 

ć

e se stranica 

li

č

nog predstavljanja znatno razlikovati od prezentacije firme, web pretraživa

č

a  ili 

web prodavnice, kako u dizajnu, tako i u korištenim tehnologijama. To na kraju 
najviše uti

č

e na kona

č

nu cijenu.  

 

19.2. Planiranje dizajna 

Nakon što ste odlu

č

ili kakav sajt želite imati, ulazite u drugu, konkretniju fazu. A u 

njoj je najbitnije pravilno struktuirati sajt i odrediti koje informacije 

ć

ete na njemu 

ponuditi. Svaki web sajt zasniva se na strukturi foldera, gdje svaki folder 
predstavlja jednu sekciju u koju se smještaju web stranice sa sadržajem. Ve

ć

sajtovi mogu imati puno sekcija, pa 

č

ak i podsekcije, što zavisi isklju

č

ivo od 

koli

č

ine ponu

đ

enih informacija i dokumenata. U našim uslovima, najvjerovatnije je 

da 

ć

ete završiti samo sa sekcijama. 

Najbolji prijatelji u ovoj fazi bi

ć

e vam dobri stari "analogni" papir i olovka. 

Razmislite malo i skicirajte na papiru strukturu, odnosno podijelite informacije u 

background image

Programiranje za Internet 

 

263 

19.3.2. Fontovi 

Fontovi su divna stvar, 

č

ije ljepote na žalost gotovo nikako ne možemo iskoristiti 

na Internetu. Kako nijedan korisnik nema instalirane iste fontove, to se pri izradi 
web stranica moraju koristiti samo oni za koje ste sigurni da su prisutni na svakom 
ra

č

unaru. Ovo obi

č

no sužava izbor na Arial, Times New Roman, Verdana i Courier 

New. Iako su prve specifikacije HTML-a predvidjele da browser odabire fontove, a 
dizajner samo bira vrstu (neproporcionalni, serif i sans serif), ovo se slabo koristi, 
jer ve

ć

ina dizajnera želi da ima što ve

ć

u kontrolu nad onim što 

ć

e biti prikazano na 

korisnikom ra

č

unaru. Zbog toga vodite ra

č

una koje 

ć

ete fontove koristiti. Naslove i 

neke detalje za koje vam treba neki ki

č

asti font koji imate samo vi (i vaš prijatelj) 

prikažite kao slike, ali umjereno zbog ve

ć

e spomenutih razloga. 

 

19.3.3. Navigacija 

Bitan element svakog web sajta i stranice je navigacija. Pod navigacijom se 
podrazumijeva skup linkova, predstavljen tekstualno ili grafi

č

ki, koji su u svakom 

trenutku prisutni i mogu odvesti na glavne dijelove sajta. Sa svake podstranice 
treba biti dostupna svaka druga sekcija i jasno naglašena mogu

ć

nost povratka na 

prethodnu ili osnovnu stranicu. Iz ove definicije mogu se zaklju

č

iti osobine koje 

navigacija treba da posjeduje. Neprimjenjivanje svih pravila dovodi do konfuznog 
sajta i lošeg snalaženja u njemu. 

Na svakoj stranici mora se nalaziti identi

č

na navigacija, koja 

ć

e uvijek stajati na 

istom mjestu. Uvijek mora sadržavati linkove na ili sve ili glavne sekcije sajta. 
Navigacija mora biti uo

č

ljiva, ali ne prenapadna da odvla

č

i pažnju korisnika od 

sadržaja. Naj

č

ć

e se koriste boje kontrastne ostatku stranice. Iako se ovo ne mora 

uvijek striktno odnositi na navigaciju, korisnik uvijek mora biti u stanju pri prvom 
pogledu na stranicu znati koja je to stranica i na šta se odnosi. Ovo se naj

č

ć

e radi 

druga

č

ijim izgledom linka na navigaciji na željenu stranicu (koji više nije link). 

Navigacija se naj

č

ć

e smješta u lijevu ili gornju stranu: Dosta rje

đ

e sre

ć

emo 

rješenja navigacije s desne ili donje strane. Iako nema nekog pravila o tome kada 
staviti navigaciju na neko mjesto, ponekad neke stvari ne možemo izbje

ć

i. Za 

veliki broj linkova preporu

č

uje se smještanje navigacije u lijevu ivicu zbog puno 

više mjesta. Ako vam treba više sistema navigacije - jedan primami za cijeli sajt i 
jedan sekundami  koji 

ć

e biti prisutan samo na odre

đ

enom skupu strana (jednoj 

rubrici), primarna navigacija se smješta uz gornju ivicu, a sekundama (kontekstno 
zavisna) uz lijevu ivicu. Kao što smo ve

ć

 naveli, nekog pravila kojeg bi se trebalo 

pridržavati nema, pa ako ste nesigurni - eksperimentišite! 

Preporu

č

ljivo je da korištenjem neke tehnologije navigacija uvijek bude u jednoj 

datoteci koja 

ć

e se uvijek prikazivati na stranici putem razli

č

itih tehnologija 

(server-side include, okviri...) 

 

Programiranje za Internet 

 

264 

19.4. Izgradnja: sklapanje sadržaja u cjelinu 

Suprotno popularnom mišljenju, dizajniranje sajta je tek pola (ili 

č

ak manje) posla. 

Zavisno od dizajna i tehnologija koje se odlu

č

ite primijeniti, sklapanje svih slika, 

tekstova, skripti, opcionalno baza, CSS datoteka i mnogo

č

ega drugoga može biti 

velik problem i postati no

ć

na mora. 

Spremili ste sve slike i tekstove koje 

ć

ete izbaciti na sajt, razradili dizajn i sada to 

želite preto

č

iti u oblik koji 

ć

e browser prikazati. Iako nije neophodno, jako je 

preporu

č

ljivo napraviti dobru strukturu foldera po kojima 

ć

ete razmještati datoteke. 

Slike dobijaju svoj folder, svaka rubrika sajta svoj folder. Ako planirate imati više 
razli

č

itih CSS datoteka sa razli

č

itim stilovima, napravite poseban folder za njih. 

Tako umnogome olakšavate sami sebi snalaženje, a i drugim korisnicima 
ažuriranje podataka na sajtu. 

Pretpostavit 

ć

emo da ste ve

ć

 napravili neku bitmap sliku koja sadrži osnovni izgled 

svih vaših stranica, te sve grafi

č

ke elemente koje 

ć

ete koristiti na njima. Ukoliko to 

niste uradili, preporu

č

ujem da to u

č

inite. Dizajn sajta najbolje je raditi u nekom od 

vektorskih alata, poput CorelDRAW-a ili Illustrator-a, jer je lakše. Tek kada ste 
potpuno zadovoljni izgledom stranice unutar nekog grafi

č

kog programa, pre

đ

ite na 

pravljenje HTML-a. 

Prije nego po

č

nete ovaj proces, odlu

č

ite koje 

ć

ete sve tehnologije koristiti. Da li 

isklju

č

ivo tabele, okvire, slojeve.... Sve ima svoje prednosti i mane. Nakon toga u 

grafi

č

kom programu prvo napravite svu grafiku. Uvijek je bolje staviti više manjih 

slika nego jednu ve

ć

u. Postiže se brže u

č

itavanje, posjetilac ima osje

ć

aj da se nešto 

dešava i - što je najbitnije - mogu se koristiti razli

č

iti formati zapisa, što pravilnom 

primjenom umnogome smanjuje veli

č

inu i poboljšava kvalitet. 

Nakon toga, napravite osnovni šablon (template) po kojem 

ć

ete praviti sve ostale 

(pod)stranice. Time postižete konzistentnost, što je bitno kod web sajta, da bi on 
ostavio dojam kompaktnosti i da bi posjetilac prilikom istraživanja po njemu uvijek 
znao na kojem dijelu se nalazi. 

Ako imate neke dijelove koji se ponavljaju (npr. navigacija, spisak linkova), 
gledajte da oni stoje u jednoj datoteci koju 

ć

ete poslije samo pozivati, upotrebom 

okvira, server-side include naredbi, razli

č

itih skripti i sl. Dosta 

ć

ete olakšati 

održavanje, naknadno ažuriranje podataka, ispravljanje grešaka... 

Kada završite proces izgradnje kostura sajta, sa

č

uvajte ga negdje, kao šablon, a tek 

nakon postojanja rezervne kopije po

č

nite "punjenje" podacima. Dok se ovo može 

č

initi glupo kod pravljenja manjih sajtova, svaka nadogradnja, dodavanje novih 

sadržaja može po

ć

i po zlu. Zato je rezervna kopija nešto što može uštediti puno 

živaca. 

Napravili ste sajt upotrebom raznih alata i tehnologija, sada osigurajte da web 
server podržava sve tehnologije koje se na njemu koriste. ASP, server side 
scripting i sl. moraju biti podržane i ispravno konfigurisane da bi radile. Zavisno od 
servera i datoteka, mogu

ć

a su ograni

č

enja na imena datoteka koja 

ć

ete koristiti 

background image

Programiranje za Internet 

 

266 

korištenu rezoluciju, a ona iznosi 800x600. Prakti

č

no, širina tabele u kojoj je 

smješten sadržaj ne smije prelaziti 770 piksela. Ako ho

ć

ete da budete sigurni da se 

stranica ispravno prikazuje i na manjim rezolucija,a širina tabele treba biti 
prilago

đ

ena rezoluciji 640x480, odnosno ne smije prelaziti 600 piksela. 

Drugi pristup je korištenje tabele sa relativnom širinom, pri 

č

emu se sadržaj 

prilago

đ

ava veli

č

ini prozora browsera. 

Oprezni trebate biti i kod izbora prave veli

č

ine fonta, jer ako izaberete premalen 

font, na ve

ć

im rezolucijama može biti ne

č

itak. Ra

č

unajte i da 

ć

e kompletna stranica 

izgledati manja na ve

ć

im rezolucijama. 

Zbog svega ovoga se ne može dati neko generalno pravilo, ve

ć

 samo treba 

prilagoditi stranicu korisnicima kojima je namijenjena. Zato uvijek isprobajte sve. 

 

19.4.3. Podloge 

HTML omogu

ć

ava da se mali ponavljaju

ć

i uzorci (pattem) mogu postavljati u 

podlogu stranice. To su obi

č

no mali GIF ili JPEG dokumenti (32x32 ili 64x64 

piksela) koji se brzo u

č

itavaju i mogu poboljšati izgled sajta. Zahvaljuju

ć

i CSS-u, 

mogu

ć

e je posti

ć

i da se slika pojavi samo jednom ili da se ponavlja samo 

horizontalno ili vertikalno (duž  x ili y - ose). 

Budite pažljivi, jer prejak uzorak može tekst iznad njega u

č

initi ne

č

itkim. Koristite 

svjetlija pisma na tamnijim podlogama i obrnuto. Je, ne zaboravite - 

č

itljivost je 

najbitnija! 

 

19.4.4. GIF ili JPEG? 

Dva se grafi

č

ka formata koriste na Internetu: JPEG i GIF. JPEG je format s 

gubitkom (lossy) - radi postizanja što manje veli

č

ine datoteke, žrtvuje se odre

đ

ena 

koli

č

ina informacija (kvalitet slike). Veli

č

ina slike je obrnuto proporcionalna 

kvalitetu. GIF nije format s gubitkom (non-lossy), pa 

č

uva sve informacije uz 

kompresiju. Zbog toga GIF naj

č

ć

e ima puno lošiju kompresiju. Pored toga, ima 

ograni

č

en broj boja koje može 

č

uvati (maksimalno 256). Najbolje 

ć

e poslužiti za 

slike s malo boja ili slike male veli

č

ine. Pod ovim podrazumijevamo razne 

logotipe, natpise i sl. GIF posjeduje još jednu korisnu osobinu: transparentnost. 
Proglasimo jednu boju za providnu i umjesto nje se u browseru prikazuje ono što se 
nalazi ispod slike. 

JPEG je puno pogodniji za fotografije i ve

ć

e slike s puno boja, kod kojih GIF ne 

može puno u

č

initi. Najuo

č

ljiviji artifakti kod JPEG formata su na finim tonskim 

prelazima iz jedne boje u drugu. Zato, zlatno pravilo kod dizajna - eksperimentišite 
i pogledajte prije finalnog objavljivanja! 

 

Programiranje za Internet 

 

267 

19.4.5. Web tehnologije 

Okviri (frames) 

Najkontroverznije pitanje na koje možete nai

ć

i prilikom planiranja (i kasnije 

izgradnje) sajta sigurno su okviri. Pomo

ć

u njih se u istom prozoru browsera mogu 

prikazati dvije ili više HTML datoteke, ali tako da zajedno 

č

ine jednu cjelinu. 

Okviri se naj

č

ć

e koriste za navigaciju, pri 

č

emu se u neki od njih smješta HTML 

dokumenti koji sadrži navigaciju: Tehni

č

ki - radi se o jednom HTML dokumentu u 

kojem je opisan na

č

in na koji je podijeljen prozor browsera, te pokaziva

č

 na druge 

HTML dokumente koji se u

č

itavaju u svaki od okvira. 

Prednost okvira je što je navigacija cijelo vrijeme dostupna posjetiocu stranice 
(u

č

itana je u jedan od okvira), a ako sadrži puno grafike, štedi se propusnost i 

dobija na brzini u

č

itavanja. Negativne strane su što programi koji prijavljuju 

stranice na Internet pretraživa

č

e (nazivaju se botovi) mogu prijaviti samo neku 

dokument stranicu, pa je mogu

ć

e da prilikom pretrage posjetilac dobije samo 

stranicu dokumenta, bez navigacije. I na kraju - pošto je HTML sa navigacijom 
cijelo vrijeme u

č

itan, dosta je teško posti

ć

i da linkovi ozna

č

avaju sekciju sajta na 

kojoj se nalazite, pa treba izabrati neki drugi na

č

in. 

Okvire treba koristiti samo kada je neophodno - kada dizajn zahtijeva da cijelo 
vrijeme imate u

č

itanu navigaciju. Korisni su kod sajtova koji nude puno sadržaja, 

jer se ubrzava u

č

itavanje i olakšava kretanje po sekcijama i dokumentima. 

Slojevi (layers) 

Ovo nema nikakve sli

č

nosti sa layerima iz Photoshop-a ili Fireworks-a. Rije

č

 je o 

okviru koji možemo smjestiti bilo gdje na stranici i kome možemo dati razli

č

ita 

svojstva, a u njega staviti bilo koji sadržaj. Ovo omogu

ć

ava dizajnerima veliku 

slobodu, ali na žalost, zbog lošije podrške me

đ

u starijim browserima, layere nije 

preporu

č

ljivo uvijek koristiti. Neki browseri uopšte ne prikazuju layere, neki ih 

nisu u stanju složiti kako je to zadano... Za neke stvari su neizbježni (padaju

ć

meniji, recimo), no nastojte da njihovu upotrebu svedete na minimum zbog 
problema sa kompatibilnosti. Vremenom 

ć

e ovi problemi nestati, što 

ć

e upotrebu 

layera u

č

initi 

č

ć

om. 

Server-side include (SS) 

Radi se o tome da se odre

đ

eni HTML dokument pohrani na serveru jednostavnom 

"include" komandom uklju

č

uje unutar drugog HTML dokumenta. I ova tehnologija 

se naj

č

ć

e koristi za navigaciju, ali se može koristiti i za prikaz dijelova sajta koji 

se 

č

esto mijenjaju. Na ovaj na

č

in izbjegavate promjenu "glavnog" HTML sa 

servera), ve

ć

 mijenjate samo pomenuti dokument, što u pojedinim situacijama 

može olakšati administriranje i osvježavanje sajta. Za programere, rije

č

 je o 

obi

č

noj include naredbi poznatoj u svakom programskom jeziku. Unutar HTML 

datoteke ubaci se link  

<!- #include virtual="ime datoteke"-!> 

background image

Programiranje za Internet 

 

269 

"vrti" neki Unix, naj

č

ć

e Linux ili neki BSD. Ovo je ujedno najbitnije pitanje koje 

morate razlu

č

iti.  

Ve

ć

ina doma

ć

ih web hostinga provajdera nude razli

č

ite hosting "pakete" - 

odre

đ

enu koli

č

inu megabajta, odre

đ

eni broj e-mail adresa, podršku za razli

č

ite 

tehnologije i skripting jezik. Bitno je da provajder nudi neki na

č

in uvida u statistiku 

(najbolje preko web browsera) posjeta sajta, te da su podržane tehnologije koje ste 
koristili na sajtu. Cijene su razli

č

ite, pa 

ć

ete prema veli

č

ini sajta procijeniti šta vam 

stvarno treba. Pojedini provajderi u paketu nude i registraciju domene. 

Najbitnija stvar, koju ne

ć

ete saznati iz cjenovnika, je podrška. Ako imate važan sajt 

na kojem objavljujete puno novosti i drugih informacija, ne smijete dozvoliti ni sat 
njegove neprisutnosti na Internetu. Zato je bitno da tehni

č

ko lice iz web presence 

provajdera uvijek bude dostupno, bez obzira na doba dana ili no

ć

i. Ovo je teško 

saznati, ali je najbolje raspitati se kod drugih koji ve

ć

 koriste usluge odre

đ

ene 

firme. Na kraju krajeva, ako ve

ć

 nekoga i izaberete, iz iskustva 

ć

ete znati da li je 

njihov odnos dovoljno poslovan, a provajdera uvijek možete promijeniti. 

Za ve

ć

inu doma

ć

ih sajtova zbor nije toliko kriti

č

an. Ve

ć

ina provajdera 

ć

e ispuniti 

o

č

ekivanja i pokriti potrebe, pa onda ostaje da sinhronizujete potrebe sa ponudom. 

 

19.6. Izbor domene 

Ako surfate po doma

ć

em web prostoru, sigurno ste primijetili sajtove sa 

č

udnim 

domenama. Izbjegavajte ovaj pristup! Domena je naziv po kojem 

ć

e neki posjetilac 

na

ć

i vašu stranicu. Ukucava se u URL polje u browseru, pa je bitno da bude što 

kra

ć

e (smanjuje mogu

ć

nost greške) i da jasno opisuje namjenu sajta. Za firme, 

najbolje je da oslikava njen naziv, a za projekte, potražite najkra

ć

u mogu

ć

u rije

č

 

koja i dalje asocira na dati projekat. Primjer dobrih imena domena su; trazi.com, 
bosnia.ba, nt.ba i sl. 

Za razumijevanje domena klju

č

no je shvatiti da se pod domenom naj

č

ć

podrazumijeva ime tipa "mojafirma.ba". Dok je "mojafirma" proizvoljno ime koje 
vi birate (ako nije zauzeto). Zadnji desni dio imena (iza ta

č

ke) predstavlja 

takozvanu Top Level Domenu. TLD domene su: .com, .net, .gov, .org, .infom, 
.museum i neke druge. Postoje još jedan tip Top Level Domen-a, a to su državne 
domene. Za BiH, nacionalni nastavak je .ba i treba ga što više koristiti, posebno za 
lokalne firme, projekte, predstavljanje lokalnih informacija i sl. .hr je naravno 
Hrvatska, .si Slovenija, .de je Njema

č

ka itd. 

Domena .com dolazi do "commercial" i ozna

č

ava sve komercijalne projekte. Ovaj 

nastavak treba koristiti samo ukoliko se sajtom obra

ć

ate globalnoj Internet 

populaciji - ako ste firma koja usluge/proizvode nudi na me

đ

unarodnom nivou. 

Ostali nastavci koriste se za odre

đ

ivanje vrste organizacije koja stoji iza sajta ili 

vrste sajta. Sajtovi državnih institucija 

ć

e imati .gov nastavak (od eng. Government 

= vlada), .org 

ć

e koristiti razli

č

ite organizacije i sl. 

Programiranje za Internet 

 

270 

Da bi ipak uz vrstu sajta vezali pripadnost državi, nastale su kombinacije. Doma

ć

državne institucije trebale bi koristiti gov.ba domen, doma

ć

e organizacije org.ba 

domen i sl. iz kojih je jasna namjena sajta i pripadnost odre

đ

enoj državi. 

 

19.7. Prijavljivanje na pretraživa

č

Kona

č

no ste završili web sajt u koji ste uložili dosta vremena i truda, postavili ga 

na neku Internet lokaciju, ali niko ga ne posje

ć

uje. Niko uopšte ne zna da on 

postoji. Jeste li ga prijavili na web pretraživa

č

e?  

Zamislite sljede

ć

u situaciju: proteklih mjesec dana svu svoju energiju, vrijeme i 

novac uložili ste u pravljenje web sajta. On je kona

č

no tu, završen i spreman za 

start. Postavili ste ga na web, temeljito testirali i otklonili sve "404-file not found" 
greške, sredili uvodnu stranicu koja izgleda poput crvenog saga prostrtog ispred 
posjetitelja koji samo što nisu stigli. Ali, nakon po

č

etnog oduševljenja dolazi 

razo

č

arenje - niko ne posje

ć

uje vaš sajt!? Odnosno, niko osim vaše rodbine i 

prijatelja. Šta ste krivo napravili? Ne svi

đ

a im se dizajn? Ne. Sadržaj nije dovoljno 

zanimljiv? Ne. Naslovnica je prenapadna? Ne. Stranice se predugo u

č

itavaju? Ne. 

Pa šta je onda problem? 

Niko uopšte i ne zna za vaš sajt! Me

đ

u doslovce milijardama stranica koje postoje 

na Internetu i hiljadama koje se svakodnevno prave, šanse da ljudi posjete vašu 
web lokaciju tek onako, bez nekog specifi

č

nog razloga i povoda, tako su malene da 

je o njima smiješno i govoriti. Potrebno je, dakle raširiti informaciju o vašem 
novootvorenom web sajtu, o tome gdje se on nalazi i šta nudi. Potrebno je 
omogu

ć

iti surferima da saznaju za vas. 

Prema podacima kompanija koje se bave Internet istraživanjima tržišta, 50% do 
80% surfera za pronalaženje web sajtova koristi Internet pretraživa

č

e. Druga

č

ije 

re

č

eno, 

č

ak do 80% posjetitelja koji, barem u po

č

etku, posjete vaš sajt pronašli su 

ga preko nekog od velikog broja Internet pretraživa

č

a. Takva situacija je 

najlogi

č

nija, obzirom da je osnova svrha Altaviste, Googlea i drugih upravo to - 

indeksiranje ogromnog broja stranica i omogu

ć

avanje surferima da do

đ

u do njih. Iz 

toga nije teško zaklju

č

iti da je vaš primarni zadatak, nakon postavljanja web sajta 

na Internet, njegovo prijavljivanje na što ve

ć

i broj pretraživa

č

a. 

 

19.7.1. Meta tagovi 

Ve

ć

ina Internet pretraživa

č

a ima robota (ili bota), skriptu 

č

iji je osnovni (i jedini) 

zadatak da "surfa" po web stranicama širom Interneta i prikuplja podatke o njima. 
Kasnije se ti podaci obra

đ

uju i ubacuju u bazu podataka pretraživa

č

a, gdje postaju 

dostupni svima za pretragu. Bitna stvar za vas, kao autora tek postavljenog i 
nepoznatog web sajta, jesu upravo podaci koje roboti prikupljaju o web stranicama. 
Iako to varira od robota do robota, naj

č

ć

i podaci su URL (adresa web sajta), 

veli

č

ina stranica, datum zadnje izmjene i sadržaj TITLE i META tagova. 

background image

Programiranje za Internet 

 

272 

19.7.2. Prijava na pretraživa

č

Roboti i automatsko dodavanje na pretraživa

č

e su odli

č

na stvar, samo što su o

č

ajno 

spori - zbog ogromnog broja novih stranica nekada zna pro

ć

i i godinu dana dok 

robot ne obi

đ

e vašu stranicu i uvrsti je u bazu podataka. A vi ste upravo postavili 

vaš sajt i želite dovu

ć

i posjetitelje odmah, a ne za nekih godinu dana. Na sre

ć

u, 

svaki od pretraživa

č

a i web direktorija omogu

ć

ava ru

č

no dodavanje sajtova u baze. 

Na nešto manju sre

ć

u (da ne kažem na nesre

ć

u), danas postoji puno pretraživa

č

a i 

teško je na svaki od njih ru

č

no dodavali sajt. 

Rješenje za to su "Submittion services" - servisi za prijavu web stranica na 
pretraživa

č

e. Obzirom da su podaci koji se upisuju prilikom prijave na razli

č

ite 

pretraživa

č

e dosta sli

č

ni, ljudi su se dosjetili da bi bilo korisno (i profitabilno) 

napraviti skriptu koja bi jednom unesene podatke proslijedila ve

ć

em broju 

pretraživa

č

a. Tako jednim udarcem ubijete nekoliko (desetina) muha, ali i ostanete 

lakši za odre

đ

enu svotu novca. Danas postoji dosta ovakvih servisa, me

đ

u kojima 

vam barem polovica (ako ne i ve

ć

ina) ne

ć

e naplatiti ništa za te usluge. Naravno, 

komercijalni servisi su kvalitetniji i obuhva

ć

aju više pretraživa

č

a, a nisu pretjerano 

skupi. Zato ih preporu

č

ujem za promociju web sajtova koji bi trebali donositi 

svojim kreatorima profit. Za li

č

ne i nekomercijalne web sajtove 

ć

e sasvim dovoljan 

biti neki besplatan servis za prijavu:  

 

GetSubmitted  
http://www.getsubmitted.com 

Ovaj sajt nudi besplatnu prijavu vašeg sajta na veliki broj pretraživa

č

a uz 

minimalan trud (samo upisivanje potrebnih podataka i klik na dugme) ali i više od 
toga. Da biste mogli koristiti ovu uslugu, potrebno se prethodno registrovati (što je 
besplatno). Nakon registracije dobijate pristup administratorskom dijelu unutar 
kojeg se, pored skripte za prijavu sajtova na pretraživa

č

e, nalazi i obimna 

dokumentacija koja 

ć

e vam biti od pomo

ć

i pri promociji. Analizator meta tagova 

ć

e pomo

ć

i svima koji se žele provjeriti ispravnost meta tagova na svom sajtu. 

Posjedujete li više web sajtova, GetSubmmitted 

ć

e vam se svidjeti, jer nudi 

mogu

ć

nost prijave više sajtova, kao i postavljanje remindera glede termina prijave 

(recimo, svake 3-4 sedmice želite ponovo prijaviti web sajt, jer nije ušao u izbor 
mnogih pretraživa

č

a). 

 

AddMe 
http://www.addme.com 

AddMe 

ć

e zanimati gotovo svakog webmastera, jer pored servisa za prijavu  na 

pretraživa

č

e nudi i niz drugih usluga. Recimo, ovdje možete pro

č

itati tekstove koji 

se ti

č

u promocije na webu, ali i vo

đ

enja poslovnih sajtova i uspješne prodaje 

proizvoda preko Interneta. Treba li vam besplatna statistika, ova se adresa 

č

ini 

dobrim izborom. Ako ne znate sami ispisati meta tagove koji 

ć

e optimalno 

"predstaviti" vaše stranice robotu, kliknite naMeta Tags Generator link u glavnom 

Programiranje za Internet 

 

273 

meniju. Za postavljanje web shopa na sajt ne treba vam mnogo novaca i truda - sve 
potrebno na

ć

ć

ete ovdje!  

 

JimTools 
http://www.jimtools.com 

Poput prethodno opisanog sajta, JimTools 

ć

e ponuditi više od puke prijave na 

pretraživa

č

e. Prije svega, možete pro

č

itati tutorijal o kreiranju pravilnih meta 

tagova ili koristiti njihov alat za pravljenje meta tagova. Nakon toga, Jim nudi 
prijavu na 42 pretraživa

č

a, 144 web direktorija i 1160 FFA stranica. Istina, ve

ć

ina 

tih lokacija nisu tako popularne i ne

ć

e vam možda donijeti niti jednu posjetu, ali 

obzirom na vaše vrijeme i trud koji iziskuje, alat je više nego dobar. 

Aklo želite vidjeti koliko je vaš sajt popularan, odnosno koliko se drugih sajtova 
linkuje na njega, preporu

č

ujem Link Popularity Analyzer. Position Tools 

ć

e vam 

re

ć

i kako sajt stoji na glavnim pretraživa

č

ima i web direktorijima. Sve u svemu, 

sajt vrijedan posjeta. 

 

Website Promotion Center 
http://www.submit-away.com 

Kako naslov kaže, ovaj sajt teži da bude centar za vašu promociju na webu. Ne

ć

ete 

tamo na

ć

i skriptu koja 

ć

e vam omogu

ć

iti prijavu na popularne pretraživa

č

e, mada 

bi se to možda od sajta sa ovakvim imenom o

č

ekivalo: Ali 

ć

ete zato nai

ć

i na 

vrijedne informacije i linkove koji 

ć

e vam  biti od velike pomo

ć

i. Koje su prednosti 

i nedostaci manualne (ru

č

ne) i automatske prijave na pretraživa

č

e? Šta sve trebate 

raditi, a šta ne smijete raditi prilikom promovisanja sajta? Koje greške treba 
izbjegavati po svaku cijenu? Odgovore na ova pitanja možete prona

ć

i na gore 

navedenoj adresi. 

Posebno treba izdvojiti 

č

ak 600 mjesta, odvojenih u kategorije, na koje možete 

prijaviti sajt. Naravno, to 

ć

ete morati u

č

initi ru

č

no, ali su sajtovi lijepo opisani, 

tako da možete izabrati one koji vam najviše odgovaraju. 

Iako 

ć

e vam spomenuti servisi omogu

ć

iti prijavu na Yahoo i druge  velike web 

diektorije (recimo Open Directory), mnogo je preporu

č

ljivije u ovim slu

č

ajevima 

ru

č

no se prijaviti. Razlog za to treba tražiti u 

č

injenici da je nemogu

ć

e automatski 

optimizirati prijavu na Yahoo za sve sajtove (jer svaki sajt ima specifi

č

nosti), a 

ispravno popunjen obrazac za prijavu na Yahoo 

ć

e vam kasnije donijeti barem 30% 

od ukupnih posjeta sa svih pretraživa

č

a. Još jedna stvar je bitna, a zove se vrijeme. 

Pravilno ispunjena i optimizirana prijava na Yahoo 

ć

e vas dovesti u ovaj direktorij 

za oko tri sedmice (ako niste znali, ovaj vjerovatno najve

ć

i web direktorij na 

Internetu je ru

č

no administriran). 

 

 

 

background image

Programiranje za Internet 

 

275 

polje za komentar, u kome trebate upisati sve što bi moglo pomo

ć

i osoblju koje 

pregleda sajtove, a tako indirektno pomo

ć

i i vama da što prije budete primljeni. 

Još jedna važna stvar je da Yahoo sortira sajtove u kategorijama po abecednom 
redu. Obzirom da kategorije znaju biti prili

č

no pune, sajt koji po

č

inje sa brojem ili 

nekim od prvih slova abecede 

ć

e imati više klikova od nekog koji po

č

inje sa 

recimo slovom Z. Ako ve

ć

 ne možete mijenjati naziv sajta, preporu

č

ujem da 

izaberete kategoriju sa što manje sajtova u njoj. 

Naziv, opis i URL su informacije po kojima Yahoo pretražuje sajtove u bazi, što ih 

č

ini najvažnijima. Obratite posebnu pažnju na njih, posebno na opis. Pokušajte da 

on bude fino složena re

č

enica, sa što više klju

č

nih rije

č

i koje odgovaraju sajtu. 

Lista klju

č

nih rije

č

i odvojenih zarezom ne

ć

e pro

ć

i na Yahoo-u. 

 

19.7.4. Doma

ć

i pretraživa

č

Sve iznijete informacije vrijede za strane web pretraživa

č

e, dok 

ć

ete se na doma

ć

morati ru

č

no prijavljivati. Na sre

ć

u (ili nesre

ć

u, prosudite sami), njih nema mnogo, 

tako da vam prijava novog sajta na sve važnije doma

ć

e pretraživa

č

e ne

ć

e oduzeti 

više od sat vremena. Što je prili

č

no isplativa investicija, posebno ako pravite sajt 

č

iji je sadržaj namijenjen ili bi mogao biti interesantan posjetiteljima iz BiH. 

Obzirom da se sli

č

ni jezici koriste u isto

č

nom i zapadnom susjedstvu, radi 

postizanja ve

ć

e popularnosti preporu

č

ujem prijavljivanje i na najpopularnije 

pretraživa

č

e u susjednim zemljama (Hrvatska, Srbija, Crna Gora). 

Neki doma

ć

i pretraživa

č

i: 

 

http://www.pogodak.ba 

 

http://www.trazi.com/  

 

http://dir.bosnia.ba/  

 

http://www.bosnia-online.com/  

 

http://www.bosnia.com  

 

19.8. Održavanje sajta 

Za osnovno održavanje sajta koje bi uklju

č

ivalo neke male izmjene na tekstu, 

pravljenje nekih novih stranica na osnovu šablona (template), mijenjanje cijena i 
sli

č

no, nije potrebno neko veliko znanje, tako da je ovaj vid održavanja, na Zapadu 

nazvan i self-maintenance, popularan, jer je pogodan za male i srednje firme. Još su 
dva velika razloga popularnosti ovog vida održavanja: novac i kontrola. 
Održavanje sajta je posao koji rijetko ko voli i zbog toga se od strane 
profesionalaca masno napla

ć

uje, što za male firme nije povoljno. S druge strane, 

Programiranje za Internet 

 

276 

ve

ć

ina ljudi voli da ima kontrolu nad svojim drugim "ja" na Webu i želi da pravi 

izmjene kad ho

ć

e i koliko ho

ć

e, a da ne mora svaki 

č

as zvati druge u pomo

ć

Stranice je potrebno redovno održavati. Ružno je da posjetioci do

đ

u na stranicu i 

tamo zateknu rije

č

i: "zadnje osvježavanje: 23.maj 1997". Redovnost brige o 

stranici pokazuje da li se njen vlasnik brine o svojim posjetiocima i da li se trudi da 
im uvijek dostavi najsvježiji mogu

ć

i sadržaj. Zato - naglasak na redovnost i to na 

dnevnoj bazi! 

Važno je ve

ć

 u procesu planiranja stranice prilagoditi je kasnijem održavanju. 

Stoga web dizajneri, obratite pažnju! Da li je stranica koju ste napravili laka za 
izmjene? Da li je lako na nju dodavati tekst i slike? Nemojte da sami sebi u po

č

etku 

zagor

č

ate život time što 

ć

ete poslije gubiti sate na održavanju. Ali isto tako, 

ukoliko ne

ć

ete biti zaduženi za održavanje (što je najvjerovatnije), zapitajte se ho

ć

li se taj koji  

ć

e naslijediti stranicu od vas mo

ć

i sna

ć

i u vašem kodu? Potrudite se 

da ostavite sve 

č

isto iza sebe - to je najlakši put da zaradite poštovanje kolega. 

Jedan od osnovnih zadataka je povratna informacija (feedback). Nakon što 
postavite sajt online, dobijat 

ć

ete masu e-mailova, na koje neizostavno morate 

odgovarati, što spada u aktivnosti održavanja. Ovo je posebno važno za vlasnike 
komercijalnih sajtova. Jedno istraživanje u SAD pokazalo je da prosje

č

ni korisnik, 

nakon što pošalje e-mail sa pitanjem, o

č

ekuje bilo kakav odgovor u roku od 1 sat! 

Stoga se trudite da odgovorite što brže možete. Ukoliko ne možete sti

ć

i da 

odgovorite na sve, bilo bi dobro da napravite jedan šablonski tekst, koji 

ć

ete slati u 

obliku automatskog odgovora na svaki e-mail, a u kome 

ć

ete objasniti da je mail 

primljen id a 

ć

e posjetitelj konkretan odgovor dobiti 

č

im prije. Na taj na

č

in, on 

ne

ć

e ste

ć

i utisak da je zapostavljen i da govori u prazno. 

Izuzetno važno je i da nemate tzv. mrtvih linkova, posebno na druge sajtove. Zato 
se oni redovno provjeravaju i održavaju da budu što je mogu

ć

e više "up-todate". Za 

ovaj posao postoji nekoliko dobrih shareware alata, a i noviji editori imaju svoje 
alate koji provjeravaju i prijavljuju mrtve linkove. Držanje svježih i korisnih 
linkova na stranici može u

č

initi 

č

uda, dovode

ć

i ponovno posjetioce i pove

ć

avaju

ć

promet i prodornost sajta. 

Koliko god da pažljivo kucate tekst, uvijek 

ć

e se potkrasti barem nekoliko greškica 

(Murphy-jev zakon). U po

č

etnim stadijima održavanja zato je korisno pažljivo 

provjeravati tekst, tragaju

ć

i za tip-felerima. 

Kao i u svakom biznisu, ono što se od poslovnih partnera traži i cijeni je 
pouzdanost. I u održavanju sajtova, pouzdanost je važna i tražena vrlina. Kako? Na 
primjer, ako ste obe

ć

ali da 

ć

ete staviti novi sadržaj na sajt svake sedmice, potrudite 

se da to i obavite! NIKAD, nikad ne obe

ć

avajte ono što ne možete ispuniti! To ruši 

vaš ugled. 

Posjetiocu koji se ponovo, nakon nekog vremena, vra

ć

a na sajt može biti teško 

sna

ć

i se i razlu

č

iti šta je novo i šta se promijenilo od prošle posjete. Pomozite mu 

na taj na

č

in što 

ć

ete jasno ozna

č

iti nove stvari. Isto tako, razgrani

č

ite i sadržaj koji 

background image

Programiranje za Internet 

 

278 

20. Literatura 

 

[1]

 

Dario Sušanj, Dragan Petric, 

Velika knjiga o World Wide Webu, ZNAK, 

Zagreb, 1996, ISBN: 953-189-015-3

 

[2]

 

Peter Aitken, Phil Syme., Sams Teach Yourself Visual Basic .NET Web 
Programming in 21 Days, ISBN: 978-0-672-32236-5; 2001;  

[3]

 

Khristine Annwn Page, Macromedia Dreamweaver MX: Training from the 
Source Macromedia Press; 2002, ISBN: 0201799294 

[4]

 

H. M. Deitel, P. J. Deitel, A. B. Goldberg: Internet & World Wide Web How 
to Program (3rd Edition), ISBN: 0131450913 

[5]

 

C.D. Knuckles: Introduction to Interactive Programming on the Internet: 
Using HTML and JavaScript, ISBN: 047138366X 

[6]

 

S. Bishop: Macromedia Dreamweaver 8 Revealed, ISBN: 1418843083 

[7]

 

H.E. Williams, D. Lane: Web Database Applications with PHP & MySQL, 
ISBN: 0596005431 

[8]

 

Emir Jusi

ć

, BH Webmasters, http://www.most-art.de/phptutorial/index.php 

[9]

 

Microsoft Windows Vista: Sidebar gadgets, 
http://www.microsoft.com/windowsvista/features/foreveryone/sidebar.mspx 

[10]

 

Brian Teutsch, Microsoft Sidebar for Windows Vista Beta 2, Gadget 
Development Overview, Microsoft Windows White Paper, 2006,  
http://microsoftgadgets.com/Sidebar/DevelopmentOverview.aspx 

[11]

 

č

lanci iz magazina INFO, brojevi 26, 32, 33, 47, 49, 51, 87, 90-91, 99 

 

 

 

background image

Želiš da pročitaš svih 288 strana?

Prijavi se i preuzmi ceo dokument.

Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.

Slični dokumenti