[ 02. December 1999]
- Svato_Straka Formulßre ako vstup CGI skriptu - 4. Φas¥ CGI Predpokladßm ₧e snß∩ ka₧d² u₧ niekedy navÜtφvil strßnku vyh╛adßvaΦa Altavista. Tam hne∩ na zaΦiatku strßnky na vßs vyk·ka pole pre zadanie re¥azca, ktor² chcete h╛ada¥.
Ke∩ potom kliknete na tlaΦφtko search, laebo stlaΦφte enter, re¥azec, ktor² ste zadali je odovzdan² na vstup CGI skriptu. Pozrieme sa dnes spoloΦne na to, akΘ vÜetky mo₧nosti vßm formulßre v HTML poskytuj· na odovzdanie ·dajov vßÜmu CGI programu.
Pok²m chcete na svoju strßnku umiestni¥ formulßr, mal by k≤d tohto formulßra v₧dy obsahova¥ ako prv² tag <FORM>. Tento tag je povinne pßrov², to znamenß ₧e obsah formulßra musφ by¥ ukonΦen² tagom </FORM>. V praxi m⌠₧e vyzera¥ k≤d formulßra nasledovne:
Dostßvame sa k ponukßm a posuvn²m zoznamom. V zßsade medi tymito dvoma prvkami je len minimßlny rozdiel: v posuvnom zozname je mo₧nΘ zobrazi¥ a vybra¥ viac prvkov naraz, kde₧to v ponuke je mo₧nΘ vyba¥ len jednu polo₧ku. Oba tieto prvky s· tvorenΘ pomocou tagu SELECT, ktor² nadob·da znßmy atrib·t NAME. Tag SELECT je povinne pßrov² a vo svojom tele obsahuje skupinu tagov OPTION. Tu je ukß₧ka vytvorenia ponuky:
UrΦite ste si vÜimli, ₧e pomocou atrib·tu SELECTED je mo₧nΘ vopred nastavi¥ polo₧ku, ktorß bude vybranß. Pri odoslanφ dßt formulßra takßto ponuka odoÜle na vstup CGI skriptu meno ponuky danΘ atrib·tom NAME tagu SELECT a hodnotu zvolenej polo₧ky - tagu OPTION. T·to hodnotu tvorφ text, ktor² nasleduje za tagom OPTION, resp. ju m⌠₧ete urΦi¥ atrib·tom VALUE.
Pok²m chcete vytvori¥ posuvn² zoznam, pou₧ijete rovnak· konÜtrukciu ako pre vytvorenie ponuky a v tagu SELECT pomocou atrib·tu SIZE urΦφte poΦet polo₧iek, ktorΘ bud· naraz vidite╛nΘ. M⌠₧ete tie₧ pomocou atrib·tu MULTIPLE urΦi¥, ₧e bude mo₧nΘ vybra¥ viac hodn⌠t naraz. Prφklad:
Na zßver nßm ostal u₧ len jeden prvok formulßra, a to viacriadkovΘ textovΘ pole. Toto je tvorenΘ povinne pßrov²m tagom TEXAREA, ktorΘmu atrib·tmi COLS a ROWS urΦφte poΦet zobrazen²ch stσpcov a riadkov. Pok²m u₧φvate╛ zadß viac znakov, ako sa do danΘho priestoru vojde, na okraji tohto prvku sa vytvorφ posuvnφk a u₧φvate╛ m⌠₧e k╛udne vpisova¥ ∩alej. Nßzov tohto prvku opΣ¥ urΦujete atrib·tom NAME. Pok²m chcete zada¥ nejak² text, ktor² sa mß v danom poli zobrazi¥, neurΦujete ho priamo ako atrib·t tagu TEXTAREA, ale musφte ho zada¥ do tela tagu:
<textarea name="pole" cols="45" rows="5">
Sem m⌠₧ete vpφsa¥ svoj text...
</textarea>
Nabud·ce si vysvetlφme, ako v skripte spracova¥ vstupnΘ dßta.