1.Z jakich elementow sklada sie formularz html<form> <???> <fieldset> \zbior pol <legend> \opis zbioru pol <input type=`'text"> pole edycyjne <input type="submit"> przycisk wyslania formularza2.action-formlarze typowo sa obslugiwane po stronie serwera, dlatego w atrybucie action trzeba podac URL skryptu (lub innego typu dynamicznej strony www), do ktorego zostanie wyslany formularzmethod-sposob wyslania do serwera. Moze byc wyslany przy pomocy POST albo GET-roznica polega na sposobie przekazywania parametrow.POST-w naglowkach HTTP. GET-w adresie www, zatem sa widoczne dla uzytkownika3. fieldset-reprezentuje zbior powiazanych ze soba elementow formularza; wyswietlany jako owalna ramka, z opcjonalnym podpisem w postaci elementu legend; <form><fieldset><legend> Tytul </legend><input ...></fieldset><form>Legend-wyswietla opis dla elementu fieldset: (forma jak wyzej bez "input i form")Atrybuty:id, class, style, title, accesskey-klawisz szybkiego dostepu4.text, password, checkbox, radio, submit, reset, file, hidden, image, button5.name-dla kotrolek, ktore wysylaja dane do serwera(text, password, submit, chekbox, radio,file,hidden)-okresla nazwe pod jaka zawartosc kotrolki zostanie wyslana. Brak atrybutu name powoduje, ze zawartosc kontrolki w ogole nie jest wyslanavalue-znaczenie zalezne od typu kontrolki; text, password-wartosc poczatkowa wyswietlana w kontrolce (przywracana po kliknieciu "reset"). Chekbox, radio-wartosc wyslana o ile kontrolka jest zaznaczona, jezeli nie jest zaznaczona nic nie jest wysylane. Hidden-wartosc niewidoczna, wysylana do serwera. Submit, reset, button-opis wyswietlany na przyciku7.input-reprezentuje pole danych<input type="..." nae="..."> znacznik zamykajacy opcjonalny lub zabroniony, zaleznie od atrybutow.Rodzaje kontrolek- text, chekbox, radio, submit.8. <input type="text" name="t1" value="tu wpisz..." size="25" maxlength="30">Jednolinijkowe pole edycyjne do wpisywania tekstu. Wazniejsze atrybuty:id-identyfukator; name-nazwa; value-poczatkowa wart; size-rozmiar pola; maxlength-max dlugosc tekstu9.<input type="password" name="tomek " size="25" maxlength="30">Jednolinijkowe pole edycyjne do wpisania hasla. Wazniejsze atrybuty: id, name, maxlength10.Input type="checkbox" id="ch1" name="ch1" value="1" checked> <label for="ch1"Opis opcji 1</label> <input type=checkbox" id="ch2" name="ch2" value="1?2"><label for="ch2"> opis opcji 2</label>pole edycyjne opcji niezaleznych od siebie. Wazniejsze atrybuty; id, name, value-wartosc wysylana,jezeli pole jest zaznaczone;checked-jezeli wystapi pole jest zaznaczone11. nput type="radio" id="r1" name="rg1" value="1" checked> <label for="r1"Opis opcji 1</label> <input type="radio" id="r2" name="rg2" value="2"><label for="r2"> opis opcji 2</label>pole edycyjne opcji wykluczajacyh siebie,. wazniejsze atrybuty; id, name-atrybut name dla grupy opcji musi byc ten sam!, value, checked.12.<input type="submit" name="s1" value="wyslij"> przycisk wysylania formularza. wazniejsze atrybuty; value-napis wyswietlany na przycisku w rzegladarce; name-jezeli jest, to jest wysylana na serwer13. <select size="..." name="...">...</select> Tworzy zwykla lub rozwijana liste wyboru. znacznik zamykajacy obowiazkowy. Atrybuty; size, multiple, tabindex. Plus "..."14. <textarea rows="..." cols="..." name="...">... </textarea> tworzy wielolinikowe pole tekstowe. zanacznik zamykajacy obowiazkowy. Atrybuty;"id, class, style, title, name", rows, cols, "disabled", readonly," onfocus, onblur, onselect, onchange".15.label-reprezentuje etykiete przypisana do pola danych formularza16.roznica polega na sposobie przekazywania parametrow.POST-w naglowkach HTTP. GET-w adresie www, zatem sa widoczne dla uzytkownika. Dane z formularza przesylane w zadaniu HTTP a w POST w naglowkach HTTP.18.Dane z formularza sa odczytywane z zadania (met.GET) ablo z naglowka HTTP (met.POST) i dostepne w skrypcie na kilka mozliwych sposobow: -zmienne $name(niezalecane); -tablice $HTTP_GET_VARS albo $HTTP_POST_VARS; -talice $_GET albo $_POST; -tablica$_REQUEST(niezalecane). Niezaleznie od metody wszystkie wartosci sa wysylane jako lancuchy tekstowe.20.wady - i zalety + POST:+poufne dane nie sa widoczne ani zpisywane w historii +mozna przesylac pliki na serw -dane sa szyfrowane (pelne bezpieczenstwo ->HTTPS)GET: +debugowanie, kontrola dzialania skryptow -spacje i znaki poza ASCII sa kodowane -poufne dane sa widoczne -zadania sa zapisywane w historii -nie mozna przesylac plikow na serw.21.Bledne zalozenia programisty co do formularza: -uzytkownik wypelnil wszystkie pola, wpisujac formalnie poprawne i prawidlowe wartosci -uzytkownik wchodzi na strone po kliknieciu przycisku "wyslij" -tablica$POST zawiera klucze i wartosci (np.opcji) tylko takie, jak zdefiniowano w formularzu (haker moze latwo spreparowac zadanie POST lub GET, z celowo znienionymi nazwami lub weartosciami22.poprawny sposob obslugi formularzy: Sprawdzenie poprawnosci danych -nalezy sprawdzic, czy wszystkie wymagane dane zostaly podane i czy formalnie poprawne -wartosci przypisane opcjom nalezy kodowac, aby dalo sie podstawic wartosci sfabrykowane zadania. Informacje krytyczne dla bezpieczenstwa: -poufne dane nie moga byc przenoszone poprzez formularze ani w plikach cookie(mozna je podmieniac) -zamiast tego uzywaj sesji -dane o znaczeniu wyjatkowym dla bezpieczenstwa nalezy przesylac wylacznie przez bezpieczne lacze HTTPS