|
Formularz wysy│any poczt▒ |
Cezary G│owi±ski |
Formularze to elementy strony WWW umo┐liwiaj▒ce dialog z czytelnikiem danej witryny. Formularze nale┐▒ do najwa┐niejszych element≤w ╢rodowiska WWW, chocia┐ s▒ rzadko stosowane. Wynika to st▒d, ┐e zosta│y przewidziane przede wszystkim do profesjonalnych zastosowa±. Mo┐emy je spotkaµ w trakcie elektronicznych zakup≤w lub podczas dialogu w wyszukiwarkach. W takich przypadkach formularze s│u┐▒ do komunikowania siΩ u┐ytkownika z serwerem informacyjnym. Pozwalaj▒ przekazaµ mu dane w zorganizowany spos≤b. Dane te s▒ nastΩpnie przetwarzane przez skrypty, kt≤re wykonuj▒ r≤┐ne operacje. NajczΩ╢ciej operacje te polegaj▒ na wygenerowaniu nowej strony w odpowiedzi na formularz lub modyfikacji bazy danych, ale ich zastosowania mog▒ byµ naprawdΩ nieograniczone. »eby w wymienionych przypadkach mo┐liwa by│a obr≤bka danych, trzeba mieµ dostΩp do serwera, a nie ka┐dy go ma. Okazuje siΩ jednak, ┐e nie jest to konieczne. R≤wnie┐ "zwyk│y" u┐ytkownik Internetu, dysponuj▒cy kontem poczty elektronicznej, mo┐e w prosty spos≤b korzystaµ z formularzy.
Podstawowe elementy Formularze definiuje siΩ za pomoc▒ pary znacznik≤w <FORM> i </FORM>, kt≤re okalaj▒ jego zawarto╢µ. Wewn▒trz mo┐emy umieszczaµ r≤┐ne elementy. Nale┐▒ do nich pola do wprowadzania tekstu, opcje oraz przyciski. Najprostszy formularz sk│ada siΩ z jednego pola, kt≤re u┐ytkownik mo┐e wype│niaµ danymi oraz przycisku typu SUBMIT, s│u┐▒cego do wys│ania formularza. CzΩsto stosuje siΩ r≤wnie┐ drugi przycisk typu RESET, s│u┐▒cy do czyszczenia zawarto╢ci p≤l. Zacznijmy od umieszczenia pojedynczej linii, w kt≤r▒ mo┐na wpisaµ jaki╢ tekst. Do realizacji takiego pola stosuje siΩ znacznik <INPUT>. Jest on jednak bardzo uniwersalny, o czym przekonamy siΩ rozbudowuj▒c nasz formularz, dlatego trzeba u╢ci╢liµ, ┐e chodzi o pojedyncz▒ liniΩ tekstu. Robi siΩ to za pomoc▒ dodatkowego parametru TYPE okre╢laj▒cego rodzaj pola. Je╢li ma to byµ linia do wczytania tekstu, to TYPE przyjmuje warto╢µ "TEXT". (el. 1) Poniewa┐ p≤l w formularzu mo┐e byµ kilka, to trzeba je nazwaµ, aby p≤╝niej mo┐na by│o je zidentyfikowaµ. NazwΩ pola nadajemy za pomoc▒ parametru NAME. W przypadku linii tekstu trzeba tak┐e okre╢liµ jej rozmiar (w liczbie znak≤w), podaj▒c parametr SIZE. Je╢li chcemy, aby wpisywany w pole tekst nie by│ wy╢wietlany jawnym tekstem, gdy┐ prosimy o podanie np. has│a, to mo┐na okre╢liµ typ pola jako "PASSWORD". Je╢li chcemy umie╢ciµ na formularzu pole sk│adaj▒ce siΩ z kilku linii tekstu, musimy pos│u┐yµ siΩ ju┐ par▒ znacznik≤w <TEXTAREA> i </TEXTAREA> (el. 2). W tym przypadku trzeba okre╢liµ rozmiar pola w wierszach ROWS i kolumnach COLS. Je╢li chcemy, aby w tym polu ukaza│ siΩ jaki╢ domy╢lny tekst, to umieszczamy go miΩdzy wspomnianymi znacznikami. Nie zawsze jednak chcemy pozwoliµ czytelnikowi formularza na wpisywanie dowolnych tekst≤w. W≤wczas trzeba pos│u┐yµ siΩ elementami, kt≤re daj▒ mo┐liwo╢µ wyboru pozycji. NajczΩ╢ciej korzysta siΩ z rozwijanych list. Do zbudowania listy wykorzystuje siΩ parΩ znacznik≤w <SELECT> i </SELECT>. MiΩdzy tymi znacznikami umieszcza siΩ poszczeg≤lne pozycje, definiuj▒c je za pomoc▒ pary <OPTION> i </OPTION> (el. 3). MiΩdzy znacznikami wpisuje siΩ tekst, kt≤ry pojawi siΩ jako opcja, natomiast formularz wy╢le warto╢µ okre╢lon▒ przez parametr VALUE. Takie rozdzielenie pozwala na to, ┐e opcje mog▒ byµ opisowe i sk│adaµ siΩ z kilku wyraz≤w, natomiast do dalszego przetworzenia przekazywana jest zwiΩz│a warto╢µ. Je╢li chcemy kt≤r▒╢ z opcji okre╢liµ jako domy╢ln▒, to wystarczy dodaµ parametr SELECTED. Aby wybraµ kilka opcji jednocze╢nie, trzeba uzupe│niµ listΩ parametrem MULTIPLE. W≤wczas uka┐e siΩ rozwiniΩta lista o d│ugo╢ci r≤wnej liczbie opcji. Je╢li zatem chcemy ograniczyµ wielko╢µ tego obszaru, wystarczy okre╢liµ rozmiar SIZE, np. <SELECT SIZE=3>. Chc▒c zaznaczyµ wiΩcej ni┐ jedn▒ opcjΩ, nale┐y pos│u┐yµ siΩ przyciskiem CTRL (el. 4). Opr≤cz list s▒ te┐ elementy wyboru w postaci kluczy i przycisk≤w. Do ich realizacji stosuje siΩ znacznik <INPUT> odpowiednio okre╢laj▒c typ jako "CHECKBOX" lub "RADIO". Tu r≤wnie┐ okre╢la siΩ warto╢µ VALUE zwracan▒ przez formularz (el. 5). Poniewa┐ mo┐na wybraµ tylko jeden z przycisk≤w, opcje grupuje siΩ razem, nadaj▒c im tΩ sam▒ nazwΩ NAME (el. 6). Po utworzeniu wszystkich dialogowych element≤w formularza trzeba pomy╢leµ o jego wys│aniu. Przewidziany jest do tego specjalny przycisk typu "SUBMIT" (el. 7). Mo┐na tak┐e wyczy╢ciµ wszystkie pola formularza, definiuj▒c przycisk "RESET" (el. 8).
Teraz wysy│amy Pisz▒c formularz trzeba okre╢liµ dzia│anie, jakie jest zwi▒zane z jego wys│aniem. Okre╢la siΩ to za pomoc▒ dw≤ch parametr≤w. Zwykle formularze s▒ powi▒zane ze skryptami, kt≤re je obs│uguj▒ na serwerze. Do zapisu powi▒zania s│u┐y parametr ACTION. Z kolei parametr METHOD okre╢la spos≤b przes│ania zawarto╢ci formularza. Mo┐liwa jest metoda "GET", polegaj▒ca na pobraniu przez serwer, oraz "POST", polegaj▒ca na wys│aniu do serwera. Jednak osoby, kt≤re nie maj▒ dostΩpu do serwera WWW, mog▒ wys│aµ zawarto╢µ wype│nionych p≤l formularza poczt▒ elektroniczn▒ w postaci za│▒cznika do listu. W tym celu nale┐y pos│u┐yµ siΩ us│ug▒ MAILTO. Przyk│adowy zapis brzmi: <FORM METHOD="POST" ACTION= "mailto:enter<lupus.waw.pl"> Standardowo dane wysy│ane z formularza s▒ kodowane. Je╢li chcemy, aby odpowied╝ z formularza przychodzi│a w postaci "zwyk│ego tekstu" w ramach listu, to trzeba zastosowaµ parametr enctype="text/plain" w nastΩpuj▒cy spos≤b:
<FORM ENCTYPE="text/plain" METHOD="POST" ACTION="mailto:enter<lupus.waw.pl">
Odczytujemy wyniki Je╢li nie okre╢limy, ┐eby dane formularza przysz│y w spos≤b jawny, to bΩd▒ siΩ one pojawiaµ na naszym koncie jako listy z za│▒cznikiem. Za│▒cznik bΩdzie zawiera│ zakodowane dane z formularza. "nazwisko=Jan+KOWALSKI&adres =ul.Piotrkowska+14+m.7%0D%0A01-900 +WARSZAWA%0D%0APOLSKA&system =win95&program=101&program=130&program= 120&katalog=tak&nosnik=cdrom&przycisk_ _wyslij=Wy%9Clij+zam%F3wienie"Czyta siΩ to wed│ug nastΩpuj▒cego schematu: nazwa pola w formularzu, znak r≤wno╢ci, wpisany przez czytelnika tekst lub zaznaczona warto╢µ. NastΩpnie znaczek & i kolejne pole. Je╢li wpisany tekst sk│ada siΩ z kilku wyraz≤w, to s▒ one │▒czone znakiem plusa. Dane s▒ tak kodowane z my╢l▒ o przetwarzaniu przez skrypty. Je╢li chcemy tylko przeczytaµ wype│niony formularz, to lepiej spr≤bowaµ przes│aµ go jawnym tekstem. W≤wczas otrzymujemy mail z wypisan▒ zawarto╢ci▒.
nazwisko=Jan KOWALSKI
Skrypty
NajczΩ╢ciej do wsp≤│pracy z formularzami wykorzystuje siΩ skrypty, kt≤re s▒ umieszczone na serwerze i wykonuj▒ zaprogramowane funkcje. Dzia│anie skryptu jest sterowane przez dane, kt≤re przychodz▒ z wype│nionego formularza. Skrypt, jest zwykle programem, kt≤ry zale┐nie od danych wej╢ciowych i zaprogramowanych mo┐liwo╢ci, wykonuje okre╢lone operacje. Np. w przy-padku wyszukiwarki generuje stronΩ
z list▒ znalezionych adres≤w. Dok│adny listing strony z formularzem
<HTML> <TITLE>Pierwszy formularz</TITLE> <BODY bgcolor="#C0C0C0"> <H1><CENTER>FORMULARZ ZAM╙WIENIA< Przegl▒darki, edytory i inne narzΩdzia
Formularze nale┐▒ do standardu jΩzyka HTML. S▒ zatem obs│ugiwane przez wszystkie przegl▒darki internetowe. Niekt≤re wersje zawieraj▒ b│Ωdy powoduj▒ce z│e wy╢wietlanie lub z│▒ obs│ugΩ formularzy.
W╢r≤d program≤w pomocniczych mo┐na wymieniµ dekodery danych z formularza. Przydatno╢µ tego rodzaju narzΩdzi docenia siΩ, gdy zobaczy siΩ, jak wygl▒da ci▒g przys│anych znak≤w. Pozwalaj▒ one przegl▒daµ dane w czytelnej formie. Programy tego typu s▒ shareware'owe i mo┐na szukaµ ich w sieci.
Przyk│adowy formularz (el. 1) <INPUT TYPE="TEXT" (c) Copyright LUPUS |