Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00490 007850 10467458 na godz. na dobę w sumie
PHP. Tworzenie stron WWW. Szybki start - książka
PHP. Tworzenie stron WWW. Szybki start - książka
Autor: Liczba stron: 472
Wydawca: Helion Język publikacji: polski
ISBN: 83-7361-530-X Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> webmasterstwo >> php - programowanie
Porównaj ceny (książka, ebook, audiobook).

Błyskawiczny kurs tworzenia dynamicznych stron WWW
z wykorzystaniem języka PHP

Język PHP cieszy się zasłużoną popularnością wśród twórców stron WWW. Z mało znanego produktu open source szybko stał się cenionym narzędziem stosowanym do tworzenia dynamicznych witryn sieciowych opartych na bazach danych. PHP jest wykorzystywany w portalach, sklepach internetowych, forach dyskusyjnych i wielu innych witrynach z dynamicznie generowaną zawartością. Jeśli język HTML i pisane w nim statyczne strony HTML nie odpowiadają już Twoim wymaganiom, zrób następny krok -- poznaj język PHP.

'PHP. Tworzenie stron WWW. Szybki start' to idealny podręcznik dla Ciebie. Dowiesz się z niego wszystkiego, co jest niezbędne do wykorzystywania języka PHP w pracy webmastera. W prostych ćwiczeniach poznasz podstawy języka PHP i nauczysz się stosować go do różnych zadań związanych z tworzeniem stron WWW. Wiadomości zawarte w książce dotyczą zarówno wersji 4, jak i wchodzącej właśnie na rynek wersji 5.

Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

