Formulář je jednou z možností jak může uživatel zadat data pro CGI script.
Definice formuláře je v jazyce HTML vložená mezi <FORM> a </FORM>.
atributy příkazy form:
ACTION="../cgi-bin/script" - definuje CGI script, který se má pro zpracování dat z formuláře spustit.
METHOD=[GET|POST] - definuje metodu odeslání dat na server.
ENCTYPE - definuje mime typ použitý pro přenos a tedy způsob kódování
Vstupní pole
Ve formuláři je možné definovat různé typy vstupních polí. Vstupní pole definuje příkaz <INPUT>.
INPUT TYPE=TEXT - implicitní hodnota, umožňuje zadat jednořádkový text
atributy:
povinné: NAME - jméno pole -
nepovinné:
MAXLENGTH - počet znaků, které je možno zadat. Implicitní hodnota je neomezený počet.
SIZE - počet zobrazených znaků, implicitně bývá 20 znaků
VALUE - počáteční hodnota pole
Příklad zdrojového textu a jeho zobrazení prohlížečem:
Adresa:
Ulice:
Mesto:
PSC:
INPUT TYPE=PASSWORD - zadávaný text se nezobrazuje
Příklad:
Zadejte heslo:
INPUT TYPE=CHECKBOX - výber z několika možností, je možná současná volba několika možností
atributy:
povinné: NAME, VALUE
nepovinné: CHECKED - předvoleno
Příklad:
Jaké jsou vaše oblíbené barvy?
Bila
Cervena
Modra
Zelena
INPUT TYPE=RADIO - výběr pouze jedné z několika možností
atributy:
povinné: NAME, VALUE
nepovinné: CHECKED
Příklad:
Jaké jsou vaše oblíbené dny?
pondeli
utery
ctvrtek
nedele
INPUT TYPE=HIDDEN - nezobrazené pole,uživatel ho neovlivní, má VALUE
INPUT TYPE=SUBMIT - odeslaní formuláře
Příklad:
K odeslání dat použijte tlačítko
INPUT TYPE=RESET - nastavení původních hodnot formuláře
Příklad:
K inicializaci formuláře použijte tlačítko
SELECT nabízí seznam hodnot ve tvaru rozbalovacího menu, jednotlivé hodnoty jsou definovány v příkazu OPTION
atributy:
MULTIPLE - je možno vybrat více hodnot současně
NAME - jméno pole
SIZE - počet zobrazených mozností - implicitně jedna možnost
Porovnejte dva následující příklady:
OPTION - pouze spolu se SELECT
atributy:
SELECTED - předvolená možnost
VALUE - hodnota předávaná do CGI, implic. hodnota je hodnota uvedená za OPTION
TEXTAREA - textové pole o několika řádkách
atributy:
COLS - počet zobrazených sloupců
NAME - jméno pole
ROWS - počet zobrazených řádek
Příklad:
Odeslání formuláře
Pokud je ve formuláři jen jedno pole - odeslání po stisku ENTER
V ostatních případech jinak po stisku tlačítka SUBMIT
Metody odeslání:
METHOD=GET data jsou predávaná jako součást URL za otazníkem
METHOD=POST data jsou predávaná v těle dotazu