[ Pobierz całość w formacie PDF ]
.ProgramCGI zawiera zwyk³y kod Perla, który jest uruchamiany, gdy przegl¹darka wywo³aadres URL pliku ze skryptem.Wszystko, co zostanie zapisane przez skrypt dostandardowego wyjœcia, jest przekazywane przegl¹darce.Jeœli skrypt uruchomijak¹œ instrukcjê, na przyk³ad print "Hello! ", pokazywany tekst zostanieodes³any do przegl¹darki i w jej oknie poka¿e siê tekst „Hello!".Jednak jestto dzia³anie elementarne, jak zatem odczy­taæ dane przypisane do elementówgraficznych formularza HTML? Jak taki formularz wygenerowaæ? To i wiele innychrzeczy mo¿na wykonaæ za pomoc¹ pakietu CGI.pm rozpowszechnianego wraz z Perlem(w nastêpnym rozdziale zastosujemy inny popu­larny pakiet, cgi-lib.pl).U¿ycieCGI.pm to typowy sposób kodowania CGI w Perlu, wiêc temat ten omówimy doœædok³adnie.Pakiet CGI.pm jest dostarczany wraz z Perlem, zatem jeœli w systemie znajdujesiê ju¿ Perl, odpada trud instalowania tego pakietu.Od wersji 5.Perla pakietten zosta³ zapi­sany jako obiektowy, choæ istnieje nadal prostszy interfejsproceduralny (sk³adaj¹cy siê z funkcji).W tym rozdziale bêdziemy u¿ywaæinterfejsu obiektowego.Za pomoc¹ pakietu CGI.pl utworzymy obiekt CGI, anastêpnie bêdziemy wywo³ywaæ poszczególne jego metody.Ka¿dy wa¿niejszyznacznik HTML ma odpowiadaj¹c¹ mu metodê — wy­wo³ywanie tych metod powodujegenerowanie odpowiednich znaczników na podstawie przekazywanych parametrów.Wszystkie metody CGI.pm u¿ywaj¹ parametrów nazwa­nych (oprócz metod maj¹cychtylko jeden parametr), co oznacza, ¿e oprócz wartoœci przekazuje siê tak¿enazwê atrybutu HTML, którego dana wartoœæ dotyczy.Oto przy­k³ad, w którym zapomoc¹ obiektu CGI tworzymy stronê sieciow¹.Zwróæ uwagê na przekazywaniemetodzie textarea, która tworzy obszar tekstowy, nazwanych para­metrówzawieraj¹cych nazwê, wartoœæ domyœln¹ i rozmiar:use CGI;$co = new CGI;print $co->header,$co->start_html(-title=>'Przyk³ad CGI'),$co->center($co->h1('Witaj w krainie CGI!’)),$co->textarea(-name=>'textarea ' ,-default=>'Brak zdania’,-rows=>10,-columns=>60),$co->end_html;Pakiet CGI.pm zawiera tak¿e prosty funkcyjny interfejs programistyczny, którynie wymaga stosowania technik obiektowych.Z tym interfejsem zapoznamy siê podkoniec niniejszego rozdzia³u.Tworzenie i u¿ywanie elementów graficznych HTMLProgramowania najlepiej uczyæ siê na przyk³adach, wiêc —jak to ju¿zapowiedziano — w tym rozdziale przygotujemy dwa skrypty CGI: pierwszy utworzystronê sieciow¹ wype³nion¹ elementami graficznymi HTML, drugi odczyta danewprowadzone na tej stronie.Oba skrypty zawieraj¹ niewiele wiêcej ponad jedn¹d³ug¹ instrukcjê print, która tworzy stronê.Pierwszy skrypt, cgil.cgi, pokazano na wydruku 18.1.Kiedy u¿ytkownik otworzyten skrypt w swojej przegl¹darce (wskazuj¹c jego adres URL, na przyk³adhttp://www.ser­wer.com.pl/user/cgi/cgil.cgf), skrypt ten zwróci stronêzawieraj¹c¹ ankietê w postaci formularza HTML.Wygl¹d tej ankiety wprzegl¹darce Netscape Navigator pokazano na poni¿szych trzech rysunkach.Jak to przedstawiono na rysunku 18.1, strona najpierw wita u¿ytkowników iinformuje, ¿e jeœli nie chc¹ wype³niaæ ankiety, mog¹ przejœæ do witryny CPAN.Po przesuniêciu siê nieco w dó³ strony pojawia siê obraz, jak na rysunku 18.2.Tym razem u¿ytkownik jest proszony o podanie w polu tekstowym imienia orazwpisanie swojego zdania w obszarze tekstowym HTML (obszar tekstowy to rodzajdwuwy­miarowego pola tekstowego).W miarê przesuwania siê dalej pokazuj¹ siê dalsze elementy graficzne (rysunek18.3): pola opcji, przyciski radio, listy wyboru, menu i przyciski Wyœlij orazZapytaj.Sposób tworzenia wszystkich tych elementów graficznych w skrypcie CGIzostanie pokazany dalej w tym rozdziale.Kiedy u¿ytkownik kliknie przycisk Wyœlij na dole ankiety, przegl¹darka zbierzez for­mularza wprowadzone dane i wyœle je skryptowi cgi2.cgi.Ten skryptpokazano na wy­druku 18.2, zaœ jego wyniki zaprezentowano na rysunku 18.4 —jestto strona, na której zestawiono informacje zebrane z ankiety.Sk¹d strona z ankiet¹ ma wiedzieæ, gdzie wys³aæ zebrane informacje? Wszystkieelementy graficzne z tej strony nale¿¹ do jednego formularza HTML, który jestformularzem niewidocznym na ekranie, a zarazem jest konstrukcj¹ jêzyka HTML,zawieraj¹c¹ zestaw elementów graficznych.Atrybut action formularza zawieraadres URL skryptu cgi2.cgi.Kiedy u¿ytkownik kliknie przycisk Wyœlij,przegl¹darka wysy³a dane spod elementów graficznych formularza pod wskazanyadres URL.Skrypt cgi2.cgi odczytuje i wyœ­wietla otrzymane dane.Zanim przejdziemy do opisu poszczególnych zagadnieñ, musimy zwróciæ uwagê naje­szcze jedn¹ wa¿n¹ kwestiê.Strona z ankiet¹ wcale nie musi byæ generowanaprzez skrypt CGI, mo¿na zastosowaæ zwyk³¹, statyczn¹ stronê HTML, którawywo³uje cgi2.cgi po klikniêciu przycisku Wyœlij.Skryptu cgil.cgi, którytworzy tê stronê dynamicznie, u¿ywamy po to, aby pokazaæ obie czêœci procesuwykonane za poœrednictwem CGI: generowanie elementów graficznych HTML orazodczytywanie danych.Na wydruku 18.3 pokazano stronê wygenerowan¹ przezcgil.cgi.Wydruk 18.1.cgi1.cgi!/usr/local/bin/perluse CGI; $co = new CGI; $labels( '!'} = $labels{'2'} = $³abels{'3'} =$labelsf'4 ' } = $labels{'5'} = $labels{'6'} = $labels{'7') ='Niedziela'; 'Poniedzia³ek' 'Wtorek1; 'Œroda'; 'Czwartek1; 'Pi¹tek1; 1 Sobota';nty :em taw cgi.tów•zez'•cgi nie,ge-print $co->header, $co->start_html(-title=>'Przyk³ad CGI',-author=>'Steve',-meta=>{'keywords'=>'Perl CGI'),-BGCOLOR=>'white',-LINK=>'red'$co->center($co->hl('To jest ankieta!')), $co->h2('Prosimy o wype³nienie naszejankiety."Co daje wype³nienie naszej ankiety:", $co->p, $co->ul ($co->li('S³awa1),$co->li('Pieni¹dze'),$co->li('Zabawa'),"Jeœli nie masz ochoty naszej ankiety wype³niaæ,"byæ mo¿e zainteresuje Ciê witryna ",$co->a((href=>"http://www.cpan [ Pobierz caÅ‚ość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • rurakamil.xlx.pl
  •