IDZ DO IDZ DO PRZYK£ADOWY ROZDZIA£ PRZYK£ADOWY ROZDZIA£ SPIS TREĎCI SPIS TREĎCI KATALOG KSI¥¯EK KATALOG KSI¥¯EK KATALOG ONLINE KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK TWÓJ KOSZYK DODAJ DO KOSZYKA DODAJ DO KOSZYKA CENNIK I INFORMACJE CENNIK I INFORMACJE ZAMÓW INFORMACJE ZAMÓW INFORMACJE O NOWOĎCIACH O NOWOĎCIACH ZAMÓW CENNIK ZAMÓW CENNIK CZYTELNIA CZYTELNIA FRAGMENTY KSI¥¯EK ONLINE FRAGMENTY KSI¥¯EK ONLINE Wydawnictwo Helion ul. Chopina 6 44-100 Gliwice tel. (32)230-98-63 e-mail: helion@helion.pl PHP. Tworzenie stron WWW. Szybki start Autor: Larry Ullman T³umaczenie: Pawe³ Gonera ISBN: 83-7361-530-X Tytu³ orygina³u: PHP for the World Wide Web Visual QuickStart Guide, 2nd Edition Format: B5, stron: 456 B³yskawiczny kurs tworzenia dynamicznych stron WWW z wykorzystaniem jêzyka PHP Jêzyk PHP cieszy siê zas³u¿on¹ popularnoġci¹ wġród twórców stron WWW. Z ma³o znanego produktu open source szybko sta³ siê cenionym narzêdziem stosowanym do tworzenia dynamicznych witryn sieciowych opartych na bazach danych. PHP jest wykorzystywany w portalach, sklepach internetowych, forach dyskusyjnych i wielu innych witrynach z dynamicznie generowan¹ zawartoġci¹. Jeġli jêzyk HTML i pisane w nim statyczne strony HTML nie odpowiadaj¹ ju¿ Twoim wymaganiom, zrób nastêpny krok — poznaj jêzyk PHP. „PHP. Tworzenie stron WWW. Szybki start” to idealny podrêcznik dla Ciebie. Dowiesz siê z niego wszystkiego, co jest niezbêdne do wykorzystywania jêzyka PHP w pracy webmastera. W prostych æwiczeniach poznasz podstawy jêzyka PHP i nauczysz siê stosowaæ go do ró¿nych zadañ zwi¹zanych z tworzeniem stron WWW. Wiadomoġci zawarte w ksi¹¿ce dotycz¹ zarówno wersji 4, jak i wchodz¹cej w³aġnie na rynek wersji 5. • Podstawy sk³adni jêzyka PHP • Osadzanie kodu PHP w kodzie HTML • Zmienne i ich typy • Obs³uga formularzy HTML • Instrukcje steruj¹ce dzia³aniem programu • Tablice • Obs³uga sesji i plików cookie • Praca z systemem plików • Korzystanie z baz danych • Stosowanie wyra¿eñ regularnych Spis treści Spis treści Wstęp Czym jest PHP?...................................................P......................................10 9 Dlaczego korzystamy z PHP? ...................................................P................12 Jak działa PHP?...................................................P......................................14 Czego będziesz potrzebował? ...................................................P................16 O książce ...................................................P................................................18 Rozdział 1. Rozpoczynamy pracę z PHP 21 Podstawy składni XHTML...................................................P.....................22 Podstawy składni PHP ...................................................P...........................26 Testowanie skryptu ...................................................P................................29 Wysyłanie tekstu do przeglądarki ...................................................P..........32 Wysyłanie kodu HTML do przeglądarki...................................................P36 Użycie odstępów w PHP oraz HTML ...................................................P....38 Dodawanie komentarzy do skryptów ...................................................P.....41 Rozdział 2. Zmienne Czym są zmienne?...................................................P..................................46 45 Składnia zmiennych ...................................................P...............................50 Typy zmiennych ...................................................P.....................................52 Przypisywanie wartości do zmiennych ...................................................P..57 Apostrofy i cudzysłowy...................................................P..........................60 Rozdział 3. Formularze HTML i PHP Tworzenie prostego formularza...................................................P..............64 63 Użycie GET oraz POST ...................................................P.........................70 Odbieranie danych z formularza w PHP ...................................................P72 Wyświetlanie błędów ...................................................P.............................75 Raportowanie błędów...................................................P.............................78 Problem z register_globals ...................................................P.....................80 Ręczne wysyłanie danych do strony ...................................................P......82 S p i s t r e ś c i 5 Spis treści Rozdział 4. Użycie liczb 87 Tworzenie formularza ...................................................P............................88 Dodawanie, odejmowanie, mnożenie i dzielenie ......................................91 Formatowanie liczb ...................................................P................................96 Użycie wielu operatorów...................................................P........................98 Inkrementacja i dekrementacja liczb ...................................................P....100 Tworzenie liczb losowych...................................................P....................102 Rozdział 5. Użycie ciągów 105 Tworzenie formularza HTML ...................................................P..............106 Łączenie ciągów (konkatenacja) ...................................................P..........109 Obsługa parametru magic_quotes ...................................................P........113 HTML oraz PHP ...................................................P..................................116 Kodowanie i dekodowanie ciągów...................................................P.......120 Zamiana fragmentów ciągu ...................................................P..................125 Inne funkcje operujące na ciągach ...................................................P.......128 Rozdział 6. Struktury sterujące 133 Tworzenie formularza HTML ...................................................P..............134 Instrukcja if ...................................................P..........................................139 Użycie klauzuli else ...................................................P.............................145 Więcej na temat operatorów...................................................P.................148 Użycie elseif...................................................P.........................................158 Instrukcja warunkowa switch...................................................P...............163 Pętla for ...................................................P................................................169 Rozdział 7. Użycie tablic 175 Czym są tablice?...................................................P...................................176 Tworzenie tablicy ...................................................P.................................178 Dodawanie elementów do tablicy ...................................................P........182 Odwoływanie się do elementów tablicy..................................................185 Tworzenie tablic wielowymiarowych ...................................................P..189 Sortowanie tablic...................................................P..................................194 Przekształcenia między ciągami i tablicami............................................199 Tworzenie tablicy z formularza...................................................P............204 i c ś e r t s i p S 6 Formularze HTML i PHP 3 Formularze HTML i PHP Formularze HTML i PHP W poprzednim rozdziale przedstawiliśmy krótkie wprowadzenie do zmiennych. Choć bardzo często będziemy tworzyli własne zmienne, to jednak najczęściej będziemy je wykorzystywali w połączeniu z formularzami HTML. Formularze, jak na pewno się już przekonałeś, są podstawowym mechanizmem we współczesnych stronach WWW, pozwalającym zrealizować takie funkcje, jak: rejestracja, logowanie, przeszukiwanie oraz obsługa sklepów internetowych. Korzyści płynące z używania formularzy widać już w najprostszych witrynach WWW. Łącząc je z kodem PHP, możemy niezwykle łatwo odczytywać i obsługiwać generowane przez nie dane. W rozdziale tym opiszemy podstawy tworzenia formularzy HTML oraz sposoby przesyłania danych do skryptu PHP. Jednocześnie rozdział wprowadza kilka kluczowych mechanizmów prawdziwego programowania w PHP — w tym sposoby uruchamiania skryptów oraz obsługę błędów. F o r m u l a r z e H T M L i P H P 63 Listing 3.1. Każdy formularz HTML rozpoczyna się i kończy znacznikami form /form . Gdy kodujesz formularze ręcznie ― uważaj, aby nie zapomnieć żadnego z tych znaczników. Pamiętaj również o przekierowaniu formularza do właściwego skryptu obsługi za pomocą atrybutu action  1 6;2 JVON27$.+ 9  6 :*6/. 6TCPUKVKQPCN 0 JVVRYYYYQTI64ZJVON 6  ZJVONVTCPUKVKQPCNFVF JVONZONPUJVVRYYYYQTIZJVON JGCF OGVCJVVRGSWKXEQPVGPVV[RG EQPVGPVVGZVJVON EJCTUGVKUQ VKVNG (QTOWNCTQRKPKæVKVNG JGCF DQF[ 2TQUúY[RGđPKèVGPHQTOWNCTCD[ RTGMCCèPCOUYQLGWYCIKDT  HQTOCEVKQPQDUNWICAHQTOWNCTRJR OGVJQFRQUV  HQTO  .KUVKPIQRKPKCJVON DQF[ JVON a z r a l u m r o f o g e t s o r p e i n e z r o w T Rozdział 3. Tworzenie prostego formularza Jako przykład formularza HTML utworzymy tutaj stronę informacji zwrotnej, która pobiera powitanie użytkownika, jego imię, adres e-mail, odpowiedź oraz komentarz. Będziemy musieli utworzyć odrębne pola dla wszystkich wymienionych tutaj danych. Na początek jednak wrócimy do tematu XHTML. Jak wspomnieliśmy w pierwszym rozdziale (w którym poinformowaliśmy, że w książce tej będziemy korzystać z XHTML), język ten ma kilka zasad, które powodują, że ma on wyraźnie inną składnię niż HTML. Przypominamy, że kod musi być zapisany małymi literami, a każdy atrybut znacznika należy ująć w cudzysłowy. Dodatkowo, każdy znacznik musi być zamknięty; te, które nie mają formalnego znacznika zamykającego, jak na przykład KPRWV , są zamykane przez dodanie spacji i ukośnika na jego końcu. Dlatego w HTML można napisać: +02766;2 6 :60#/ CFTGU5+  Ale w XHTML to samo wyrażenie musi przyjąć postać: KPRWVV[RGVGZVPCOGCFTGUUKG Powyższe wyjaśnienie pozwoli uniknąć pomyłek w przypadku naszej strony wykorzystującej standard XHTML. Aby rozpocząć tworzenie podstawowego formularza HTML: 1. Otwórz edytor tekstu i rozpocznij nowy dokument (listing 3.1):  1 6;2 JVON27$.+ 9  6 :*6/. å6TCPUKVKQPCN 0 JVVRYYYYQTI64ZJVON 6  åZJVONVTCPUKVKQPCNFVF JVONZONPUJVVRYYYYQTIZJVON JGCF OGVCJVVRGSWKXEQPVGPVV[RG åEQPVGPVVGZVJVON åEJCTUGVKUQ VKVNG (QTOWNCTQRKPKæVKVNG JGCF 64 Formularze HTML i PHP DQF[ 2TQUúY[RGđPKèVGPHQTOWNCTCD[ åRTGMCCèPCOUYQLGWYCIKDT 2. Dodaj otwierający i zamykający znacznik HQTO : HQTOCEVKQPQDUNWICAHQTOWNCTRJR HQTO Znaczniki HQTO określają początek i koniec formularza. Każdy element tego formularza musi być zdefiniowany pomiędzy tymi dwoma wierszami. Atrybut CEVKQP wskazuje serwerowi stronę (lub skrypt), która otrzyma dane wprowadzone do formularza, dlatego jest on jednym z najważniejszych elementów. 3. Zakończ stronę, dodając znaczniki zamykające dokument. .KUVKPIQRKPKCJVON DQF[ JVON 4. Zapisz stronę pod nazwą QRKPKCJVON. Wskazówki  Zwróć uwagę, że użyliśmy tutaj rozszerzenia dokumentu właściwego dla HTML (.html), ponieważ jest to standardowa strona HTML (a nie strona PHP). Bez problemu można zastosować rozszerzenie .php, nawet pomimo to, że nie ma w tym dokumencie kodu PHP (pamiętaj, że na stronie PHP wszystkie elementy poza znacznikami !RJR i ! są traktowane jako kod HTML).  Upewnij się, że atrybut CEVKQP prawidłowo wskazuje na istniejący na serwerze plik, ponieważ w przeciwnym wypadku formularz nie zostanie właściwie przetworzony. W naszym przykładzie określiliśmy, że formularz ma być przesłany do strony obsluga_formularz.php, która jest umieszczona w tym samym katalogu, co strona opinia.html. T w o r z e n i e p r o s t e g o f o r m u l a r z a 65 Rysunek 3.1. Przyciski opcji tytułu Rysunek 3.2. Znaczniki text powodują utworzenie takich pól tekstowych a z r a l u m r o f o g e t s o r p e i n e z r o w T Rozdział 3. Po tym omówieniu podstawowych znaczników formularzy dodajmy do niego różne elementy (pola tekstowe przeznaczone na nazwę użytkownika, adres e-mail itd.). Aby utworzyć elementy formularza: 1. Po wierszu z otwierającym znacznikiem HQTO (wiersz 11.), ale przed zamykającym znacznikiem HQTO naciśnij Enter, aby utworzyć nowy wiersz. 2. Dodaj dwa przyciski opcji przeznaczone na tytuł osoby (listing 3.2): 2CPKPRWVV[RGTCFKQPCOGV[VWN åXCNWG2CP 2CPKKPRWVV[RGTCFKQPCOGV[VWN åXCNWG2CPK DT Ten kod HTML powoduje utworzenie dwóch przycisków opcji (w postaci wybieranych kółeczek, rysunek 3.1). Ponieważ oba przyciski posiadają taką samą wartość atrybutu PCOG, może być zaznaczony tylko jeden z nich. Zgodnie z zasadami XHTML, kod jest zapisywany małymi literami (poza wartościami), a na końcu każdego znacznika KPRWV dodana jest spacja oraz ukośnik domykający znacznik. Aby uzyskać odpowiednie rozmieszczenie formularza, na końcu dodaliśmy znacznik DT . 3. Dodaj pola tekstowe przeznaczone na nazwę użytkownika oraz adres e-mail: +OKúKPRWVV[RGVGZVPCOGKOKG åUKG DT #FTGUGOCKNKPRWVV[RGVGZV åPCOGGOCKNUKG DT Należy stosować spójną konwencję nazewnictwa elementów formularza i nadawać każdemu elementowi logiczną i opisową nazwę. Przy nadawaniu nazw polom formularza można stosować litery, cyfry oraz znaki podkreślenia (A). Zamieszczone tutaj pola VGZV powodują utworzenie w przeglądarce pól tekstowych (rysunek 3.2). 66 Listing 3.2. Do formularza można dodać dowolną kombinację elementów wprowadzania danych — należy się tylko upewnić, że znajdują się one wewnątrz znaczników form , ponieważ inaczej nie pokażą się na stronie Formularze HTML i PHP  1 6;2 JVON27$.+ 9  6 :*6/.6TCPUKVKQPCN 0 JVVRYYYYQTI64ZJVON 6 ZJVONVTCPUKVKQPCNFVF JVONZONPUJVVRYYYYQTIZJVON JGCF OGVCJVVRGSWKXEQPVGPVV[RGEQPVGPVVGZVJVONEJCTUGVKUQ VKVNG (QTOWNCTQRKPKæVKVNG JGCF DQF[ 2TQUúY[RGđPKèVGPHQTOWNCTCD[RTGMCCèPCOUYQLGWYCIKDT  HQTOCEVKQPQDUNWICAHQTOWNCTRJR  2CPKPRWVV[RGTCFKQPCOGV[VWNXCNWG2CP 2CPKKPRWVV[RGTCFKQPCOGV[VWNXCNWG2CPK DT +OKúKPRWVV[RGVGZVPCOGKOKGUKG DT #FTGUGOCKNKPRWVV[RGVGZVPCOGGOCKNUKG DT 1RKPKCUGNGEVPCOGQRKPKC QRVKQPXCNWGħYKGVPKG 6QLGUVħYKGVPGQRVKQP QRVKQPXCNWGYRQTæFMW 6QLGUVYRQTæFMWQRVKQP QRVKQPXCNWGPWFC 6QLGUVPWFPGQRVKQP UGNGEV DT -QOGPVCTVGZVCTGCPCOGMQOGPVCTTQYUEQNU VGZVCTGC DT KPRWVV[RGUWDOKVPCOGY[UNKLXCNWG9[ħNKLQRKPKú  HQTO  .KUVKPIQRKPKCJVON DQF[ JVON T w o r z e n i e p r o s t e g o f o r m u l a r z a 67 Rysunek 3.3. Znacznik select pozwala utworzyć listę rozwijaną Rysunek 3.4. Znacznik textarea pozwala utworzyć duże pole tekstowe Rozdział 3. 4. Dodaj listę wyboru opinii: 1RKPKCUGNGEVPCOGQRKPKC QRVKQPXCNWGħYKGVPKG 6QLGUV åħYKGVPGQRVKQP QRVKQPXCNWGYRQTæFMW 6QLGUV åYRQTæFMWQRVKQP QRVKQPXCNWGPWFC 6QLGUVPWFPG åQRVKQP UGNGEV DT Znaczniki te powodują dodanie rozwijanej listy wyboru, jednego z najpopularniejszych typów pól formularza (rysunek 3.3). Każda z opcji umieszczonych pomiędzy znacznikami UGNGEV może zostać wybrana przez użytkownika. 5. Dodaj wielowierszowe pole tekstowe, w którym można napisać własny komentarz: -QOGPVCTVGZVCTGCPCOGMQOGPVCT åTQYUEQNU VGZVCTGC DT Wielowierszowe pole tekstowe (rysunek 3.4) udostępnia użytkownikowi więcej miejsca na komentarz niż zwykłe pole tekstowe. Jednak pole tekstowe pozwala na ograniczenie liczby znaków, które może wprowadzić użytkownik, natomiast nie da się tego zrobić w przypadku wielowierszowego pola tekstowego (bez użycia dodatkowego kodu JavaScript). W czasie tworzenia formularza należy wybierać typ pola tekstowego najbardziej odpowiedni dla danych, jakie będziesz chciał uzyskać od użytkownika. a z r a l u m r o f o g e t s o r p e i n e z r o w T 68 Rysunek 3.5. Każdy formularz musi mieć przycisk wysyłania danych, który może wyglądać inaczej w różnych przeglądarkach Rysunek 3.6. Jeżeli prawidłowo wprowadziłeś kod formularza, powinien on wyglądać w przeglądarce w następujący sposób Formularze HTML i PHP 6. Dodaj przycisk wysyłania danych: KPRWVV[RGUWDOKVPCOGY[UNKL åXCNWG9[ħNKLQRKPKú Wartość atrybutu XCNWG w elemencie typu UWDOKV jest wyświetlana na przycisku w przeglądarce WWW (rysunek 3.5). Można również tutaj zastosować na przykład słowo Dalej. 7. Zapisz skrypt i prześlij go na serwer (lub zapisz w odpowiednim katalogu swojego komputera z zainstalowanym kodem PHP) i wyświetl go w przeglądarce (rysunek 3.6). Ponieważ jest to strona HTML, a nie skrypt PHP, możesz obejrzeć go w przeglądarce bezpośrednio z Twojego komputera. Wskazówka  W tym przykładzie utworzyłeś formularz przez ręczne kodowanie w HTML, ale jeżeli wolisz, to samo można zrobić korzystając z aplikacji do projektowania stron WWW (na przykład w programach Macromedia Dreamweaver lub Adobe GoLive). T w o r z e n i e p r o s t e g o f o r m u l a r z a 69 Rozdział 3. Użycie GET oraz POST Doświadczeni autorzy stron HTML zauważą, że w formularzu opinii brakuje jednego elementu: otwierający znacznik HQTO nie ma atrybutu OGVJQF. Atrybut ten informuje serwer, w jaki sposób przesłać dane do skryptu obsługi. Atrybut OGVJQF może przyjmować dwie wartości: ) 6 oraz 2156. Wielu koderów HTML nie do końca zna różnice między tymi wartościami i ma wątpliwości, kiedy ich używać. W rzeczywistości dla większości programistów nie ma to najmniejszego znaczenia (szczególnie, gdy zaczynamy dopiero z nich korzystać), ponieważ obie metody pozwalają zazwyczaj na osiągnięcie oczekiwanych wyników. Różnica między metodami ) 6 oraz 2156 polega na sposobie przesyłania danych z formularza do obsługującego go skryptu. Metoda ) 6 przesyła wszystkie zebrane informacje jako część adresu URL. Metoda 2156 przesyła dane w sposób niewidoczny dla użytkownika. Na przykład, jeżeli użyjesz metody ) 6 w czasie przesyłania danych formularza, wynikowy adres URL będzie miał następującą postać: JVVRYYYUGTYGTEQORJRRRTQDUNWICAHQTOWNCT åRJR!V[VWN2CPPCYC.CTT[7NNOCP Tymczasem jeśli zastosujemy metodę 2156, końcowy użytkownik zobaczy adres w postaci skróconej: JVVRYYYUGTYGTEQORJRRRT åQDUNWICAHQTOWNCTRJR Wybierając jedną z tych metod, należy pamiętać o następujących trzech zasadach: T S O P z a r o T E G e i c y ż U u u W przypadku metody ) 6 można przesłać tylko ograniczoną ilość informacji. Metoda ) 6 wysyła dane do skryptu obsługi w sposób jawny. Przykładowo oznacza to, że hasło wprowadzone w formularzu może być przeczytane przez każdego, kto patrzy na przeglądarkę. Warto zauważyć, że jest to dużym zagrożeniem dla bezpieczeństwa. u Strona wygenerowana przez formularz korzystający z metody ) 6 może zostać zapisana w zakładkach, natomiast nie jest to możliwe, gdy dane są przesyłane metodą 2156. 70 Listing 3.3. Aby dokończyć nasz formularz, dodajemy atrybut method z wartością post  1 6;2 JVON27$.+ 9  6 :*6/.6TCPUKVKQPCN 0 JVVRYYYYQTI64ZJVON 6  ZJVONVTCPUKVKQPCNFVF JVONZONPUJVVRYYYYQTIZJVON JGCF OGVCJVVRGSWKXEQPVGPVV[RG EQPVGPVVGZVJVONEJCTUGV KUQ VKVNG (QTOWNCTQRKPKæVKVNG JGCF DQF[ 2TQUúY[RGđPKèVGPHQTOWNCTCD[ RTGMCCèPCOUYQLGWYCIKDT  HQTOCEVKQPQDUNWICAHQTOWNCTRJR OGVJQFRQUV  2CPKPRWVV[RGTCFKQPCOGV[VWN XCNWG2CP 2CPKKPRWVV[RGTCFKQPCOGV[VWN XCNWG2CPK DT +OKúKPRWVV[RGVGZVPCOGKOKG UKG DT #FTGUGOCKNKPRWVV[RGVGZV PCOGGOCKNUKG DT 1RKPKCUGNGEVPCOGQRKPKC QRVKQPXCNWGħYKGVPKG 6QLGUVħYKGVPG QRVKQP QRVKQPXCNWGYRQTæFMW 6QLGUV YRQTæFMWQRVKQP QRVKQPXCNWGPWFC 6QLGUVPWFPG QRVKQP UGNGEV DT -QOGPVCTVGZVCTGCPCOGMQOGPVCT TQYUEQNU VGZVCTGC DT KPRWVV[RGUWDOKVPCOGY[UNKL XCNWG9[ħNKLQRKPKú  HQTO  .KUVKPIQRKPKCJVON DQF[ JVON Rysunek 3.7. Przejrzyj źródło strony HTML, aby sprawdzić jej poprawność Formularze HTML i PHP W tej książce do obsługi formularzy niemal wyłącznie stosujemy metodę 2156, choć przedstawimy przydatną technikę, gdzie metoda ) 6 pozwala zyskać dodatkowe możliwości dla stron WWW (patrz podrozdział „Ręczne wysyłanie danych do strony” pod koniec bieżącego rozdziału). Dzięki każdej z tych metod można przesyłać dane z formularza, a ostateczny wybór metody powinien zależeć od potrzebnego Ci poziomu zabezpieczeń oraz od tego, czy wynikowa strona powinna być zapisywana w zakładkach. Nabyte doświadczenie pozwoli szybko rozróżniać obydwie sytuacje, a na razie bezpiecznie możesz w większości przypadków korzystać z metody 2156. Aby dodać znacznik method do skryptu: 1. Otwórz plik opinia.html w edytorze tekstu (listing 3.2). 2. Wewnątrz otwierającego znacznika HQTO dodaj OGVJQFRQUV (listing 3.3, wiersz 11.). Atrybut formularza OGVJQF wskazuje przeglądarce, w jaki sposób ma ona wysłać dane do skryptu odbierającego. 3. Zapisz skrypt i obejrzyj go ponownie w twojej przeglądarce WWW. 4. Obejrzyj źródło strony, aby upewnić się, że wszystkie potrzebne elementy znajdują się na swoim miejscu. (rysunek 3.7). Wskazówka  W opisie metod ) 6 oraz 2156 przy ich zapisywaniu korzystaliśmy z wielkich liter. Jednak w formularzu dla zachowania zgodności z XHTML korzystamy z małych liter (RQUV). Nie należy przejmować się niespójnością — metoda będzie funkcjonowała prawidłowo niezależnie od wielkości liter. U ż y c i e G E T o r a z P O S T 71 Listing 3.4. Biorąc nazwę elementu z formularza HTML oraz dodając znak dolara ($), tworzymy zmienne zawierające wartości wprowadzone przez użytkownika w odpowiednim polu  1 6;2 JVON27$.+ 9  6 :*6/. 6TCPUKVKQPCN 0  JVVRYYYYQTI64ZJVON 6 ZJVON VTCPUKVKQPCNFVF JVONZONPUJVVRYYYYQTIZJVON JGCF OGVCJVVRGSWKXEQPVGPVV[RG EQPVGPVVGZVJVON EJCTUGVKUQ VKVNG 6YQLCQRKPKCVKVNG JGCF DQF[ !RJR.KUVKPIQDUNWICAHQTOWNCTRJR  5VTQPCVCQVT[OWLGFCPGQRKPKCJVON 1VT[OWLGV[VWđPCYúGOCKN QRKPKúQTCMQOGPVCT  RTKPVV[VWNKOKGFKúMWLGO[C MQOGPVCTDT  RTKPV2T[MđCFVGPQUVCđWPCP[C QRKPKCKFQRKUCPQMQOGPVCT ! DQF[ JVON P H P w a z r a l u m r o f z h c y n a d e i n a r e i b d O Rozdział 3. Odbieranie danych z formularza w PHP Po utworzeniu prostego formularza HTML musimy napisać skrypt pod nazwą obsluga_ formularz.php, który otrzymuje i przetwarza dane wygenerowane przez stronę opinia.html. W tym konkretnym przykładzie skrypt PHP tylko powtarza wartości wprowadzone przez użytkownika do formularza. W kolejnych rozdziałach pokażemy, w jaki sposób można zapisać dane w bazie danych lub wysłać je korzystając z poczty elektronicznej. Dla wielu Czytelników przykład ten będzie zaskakująco prosty i utworzony skrypt będzie działał bez zarzutu. Niektórzy mogą jednak napotkać niewielkie problemy spowodowane znacznymi zmianami w domyślnej konfiguracji PHP. W wielu instalacjach PHP można odwoływać się do wartości z formularza poprzez zmienną o nazwie takiej samej, jak nazwa elementu formularza. W omawianym przykładzie zmiennymi tymi są: V[VWN, GOCKN, QRKPKC, MQOGPVCT oraz Y[UNKL. Napisaliśmy powyższy skrypt korzystając ze standardowej metody, która powinna działać u większości Czytelników. Jeżeli tak nie będzie, to w następnym podrozdziale odnajdziesz opisy alternatywnych technik uruchamiania programów. Jeżeli więc w przypadku tego przykładu nie będziesz mógł osiągnąć oczekiwanych wyników, nie musisz się martwić. Następne trzy podrozdziały wszystko wyjaśnią i przy okazji nauczą kilku wartościowych metod. Aby utworzyć skrypt PHP: 1. Otwórz edytor tekstu i utwórz w nim nowy dokument (listing 3.4):  1 6;2 JVON27$.+ 9  6 :*6/. å6TCPUKVKQPCN 0 JVVRYYYYQTI64ZJVON 6  åZJVONVTCPUKVKQPCNFVF JVONZONPUJVVRYYYYQTIZJVON JGCF OGVCJVVRGSWKXEQPVGPVV[RG åEQPVGPVVGZVJVON åEJCTUGVKUQ 72 Formularze HTML i PHP VKVNG 6YQLCQRKPKCVKVNG JGCF DQF[ 2. Wstaw otwierający znacznik PHP i wpisz komentarz: !RJR.KUVKPIQDUNWICAHQTOWNCTRJR 5VTQPCVCQVT[OWLGFCPGQRKPKCJVON 1VT[OWLGV[VWđPCYúGOCKNQRKPKú åQTCMQOGPVCT Komentarze do skryptu dodajemy, aby pomagały zapamiętać, jakie jest jego przeznaczenie. Choć w kodzie strony opinia.html zapisane jest, gdzie są wysyłane dane (poprzez atrybut CEVKQP), ten komentarz wskazuje zależność odwrotną, tzn. z którego skryptu otrzymujemy dane. 3. Wyświetl informacje o użytkowniku: RTKPVV[VWNKOKGFKúMWLGO[C åMQOGPVCTDT  RTKPV2T[MđCFVGPQUVCđWPCP[C åQRKPKCKFQRKUCPQMQOGPVCT Aby skorzystać z danych, które użytkownik wpisał do pola PCYC, odwołujemy się do zmiennej PCYC. To samo dotyczy wszystkich elementów formularza, niezależnie od ich typu. 4. Zamknij sekcję PHP i zakończ stronę HTML. ! DQF[ JVON 5. Zapisz skrypt pod nazwą QDUNWICA HQTOWNCTRJR. 6. Prześlij skrypt na serwer (lub zapisz w odpowiednim katalogu swojego komputera z zainstalowanym PHP), pamiętając, że trzeba go umieścić w tym samym katalogu, co opinia.html. O d b i e r a n i e d a n y c h z f o r m u l a r z a w P H P 73 P H P w a z r a l u m r o f z h c y n a d e i n a r e i b d O Rozdział 3. 7. Sprawdź skrypt w przeglądarce WWW otwierając stronę opinia.html, a następnie wysyłając dane formularza (rysunki 3.8 oraz 3.9). Jeżeli wartości zmiennych nie są wyświetlane, gdy uruchomisz skrypt albo nie są wyświetlane i widzisz wiele komunikatów błędów, jest to związane ze wspomnianymi wcześniej kłopotami. Niektórzy mogą nic nie zobaczyć (pokaże się pusta strona). Dla każdego z tych przypadków Czytelnik znajdzie rozwiązanie w trzech następnych podrozdziałach. Wskazówki  Jeżeli chcesz przekazać do skryptu ustaloną wcześniej wartość, to możesz skorzystać z ukrytego elementu formularza. Na przykład, jeżeli do formularza wstawimy wiersz: KPRWVV[RGJKFFGPPCOGVCAUVTQPC åXCNWGQRKPKCJVON spowoduje to utworzenie w skrypcie przetwarzającym zmiennej VCAUVTQPC posiadającej wartość opinia.html.  Zwróć uwagę, że wartości przycisków opcji oraz wybrane pozycje z listy rozwijanej mają wartość atrybutu XCNWG wybranego elementu (na przykład świetnie w liście wyboru). Taka sama zasada obowiązuje dla pól wyboru. W przypadku pól tekstowych wartością zmiennej jest tekst wpisany przez użytkownika.  Nawet przycisk przesyłania jest wysyłany do strony obsługi w postaci zmiennej.  Jeżeli skrypt obsluga_formularz.php w wysłanych ciągach wyświetla dodatkowe ukośniki, zapoznaj się z podrozdziałem „Panowanie nad mechanizmem OCIKESWQVG” z rozdziału 5. — „Użycie ciągów”.  Powinieneś wiedzieć, że przedstawiona tutaj metoda obsługi danych formularza (odwoływanie się do PCYC, V[VWN itd.) nie jest zalecaną metodą i może powodować naruszenie systemu bezpieczeństwa. Ale pomimo to, oczywiście działa ona skutecznie. Wkrótce przedstawimy lepszą i bardziej bezpieczną metodę, ale na początek chcieliśmy pokazać możliwie proste rozwiązanie. 74 Rysunek 3.8. Wszystko, co użytkownik wpisze do formularza HTML, powinno być wyświetlone w przeglądarce WWW przez skrypt obsluga_ formularz.php (rysunek 3.9) Rysunek 3.9. Jest to inne zastosowanie instrukcji print omówionej w rozdziale 1., ale dzięki niemu powstała nasza pierwsza wygenerowana dynamicznie strona WWW Rysunek 3.10. Jeżeli strona nie wyświetla przesłanych informacji, przeczytaj podrozdział „Problem z register_globals” Formularze HTML i PHP Wyświetlanie błędów Po zainstalowaniu PHP na serwerze WWW będzie on działał zgodnie z domyślnymi ustawieniami zabezpieczeń, sposobu obsługi danych, wydajności itd. Od czasu pierwszego wydania tej książki do domyślnej konfiguracji zostały wprowadzone trzy znaczące zmiany i wszyscy programiści PHP powinni o tym wiedzieć. Pierwsza zmiana dotyczy tego, kiedy są wyświetlane komunikaty błędów. PHP może być ustawiony w taki sposób, że będzie informował nas w przypadku napotkania problemów. To, czy faktycznie to zrobi, zależy od ustawienia parametru FKURNC[AGTTQTU w pliku konfiguracyjnym PHP (o nazwie php.ini). W bieżącej wersji PHP parametr ten jest domyślnie wyłączony, więc błędy generowane przez skrypt powodują wyświetlenie pustej strony. Mogłeś zobaczyć wynik takiego działania w przypadku poprzedniego skryptu. Jeżeli chcesz, żeby PHP wyświetlał błędy, to powinieneś wykonać następujące operacje: u Włącz z powrotem parametr FKURNC[AGTTQTU (więcej informacji znajdziesz w podrozdziale „Konfigurowanie PHP” w dodatku A — „Instalacja i konfiguracja”). u Włącz parametr FKURNC[AGTTQTU w samym skrypcie. Chociaż pierwsza możliwość jest najlepsza dla osób uczących się dopiero PHP, nadaje się tylko dla tych, którzy mogą administrować serwerem. Druga opcja może być użyta przez każdego, wystarczy dodać do skryptu wiersz: KPKAUGV FKURNC[AGTTQTU   Funkcja KPKAUGV pozwala na tymczasową zmianę w skrypcie ustawień pliku konfiguracyjnego PHP. W tym przykładzie ustawiamy parametr FKURNC[AGTTQTU na on, co reprezentuje liczba 1. W y ś w i e t l a n i e b ł ę d ó w 75 Rozdział 3. Aby wyświetlać błędy: 1. Otwórz w edytorze plik obsluga_ formularz.php. 2. W pierwszym wierszu kodu PHP (listing 3.5) wprowadź następujący kod: KPKAUGV FKURNC[AGTTQTU   Powyższy wiersz pozwoli zobaczyć komunikaty o występujących błędach. Powinieneś wpisać ten wiersz jako pierwszą instrukcję PHP, dzięki czemu pozostała część kodu PHP będzie wykonywana z nowymi ustawieniami konfiguracji. 3. Zapisz plik pod nazwą QDUNWICA HQTOWNCTRJR. 4. Wyślij plik na serwer WWW i sprawdź go w przeglądarce (rysunki 3.11 oraz 3.12). Jeżeli wynikowa strona nie posiada błędów, skrypt będzie działał tak, jak do tej pory. Jeżeli jednak poprzednio widziałeś pustą stronę, teraz powinieneś zobaczyć komunikat błędu, tak jak na rysunku 3.12. Gdy tak się stanie, rozwiązanie problemu znajdziesz w dalszej części tego rozdziału. w ó d ę ł b e i n a l t e i w ś y W Listing 3.5. Włączenie dyrektywy display_errors powinno wyeliminować wyświetlanie pustej strony w przypadku wystąpienia błędu  1 6;2 JVON27$.+ 9  6 :*6/. 6TCPUKVKQPCN 0 JVVRYYYYQTI64ZJVON 6  ZJVONVTCPUKVKQPCNFVF JVONZONPUJVVRYYYYQTIZJVON JGCF OGVCJVVRGSWKXEQPVGPVV[RG EQPVGPVVGZVJVON EJCTUGVKUQ VKVNG 6YQLCQRKPKCVKVNG JGCF DQF[ !RJR.KUVKPIQDUNWICAHQTOWNCTRJR  YGTULCFTWIC  KPKAUGV FKURNC[AGTTQTU   2QYÎNOKWE[èUKúPCDđúFCEJ  5VTQPCVCQVT[OWLGFCPGQRKPKCJVON 1VT[OWLGV[VWđPCYúGOCKN QRKPKúQTCMQOGPVCT  RTKPVV[VWNKOKGFKúMWLGO[C MQOGPVCTDT  RTKPV2T[MđCFVGPQUVCđWPCP[C QRKPKCKFQRKUCPQMQOGPVCT  ! DQF[ JVON 76 Rysunek 3.11. Jeszcze raz wypełniamy formularz… Rysunek 3.12. …i teraz wyświetlane są komunikaty o błędach Formularze HTML i PHP Wskazówki  Jeżeli masz problemy z uruchamianiem skryptu, pamiętaj o włączeniu opcji FKURNC[AGTTQTU. Jeżeli zainstalowałeś PHP na swoim komputerze, gorąco zalecamy włączenie tej opcji na czas nauki (patrz dodatek A).  Jeżeli w trakcie uruchamiania skryptu PHP zobaczysz pustą stronę, sprawdź również, czy nie ma błędów w kodzie HTML.  Funkcja KPKAUGV może być wykorzystana do zmiany tylko niektórych ustawień. Więcej informacji znajdziesz w podręczniku PHP.  Pamiętaj, że dyrektywa FKURNC[AGTTQTU steruje tylko tym, czy komunikaty błędów będą wysyłane do przeglądarki. Nie tworzy ona błędów ani nie zapobiega ich powstawaniu.  Zalecane jest, aby wyłączyć parametr FKURNC[AGTTQTU w produkcyjnej witrynie WWW, ponieważ błędy są zarówno niewłaściwe, jak również mogą spowodować naruszenie systemu bezpieczeństwa. W trakcie tworzenia witryny powinieneś jednak włączyć parametr FKURNC[AGTTQTU.  Możliwe jest, że twórcy PHP zmienią inne ustawienia, które zmodyfikują sposób działania skryptów opisanych w tej książce. Niezbędne stanie się wtedy wprowadzenie odpowiednich korekt. W y ś w i e t l a n i e b ł ę d ó w 77 Rozdział 3. Raportowanie błędów Drugim z trzech zagadnień konfiguracji PHP, o których powinieneś wiedzieć, jest sposób raportowania błędów. W PHP mamy osiem typów błędów oraz trzy typy definiowane przez użytkownika (o których nie będziemy tutaj mówić). W tabeli 3.1 wymienione są cztery najważniejsze typy błędów, wraz z opisami i przykładami. Można określić, w jaki sposób PHP będzie raportował błędy, korzystając z funkcji GTTQTA TGRQTVKPI . Wymieniona funkcja jako parametru oczekuje liczby lub stałej (stała to ciąg nie ujęty w apostrofy, który ma zdefiniowane wcześniej znaczenie) w celu zmiany tego poziomu. Na przykład: GTTQTATGRQTVKPI  9[đæECO[ECđMQYKEKG GTTQTATGRQTVKPI A#.. 4CRQTVWLGO[YU[UVMQ GTTQTATGRQTVKPI A#..` A016+  å0KGRQMCWLGO[V[RWPQVKEG Ostatni przykład pozwala na ustawienie wyświetlania wszystkich komunikatów błędów poza typem PQVKEG (` oznacza i nie). Można zastosować to ustawienie do naszego skryptu obsluga_formularz.php, aby usunąć komunikaty o błędach (rysunek 3.12). w ó d ę ł b e i n a w o t r o p a R Listing 3.6. Można ustawić poziom raportowania błędów przez PHP, aby dawał mniej lub więcej informacji zwrotnej  1 6;2 JVON27$.+ 9  6 :*6/. 6TCPUKVKQPCN 0 JVVRYYYYQTI64ZJVON 6  ZJVONVTCPUKVKQPCNFVF JVONZONPUJVVRYYYYQTIZJVON JGCF OGVCJVVRGSWKXEQPVGPVV[RG EQPVGPVVGZVJVON EJCTUGVKUQ VKVNG 6YQLCQRKPKCVKVNG JGCF DQF[ !RJR.KUVKPIQDUNWICAHQTOWNCTRJR  YGTULCVTGEKC  KPKAUGV FKURNC[AGTTQTU   2QYÎNOKWE[èUKúPCDđúFCEJ GTTQTATGRQTVKPI A#..` A016+  0KGRQMCWLGO[V[RWPQVKEG  5VTQPCVCQVT[OWLGFCPGQRKPKCJVON 1VT[OWLGV[VWđPCYúGOCKN QRKPKúQTCMQOGPVCT  RTKPVV[VWNKOKGFKúMWLGO[C MQOGPVCTDT  RTKPV2T[MđCFVGPQUVCđWPCP[C QRKPKCKFQRKUCPQMQOGPVCT  ! DQF[ JVON Tabela 3.1. Cztery najczęściej spotykane typy błędów w PHP Typy błędów PHP Typ Notice Warning Opis Przykład Błąd niekrytyczny, który może (ale nie musi) oznaczać problem. Błąd niekrytyczny, który nie zawsze oznacza wystąpienie poważnego problemu. Odwołanie się do zmiennej bez wartości. Przekazanie do funkcji parametru o niewłaściwym typie. Parse error Błąd krytyczny powodowany przez błąd składni. Brak średnika lub brak pary dla apostrofu, nawiasu lub klamry. Error Ogólny błąd krytyczny. Problem z przydziałem pamięci. 78 Rysunek 3.13. Jeszcze raz wypełniamy formularz… Rysunek 3.14. …i teraz komunikaty o błędach zniknęły Formularze HTML i PHP Aby ustawić poziom raportowania błędów: 1. Otwórz w edytorze plik obsluga_ formularz.php (listing 3.5). 2. Po wierszu zawierającym KPKAUGV wprowadź następujący wiersz (listing 3.6): GTTQTATGRQTVKPI A#..` A016+  3. Zapisz plik pod nazwą QDUNWICA HQTOWNCTRJR. 4. Wyślij plik na serwer WWW i obejrzyj go w przeglądarce (rysunki 3.13 oraz 3.14). W tym momencie powinieneś widzieć wynik pomyślnego przetworzenia skryptu (rysunek 3.9) lub brakujące wartości zmiennych, ale bez komunikatów błędów (rysunek 3.14). W następnym podrozdziale pokażemy, w jaki sposób poradzić sobie z problemem brakujących zmiennych. Wskazówki  W podręczniku PHP wymienione są wszystkie poziomy raportowania błędów, ale przytoczone tutaj są najbardziej użyteczne.  Możesz również zmienić poziom raportowania błędów PHP w pliku php.ini, ale taka zmiana wpłynie na wszystkie skrypty. Jeżeli masz własny serwer PHP, w czasie tworzenia własnych skryptów prawdopodobnie będziesz chciał odpowiednio skonfigurować tę funkcję. Zapoznaj się z podrozdziałem „Konfigurowanie PHP” w dodatku A.  W naszym skrypcie pod nazwą obsluga_ formularz.php błędy PQVKEG wskazują na problem — do zmiennej nie została przypisana wartość. Ale ten problem jest na tyle oczywisty w wynikowej stronie WWW, że wyłączenie komunikatu o błędzie wydaje się całkowicie uzasadnione. R a p o r t o w a n i e b ł ę d ó w 79 Spis treści Rozdział 8. Tworzenie aplikacji WWW Tworzenie szablonów...................................................P...........................210 209 Użycie zewnętrznych plików ...................................................P...............218 Użycie stałych ...................................................P......................................224 Operacje na datach i czasie ...................................................P..................229 Obsługa formularzy HTML za pomocą PHP — powtórzenie ................231 Tworzenie lepkich formularzy ...................................................P.............237 Wysyłanie poczty elektronicznej..................................................P...........244 Buforowanie danych wyjściowych ...................................................P......248 Manipulowanie nagłówkami HTTP ...................................................P.....252 Rozdział 9. Cookie i sesje Czym są cookie?...................................................P...................................260 259 Tworzenie plików cookie ...................................................P.....................262 Czytanie danych z cookie...................................................P.....................268 Dodawanie parametrów do plików cookie ..............................................273 Kasowanie plików cookie ...................................................P....................278 Czym są sesje? ...................................................P.....................................281 Tworzenie sesji...................................................P.....................................282 Odczytywanie zmiennych sesji ...................................................P............286 Kasowanie sesji ...................................................P....................................289 S p i s t r e ś c i Rozdział 10. Tworzenie funkcji 291 Tworzenie i wykorzystywanie prostych funkcji......................................292 Tworzenie i wywoływanie funkcji z argumentami .................................298 Ustawianie domyślnych wartości argumentów .......................................302 Tworzenie i wykorzystanie funkcji zwracających wartość .....................306 Co to jest zasięg zmiennych? ...................................................P...............311 Rozdział 11. Pliki i katalogi 317 Prawa do plików...................................................P...................................318 Zapis do pliku...................................................P.......................................323 Blokowanie plików ...................................................P..............................330 Odczyt z pliku ...................................................P......................................333 Obsługa przesyłania plików ...................................................P.................336 Przeglądanie katalogów...................................................P........................344 Tworzenie katalogów ...................................................P...........................350 Przyrostowy odczyt pliku...................................................P.....................357 7 Spis treści Rozdział 12. Wprowadzenie do baz danych 363 Wprowadzenie do SQL ...................................................P........................364 Podłączanie do MySQL...................................................P........................366 Obsługa błędów MySQL...................................................P......................370 Tworzenie i wybieranie bazy danych ...................................................P...373 Tworzenie tabeli ...................................................P...................................376 Wstawianie danych do bazy danych..................................................P......381 Odczytywanie danych z bazy danych..................................................P....387 Usuwanie informacji z bazy danych..................................................P......393 Aktualizacja informacji w bazie danych .................................................399 Rozdział 13. Wyrażenia regularne 405 Czym są wyrażenia regularne?...................................................P.............406 Wyszukiwanie wzorców...................................................P.......................408 Użycie literałów ...................................................P...................................414 Użycie metaznaków ...................................................P.............................416 Użycie kwantyfikatorów ...................................................P......................419 Użycie klas ...................................................P...........................................421 Dopasowywanie i zamiana wzorców ...................................................P...424 Dodatek A Instalacja i konfiguracja Instalacja w systemie Windows 2000 ...................................................P..430 429 Używanie programu MySQL monitor ...................................................P.435 Tworzenie użytkowników MySQL ...................................................P......437 Konfiguracja PHP ...................................................P................................443 Dodatek B Zasoby Zasoby sieci na temat PHP...................................................P...................446 445 Zasoby na temat baz danych ...................................................P................449 Tematy zaawansowane...................................................P.........................450 Dziesięć najczęściej zadawanych pytań (lub najczęściej zgłaszanych problemów) .............................................451 Tabele ...................................................P...................................................P454 Skorowidz 457 i c ś e r t s i p S 8
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

PHP. Tworzenie stron WWW. Szybki start
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: