Etikete koje su do sada razmatrane omoguæavaju
samo da se oformi hipertekstuelni dokument koji æe se razgledati
navigatorom. Ali navigator mo¾e i da prenese
podatke ka web-serveru da bi se ti podaci
tamo obradili. Ova moguænost se ostvaruje preko koncepta
formulara (ili
obrasca, engl. form).
Formular dopu¹ta da se razvije sumeða (eng. interface)
izmeðu korisnika i servera: korisnik popunjava formular i
¹alje ga ka serveru. Polazeæi od podataka iz formulara
vr¹i se odgovarajuæa obrada na serveru, a
o rezultatima korisnik eventualno biva obave¹ten.
Obave¹tavanje se ostvaruje
tako ¹to server generi¹e dokument u HTML-u koristeæi
se informacijama iz formulara i vraæa ga korisniku
preko navigatora ili preko e-po¹te. Osnovna
razlika izmeðu razgledanja neke strane i formulara se ogleda
u tome ¹to je za "obiènu" hpertekstuelnu stranu dovoljno
"kliknuti" na hiper-vezu sa adresom x da bi se pre¹lo sa
tekuæeg na dokument na adresi x dok se kod formulara
uspostavlja veza sa adresom x nekog programa na serveru.
Preko formulara mogu se ostvariti razlièite aplikacije
kao ¹to su:
Formular se implementira preko etikete
<FORM>
èiji je op¹ti oblik:
<FORM>
... </FORM>
Etiketa <FORM>
sadr¾i dva atributa:
ACTION
koji sadr¾i adresu (URL
) programa na serveru koji treba da obradi
formular ili e-mail adresu na koju treba poslati sadr¾aj formulara;
METHOD
kojim je opisana metoda prenosa argumenata programa. Ovaj atribut
mo¾e imati vrednosti GET
ili POST
. Èe¹æ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 ¹alju se u obliku
parova ime_polja=vrednost_polja
pri èemu se pojedinaène vrednosti razdvajaju znakom &
. Program
koji treba da obradi podatke mo¾e da koristi sve podatke koji se nalaze iz znaka
oitanja u URL-u jer su ti podaci vrednost promenljive okru¾enja
QUERY_STRING
.
Metoda GET
ima
ogranièen broj parametara: mora va¾iti da je
du¾ina URL
+ du¾ina parametara < 1KB. Metod GET
nije siguran metod slanja pa ga ne treba koristiti za slanje lozinki, brojeva
kreditnih kartica i sliènih osetljivih podataka. Po¹to se podaci ¹alju kao deo URL-a,
prikazuju se u dnevniku web servera (engl. logfile), a taj dnevnik mo¾e da
èita praktièno bilo ko. Metod POST
je sigurniji metod slanja, i pomoæu
njega se mo¾e poslati vi¹e podataka. Sa ovim metodom, podaci se ¹alju programu kao
ulazni tok, tj. program ih mo¾e èitati kao razdvajaju znakom &
.to bi èitao ma koje druge podatke iz
standardnog ulaznog toka. I u ovom sluèaju se podaci kodirani koristeæi URL kodiranje
i u obliku se parova ime_polja=vrednost_polja
razdvojenih
znakom &
.
ENCTYPE
specifikuje koji se mehanizam koristi za kodiranje sadr¾aja formuara. Predefinisna
i najèe¹æ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 ¹to 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¹æ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 "¹trikliranje", i sl. Etikete
<FORM>
se ne mogu
umetati jedna u drugu.
Zajednièki atributi razlièitih etiketa su
name
, kojim se defini¹e ime promenljive
preko koje æe biti izvr¹ena dodela vrednosti, i
value
, koja
predstavlja ili izabranu frednost u formularu ili tekst
koji æe 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 èijim se pritiskom oda¹ilje sadr¾aj
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 èija vrednost mo¾e (ali ne
mora) biti izabrana, a mo¾e biti izabrano i vi¹e vrednosti. Atributi:
NAME
— svi ponuðeni 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¹ta da se izabere taèno jedna od ponuðenih vrednosti. Atributi su isti kao
za CHECKBOX
:TEXT
,
FILE
ili
PASSWORD
,
koje oznaèavaju da æe 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¾uje ulaznom polju, ono ¹to korisnik otkuca u ulaznom polju
biæe vrednost promenljive name
, SIZE
— velièina ulaznog polja u broju karaktera, MAXLENGTH
—
maksimalan broj karaktera koji se mo¾e 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æava izbor neke od njih.
Datoteka postaje vrednost promenljive name
:
HIDDEN
,
koje defini¹e nevidljivo ulazno polje èija æe vrednost biti
poslata sa drugim vrednostima iz formulara kada se ovaj
po¹alje ka serveru kao, na primer, sledeæi formular:
<FORM>
<input type=hidden name=ident value="08100-OEM-38069">
</FORM>
<SELECT>
i
<OPTION>
: polje
<SELECT>
opisuje izbor izmeðu moguæih 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æi meni sa
vrednostima zadatim u okviru etiketa <OPTION>
.
Atributi uz etiketu <SELECT>
su:
NAME
kojim se defini¹e
ime promenljive preko koje æe biti izvr¹ena dodela vrednosti;
SIZE
kojim je
opisan broj elementa u opcija koje æe biti prikazane;
MULTIPLE
kojim
se omoguæava izbor vi¹estrukih opcija.
<TEXTAREA>
prikazuje tekst u klizeæem prozoru èije su dimenzije odreðene
atributima ROWS
(broj vrsta, redova teksta) i
COLS
(broj kolona). Atribut
NAME
dodeljuje simbolièko ime
podruèju u kome se nalazi tekst.
Op¹ti oblik ove etikete je
<TEXTAREA name=ime rows=n cols=m> ...
neki tekst ... </TEXTAREA>