Etikete koje su do sada razmatrane omogu鎍vaju
samo da se oformi hipertekstuelni dokument koji 鎒 se razgledati
navigatorom. Ali navigator mo緀 i da prenese
podatke ka web-serveru da bi se ti podaci
tamo obradili. Ova mogu鎛ost se ostvaruje preko koncepta
formulara (ili
obrasca, engl. form).
Formular dopu箃a da se razvije sume餫 (eng. interface)
izme饀 korisnika i servera: korisnik popunjava formular i
筧lje ga ka serveru. Polaze鎖 od podataka iz formulara
vr筰 se odgovaraju鎍 obrada na serveru, a
o rezultatima korisnik eventualno biva obave箃en.
Obave箃avanje se ostvaruje
tako 箃o server generi筫 dokument u HTML-u koriste鎖
se informacijama iz formulara i vra鎍 ga korisniku
preko navigatora ili preko e-po箃e. Osnovna
razlika izme饀 razgledanja neke strane i formulara se ogleda
u tome 箃o je za "obi鑞u" hpertekstuelnu stranu dovoljno
"kliknuti" na hiper-vezu sa adresom x da bi se pre筶o sa
teku鎒g na dokument na adresi x dok se kod formulara
uspostavlja veza sa adresom x nekog programa na serveru.
Preko formulara mogu se ostvariti razli鑙te aplikacije
kao 箃o su:
Formular se implementira preko etikete
<FORM>
鑙ji je op箃i oblik:
<FORM> ... </FORM>
Etiketa <FORM>
sadr緄 dva atributa:
ACTION
koji sadr緄 adresu (URL) programa na serveru koji treba da obradi
formular ili e-mail adresu na koju treba poslati sadr綼j formulara;
METHOD
kojim je opisana metoda prenosa argumenata programa. Ovaj atribut
mo緀 imati vrednosti GET
ili POST. 萫规e se
koristi metoda POST, a predefinisana vrednost je
GET. Ako se koristi GET metod za slanje podataka iz
formulara serveru, onda vrednosti koje je korisnik uneo u formular postaju deo
URL-a, tj. dodaju se na URL koji je vrednost atributa ACTION,
iza znaka pitanja (?). Sve vrednosti iz formulara 筧lju se u obliku
parova ime_polja=vrednost_polja
pri 鑕mu se pojedina鑞e vrednosti razdvajaju znakom &. Program
koji treba da obradi podatke mo緀 da koristi sve podatke koji se nalaze iz znaka
oitanja u URL-u jer su ti podaci vrednost promenljive okru緀nja
QUERY_STRING.
Metoda GET ima
ograni鑕n broj parametara: mora va緄ti da je
du緄na URL + du緄na parametara < 1KB. Metod GET
nije siguran metod slanja pa ga ne treba koristiti za slanje lozinki, brojeva
kreditnih kartica i sli鑞ih osetljivih podataka. Po箃o se podaci 筧lju kao deo URL-a,
prikazuju se u dnevniku web servera (engl. logfile), a taj dnevnik mo緀 da
鑙ta prakti鑞o bilo ko. Metod POST je sigurniji metod slanja, i pomo鎢
njega se mo緀 poslati vi筫 podataka. Sa ovim metodom, podaci se 筧lju programu kao
ulazni tok, tj. program ih mo緀 鑙tati kao razdvajaju znakom &.to bi 鑙tao ma koje druge podatke iz
standardnog ulaznog toka. I u ovom slu鑑ju se podaci kodirani koriste鎖 URL kodiranje
i u obliku se parova ime_polja=vrednost_polja razdvojenih
znakom &.
ENCTYPE
specifikuje koji se mehanizam koristi za kodiranje sadr綼ja formuara. Predefinisna
i naj鑕规a vrednost jeapplication/x-www-form-urlencoded. Kada se
koristi ova vrsta kodiranja, slova i cifre se ne menjaju, blanko se pretvara u
znak plus (+), a ostali karakteri, interpunkcijski i specijalni znaci,
kao 箃o su tabulator i znaci navoda predstavljaju se svojim ASCII kodom %HH —
znak za procenat iza koga slede dve heksdekadne cifre koje predstavljaju ASCII
kod karaktera. Na primer, za neke 鑕规e kori规ene karaktere ovakvo kodiranje je:
| karakter | URL kodiranje |
|---|---|
| \t (tab) | %09 |
| \n (return) | %0A |
| / | %2F |
| ~ | %7E |
| : | %3A |
| ; | %3B |
| @ | %4A |
| & | %26 |
U okviru etikete <FORM> mogu se navesti i
druge etikete koje opisuju, na primer, izgled polja za unos podataka
u formularu, izgled polja za "箃rikliranje", i sl. Etikete
<FORM> se ne mogu
umetati jedna u drugu.
Zajedni鑛i atributi razli鑙tih etiketa su
name, kojim se defini筫 ime promenljive
preko koje 鎒 biti izvr筫na dodela vrednosti, i
value, koja
predstavlja ili izabranu frednost u formularu ili tekst
koji 鎒 biti prikazan (videti donje primere).
Etikete unutar formulara su:
<INPUT>:
za unos podataka sa atributom
TYPE koji opisuje
prirodu podataka koji se unose. Vrednosti ovog atributa mogu biti:
SUBMIT,
koji opisuje dugme 鑙jim se pritiskom oda筰lje sadr綼j
popunjnog formulara ka serveru. Atribut VALUE — tekst koji
se ispisuje na dugmetu:RESET,
koje postavlja sve vrednosti na formularu na predefinisane vrednosti.
Atribut VALUE — tekst koji se ispisuje na dugmetu:CHECKBOX,
koje predstavlja polja 鑙ja vrednost mo緀 (ali ne
mora) biti izabrana, a mo緀 biti izabrano i vi筫 vrednosti. Atributi:
NAME — svi ponu餰ni odgovori na isto pitanje dobijaju
isto ime, VALUE — vrednost koju dobija promenljiva
name kada je polje izabrano,
CHECKED — polje je unapred izabrano.RADIO,
koje dopu箃a da se izabere ta鑞o jedna od ponu餰nih vrednosti. Atributi su isti kao
za CHECKBOX:TEXT,
FILE ili
PASSWORD,
koje ozna鑑vaju da 鎒 podatak biti karakterska niska koju
unosi korisnik. Za atribute TEXT i
FILE, niska je vidljiva dok se za atribut
PASSWORD "maskira" predefinisanom vredno规u. Atributi: NAME
— ime koje se pridu緐je ulaznom polju, ono 箃o korisnik otkuca u ulaznom polju
bi鎒 vrednost promenljive name, SIZE
— veli鑙na ulaznog polja u broju karaktera, MAXLENGTH —
maksimalan broj karaktera koji se mo緀 uneti u ulazno polje. Uz ulazno polje tipa
FILE pojavljuje se dugme browse kojim se poziva prelista�
datoteka sa lokalnog diska korisnika prezentacije koji omogu鎍va izbor neke od njih.
Datoteka postaje vrednost promenljive name:
HIDDEN,
koje defini筫 nevidljivo ulazno polje 鑙ja 鎒 vrednost biti
poslata sa drugim vrednostima iz formulara kada se ovaj
po筧lje ka serveru kao, na primer, slede鎖 formular:
<FORM>
<input type=hidden name=ident value="08100-OEM-38069">
</FORM>
<SELECT> i
<OPTION>: polje
<SELECT> opisuje izbor izme饀 mogu鎖h vrednosti
navednih pod etiketama <OPTION>. Etiketa
<OPTION> sa atributom SELECTED se
uzima kao predefinisana vrednost. Osim ovog atributa, obavezan je atribut
VALUE, a to je vrednost koju dobija promenljiva
name kada je opcija izabrana. Etiketa
<SELECT> se realizuje kao padaju鎖 meni sa
vrednostima zadatim u okviru etiketa <OPTION>.
Atributi uz etiketu <SELECT> su:
NAME kojim se defini筫
ime promenljive preko koje 鎒 biti izvr筫na dodela vrednosti;
SIZE kojim je
opisan broj elementa u opcija koje 鎒 biti prikazane;
MULTIPLE kojim
se omogu鎍va izbor vi筫strukih opcija.
<TEXTAREA>
prikazuje tekst u klize鎒m prozoru 鑙je su dimenzije odre餰ne
atributima ROWS
(broj vrsta, redova teksta) i
COLS
(broj kolona). Atribut
NAME dodeljuje simboli鑛o ime
podru鑚u u kome se nalazi tekst.
Op箃i oblik ove etikete je
<TEXTAREA name=ime rows=n cols=m> ...
neki tekst ... </TEXTAREA>