Podstrony
- Strona startowa
- Peters Ellis Kroniki brata Cadfaela (Mnich) 18 Lato Duńczyków
- Petersin Thomas Ogrodnik Szoguna ( 18)
- Petersin Thomas Ogrodnik Szoguna ( 18) (2)
- Terry Pratchett 07 Piramidy (
- Callan Method 07
- 07 Tyrystory I Triaki (2)
- R 05 07 (5)
- R 09 07 (2)
- Faustyna Kowalska, DZIENNICZEK DUCHOWY
- Miles Rosalind Legat nienawisci
- zanotowane.pl
- doc.pisz.pl
- pdf.pisz.pl
- degrassi.opx.pl
[ Pobierz całość w formacie PDF ]
.pm został zainstalowany.Wykorzystanie modułu CGI.pm do dekodowania danych przekazywanych z formularzyjest stosunkowo proste.W programie CGI napisanym w języku Perl będziesz musiałstworzyć obiekt zapytania, w którym będą przechowywane wszystkie informacje doty-czące żądania.Po jego utworzeniu, wszystkie dane przekazane z formularza będą do-stępne za jego pośrednictwem.Poniżej przedstawiłam fragment kodu służący do utwo-rzenia tego obiektu:$query = new CGI;Zmienna $query wskazuje na nowy obiekt zapytania CGI.Oczywiście zmiennej mo-żesz nadać zupełnie dowolną nazwę.Po utworzeniu obiektu dostęp do danych przesła-nych do skryptu z formularza będzie można uzyskać za pośrednictwem tablicy rozpro-szonej o nazwie param.Na przykład, jeśli formularz będzie zawierał pole o nazwienazwa_uzyt-kownika, to jego wartość można pobrać w skrypcie przy użyciu następu-jącego fragmentu kodu:$zmienna = $query->param('nazwa_uzytkownika');Korzystając z tej metody, można uzyskać dostęp do wartości każdego pola formularza,wystarczy zastąpić nazwę nazwa_uzytkownika nazwą pola, którego wartość chceszpobrać.Kolejną ogromną zaletą modułu CGI.pm jest możliwość dostępu wartości co-okies przekazywanych do skryptu, w identyczny sposób, jak do wartości pól formula-rzy.Przykładowo, jeśli przeglądarka użytkownika prześle do skryptu cookie o nazwiesesja, to jego wartość można pobrać przy użyciu następującego fragmentu kodu:$cookie_sesja = $query->cookies('sesja');Samodzielne dekodowanie danych z formularzyDekodowanie danych z formularzy jest jednym z tych zadań, które większość ludzi nie-chętnie rozwiązuje samodzielnie, pozostawiając je gotowym narzędziom, takim jakRozdział 18.Skrypty CGI dla początkujących 541wymienione powyżej.Jednak, jeśli nie masz dostępu do tych programów lub korzystaszz systemu, który nie pozwala na ich zastosowanie albo uważasz, że możesz zrobić to le-piej, skorzystaj z poniższych informacji.Pierwszą rzeczą, którą program dekodujący powinien sprawdzać, jest metoda, jaką danezostały przesłane.Na szczęście, to jest akurat łatwe zadanie.Zmienna środowiskowaREQUEST_METHOD ustawiona przez serwer tuż przed wywołaniem programu CGI, za-wiera tę informację.Jeśli dane z formularza będą przesłane za pomocą metody GET, będą przechowywanew zmiennej QUERY_STRING.Jeśli dane z formularza przesyłane są za pomocą metody POST, zostaną wysłane nastandardowe wejście skryptu.Zmienna środowiskowa CONTENT_LENGTH wskazuje nailość bajtów danych wysłanych z przeglądarki.W dekoderze powinieneś się upewnić,że czytasz dokładnie tyle bajtów.Niektóre z przeglądarek potrafią w sposób niewłaści-wy wysyłać na ich końcu dodatkowe dane.Typowy skrypt dekodujący powinien działać zgodnie z poniższą instrukcją1.Powinien rozdzielić pary nazwa wartość (względem znaku &).2.Następnie oddzielić nazwę od wartości (względem znaku =).Jeśli jakaś nazwawystępuje kilka razy, to należy opracować sposób na uwzględnienie tej właściwości.3.Pózniej należy zmienić znaki plus na spacje.4.Na koniec zdekodować wszystkie znaki zapisane heksadecymalnie.5.Czy interesuje Cię dekodowanie zawartości plików przesyłanych z przeglądarkina serwer? W tym przypadku reguły działania są zupełnie inne.W szczególności,informacje otrzymywane w tym przypadku są zgodne z zasadami obsługiwieloczęściowych wiadomości MIME, a zatem będziesz musiał obsługiwać wieleróżnych typów danych.Jeśli interesują Cię te zagadnienia, to bez trudu odnajdzieszspecyfikacje przekazywania plików z przeglądarki na serwer, a w nich, wszelkieszczegółowe informacje.Skrypty bez przetwarzania nagłówkówJeśli prześledziłeś uważnie podstawowe reguły pisania skryptów CGI opisane w tej czę-ści, to wiesz już, że dane wyjściowe ze skryptów będą czytane przez serwer i odsyłanedo przeglądarki poprzez sieć.W większości przypadków takie przetwarzanie jest wy-starczające, gdyż serwer jest w stanie wykonać dodatkową kontrolę danych i dodać donich własne nagłówki.Jednak w pewnych przypadkach może się zdarzyć, że chcemy obejść przetwarzanie da-nych przez serwer i wysyłać je wprost do przeglądarki.Może to być przydatne do przy-spieszenia działania lub wysyłania danych, które serwer mógłby zakwestionować.W większości zwykłych skryptów i tych obsługujących formularze, nie jest to potrzebne.542 Część 6.Mapy odsyłaczy i formularzeSkrypty CGI obsługujące taki sposób przekazu danych nazywane są skryptami NPH(ang.Non-Parsed Headers).Jeśli chcesz skorzystać ze skryptu NPH, musisz go niecozmodyfikować.Skrypt powinien mieć przedrostek nph-, na przykład, nph-pingaki lub nph-fixdata.Skrypt musi samodzielnie wysyłać dodatkowe nagłówki HTTP opróczstandardowego Content-type, Location i Status.Nagłówki są najbardziej oczywistą zmianą, jaką należy wprowadzić w skrypcie.W szczególności pierwsza linia powinna zawierać kod statusu, na przykład:HTTP/1.0 200 OK.Nagłówek ten oznacza, że wszystko poszło dobrze, dane są w drodze.Inny przykładnagłówka to:HTTP/1
[ Pobierz całość w formacie PDF ]