Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00507 007755 11237435 na godz. na dobę w sumie
PHP5, Apache i MySQL. Od podstaw - książka
PHP5, Apache i MySQL. Od podstaw - książka
Autor: Liczba stron: 784
Wydawca: Helion Język publikacji: polski
ISBN: 83-7361-997-6 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> serwery internetowe >> apache
Porównaj ceny (książka, ebook, audiobook).

Tworzenie dynamicznych witryn WWW
za pomocą technologii open source

PHP, Apache i MySQL to najpopularniejsze obecnie technologie służące do tworzenia i udostępniania w sieci dynamicznych witryn WWW. Łączy je jedna wspólna cecha -- wszystkie dostępne są na licencji open source, co oznacza, że korzystanie z nich nie wiąże się z żadnymi opłatami. PHP to język programowania służący do pisania aplikacji internetowych, MySQL to baza danych, która przechowuje informacje wyświetlane na stronach, a Apache to serwer WWW, dzięki któremu witryny te dostępne są w internecie. Za pomocą tych narzędzi tworzone są portale, sklepy internetowe, fora dyskusyjne i inne strony, z których codziennie korzystają dziesiątki tysięcy użytkowników sieci.

'PHP5, Apache i MySQL. Od podstaw' to podręcznik dla tych użytkowników, którzy chcą poznać sposoby tworzenia dynamicznych witryn WWW w oparciu o te technologie. Przedstawia zasady pisania aplikacji internetowych, stosowania w nich formularzy z mechanizmem weryfikacji poprawności wpisanych danych, łączenia aplikacji z bazą danych i modyfikowania elementów graficznych za pomocą PHP. Opisano tu także sposoby przechowywania danych użytkownika w plikach cookie, mechanizmy wysyłania poczty elektronicznej, obsługi błędów i ograniczania dostępu do określonych obszarów witryny za pomocą nazwy użytkownika i hasła. Każde zagadnienie zaprezentowano na rzeczywistych przykładach dynamicznych witryn WWW.

Poznaj najnowsze technologie tworzenia dynamicznych witryn WWW

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 PHP5, Apache i MySQL. Od podstaw Autor: Zespó³ autorów T³umaczenie: Rafa³ Joñca ISBN: 83-7361-997-6 Tytu³ orygina³u: Beginning PHP5, Apache, MySQL Web Development Format: B5, stron: 784 Tworzenie dynamicznych witryn WWW za pomoc¹ technologii open source (cid:127) Zainstaluj i skonfiguruj serwery oraz narzêdzia (cid:129) Po³¹cz aplikacjê internetow¹ z baz¹ danych (cid:129) Napisz samodzielnie system zarz¹dzania treœci¹ witryny PHP, Apache i MySQL to najpopularniejsze obecnie technologie s³u¿¹ce do tworzenia i udostêpniania w sieci dynamicznych witryn WWW. £¹czy je jedna wspólna cecha — wszystkie dostêpne s¹ na licencji open source, co oznacza, ¿e korzystanie z nich nie wi¹¿e siê z ¿adnymi op³atami. PHP to jêzyk programowania s³u¿¹cy do pisania aplikacji internetowych, MySQL to baza danych, która przechowuje informacje wyœwietlane na stronach, a Apache to serwer WWW, dziêki któremu witryny te dostêpne s¹ w internecie. Za pomoc¹ tych narzêdzi tworzone s¹ portale, sklepy internetowe, fora dyskusyjne i inne strony, z których codziennie korzystaj¹ dziesi¹tki tysiêcy u¿ytkowników sieci. „PHP5, Apache i MySQL. Od podstaw” to podrêcznik dla tych u¿ytkowników, którzy chc¹ poznaæ sposoby tworzenia dynamicznych witryn WWW w oparciu o te technologie. Przedstawia zasady pisania aplikacji internetowych, stosowania w nich formularzy z mechanizmem weryfikacji poprawnoœci wpisanych danych, ³¹czenia aplikacji z baz¹ danych i modyfikowania elementów graficznych za pomoc¹ PHP. Opisano tu tak¿e sposoby przechowywania danych u¿ytkownika w plikach cookie, mechanizmy wysy³ania poczty elektronicznej, obs³ugi b³êdów i ograniczania dostêpu do okreœlonych obszarów witryny za pomoc¹ nazwy u¿ytkownika i has³a. Ka¿de zagadnienie zaprezentowano na rzeczywistych przyk³adach dynamicznych witryn WWW. (cid:129) Instalacja i konfiguracja Apache, PHP i MySQL-a (cid:129) Podstawowe elementy jêzyka PHP (cid:129) Komunikacja z baz¹ danych (cid:129) Wyœwietlanie oraz modyfikowanie danych (cid:129) Obs³uga formularzy i weryfikacja poprawnoœci wpisów (cid:129) Korzystanie z elementów graficznych i zastosowanie biblioteki GD (cid:129) Obs³uga b³êdów (cid:129) Komunikacja za pomoc¹ poczty elektronicznej (cid:129) Mechanizmy logowania i personalizacji serwisu (cid:129) System zarz¹dzania treœci¹ serwisu WWW (cid:129) Lista mailingowa i forum dyskusyjne (cid:129) Elementy sklepu internetowego (cid:129) Analiza ruchu w witrynie WWW za pomoc¹ statystyk Poznaj najnowsze technologie tworzenia dynamicznych witryn WWW Spis treści O autorach ................................................................................................................................................. 11 Część I Wstęp 13 Rozdział 1. Instalacja i konfiguracja ....................................................................................................... 15 Projekty zawarte w książce ............................................................................................ 15 Krótkie wprowadzenie do PHP, Apache, MySQL-a i wolnego oprogramowania .................... 16 Krótka historia inicjatywy open source ...................................................................... 16 Dlaczego wolne oprogramowanie tak kusi? ............................................................... 17 Jak współgrają ze sobą różne elementy systemu AMP? ................................................... 17 Apache .................................................................................................................. 18 PHP ....................................................................................................................... 19 MySQL ................................................................................................................... 19 Instalacje AMP ....................................................................................................... 20 Konfiguracja serwera Apache ........................................................................................ 21 Testowanie instalacji .............................................................................................. 21 Dostosowanie instalacji .......................................................................................... 22 Konfiguracja instalacji PHP ........................................................................................... 25 Testowanie instalacji .............................................................................................. 26 Dostosowanie instalacji .......................................................................................... 26 Konfiguracja PHP5, aby używał MySQL-a ................................................................... 28 Konfiguracja instalacji MySQL-a ..................................................................................... 28 Testowanie instalacji .............................................................................................. 28 Konfiguracja instalacji ............................................................................................. 30 Gdzie szukać pomocy lub cennych zasobów? ................................................................. 36 Pomoc związana z programami ................................................................................ 37 Źródłowe strony WWW ............................................................................................. 37 Podsumowanie ............................................................................................................ 37 4 PHP5, Apache i MySQL. Od podstaw Część II Witryna recenzji filmów 39 Rozdział 2. Tworzenie stron w PHP5 ...................................................................................................... 41 Omówienie struktury i składni języka PHP ....................................................................... 42 Jak kod PHP umieszcza się w kodzie HTML? ............................................................. 42 Zasady składni języka PHP ...................................................................................... 42 Techniki kodowania są niezmiernie ważne ................................................................ 43 Pierwszy program ......................................................................................................... 45 Wykorzystanie HTML-a do uatrakcyjnienia stron .............................................................. 46 Integracja HTML-a z PHP .......................................................................................... 47 Rozważania na temat kodu HTML w sekcjach PHP ..................................................... 48 Wykorzystanie zmiennych i stałych ................................................................................ 49 Stałe ..................................................................................................................... 49 Zmienne ................................................................................................................ 50 Przekazywanie zmiennych między stronami .................................................................... 53 Kilka słów na temat register_globals ........................................................................ 53 Przekazywanie zmiennych za pomocą adresu URL ..................................................... 54 Przekazywanie zmiennych przy użyciu sesji ................................................................ 58 Przekazywanie zmiennych za pomocą cookies ........................................................... 61 Przekazywanie informacji za pomocą formularzy ........................................................ 64 Instrukcja if-else .......................................................................................................... 68 Korzystanie z instrukcji if ......................................................................................... 69 Wykorzystanie instrukcji if-else ................................................................................. 71 Dołączanie plików w celu zwiększenia elastyczności ....................................................... 72 Wykorzystanie funkcji do zwiększenia efektywności kodu ................................................. 74 Wszystko o tablicach .................................................................................................... 78 Składnia tablic ....................................................................................................... 79 Sortowanie tablic .................................................................................................... 80 Konstrukcja foreach ................................................................................................ 81 Pętla while .................................................................................................................. 86 Alternatywna składnia języka PHP .................................................................................. 89 Alternatywy dla znaczników ?php i ? ..................................................................... 89 Alternatywy dla polecenia echo ................................................................................ 89 Alternatywa dla operatorów logicznych ...................................................................... 90 Alternatywy dla cudzysłowów — składnia heredoc ..................................................... 90 Alternatywy dla inkrementacji i dekrementacji wartości .............................................. 90 Sny o programowaniu obiektowym ................................................................................. 91 Krótki przykład programowania obiektowego ............................................................. 91 Dlaczego warto programować obiektowo? ................................................................. 93 Podsumowanie ............................................................................................................ 93 Ćwiczenia .................................................................................................................... 94 Rozdział 3. Korzystanie z bazy danych z poziomu języka PHP .............................................................95 Omówienie struktury i składni bazy danych MySQL .......................................................... 96 Struktura MySQL-a .................................................................................................. 96 Składnia i polecenia MySQL-a ................................................................................ 103 Jak PHP kontaktuje się z MySQL-em? .......................................................................... 103 Łączenie się z serwerem MySQL ................................................................................. 104 Spojrzenie na gotową bazę danych .............................................................................. 105 Spis treści 5 Odpytywanie bazy danych ........................................................................................... 110 Klauzula WHERE ................................................................................................... 111 Tablice danych w PHP — wykorzystanie konstrukcji foreach ..................................... 113 Łączenie tabel ...................................................................................................... 116 Użyteczne wskazówki i sugestie .................................................................................. 120 Dokumentacja ...................................................................................................... 120 Wykorzystanie systemu phpMyAdmin ...................................................................... 120 Podsumowanie .......................................................................................................... 121 Ćwiczenia .................................................................................................................. 121 Rozdział 4. Wyświetlanie danych w PHP .............................................................................................. 123 Tworzenie tabeli HTML ............................................................................................... 123 Wypełnienie tabeli ...................................................................................................... 126 Związek nadrzędny-podrzędny ...................................................................................... 132 Odczytanie recenzji .................................................................................................... 140 Podsumowanie .......................................................................................................... 145 Ćwiczenia .................................................................................................................. 145 Rozdział 5. Elementy formularzy — wprowadzanie danych przez użytkownika ............................. 147 Pierwszy formularz ..................................................................................................... 148 Element FORM ..................................................................................................... 150 Element INPUT ..................................................................................................... 151 Przetwarzanie formularza ....................................................................................... 152 Nakierowanie na właściwe odpowiedzi ......................................................................... 153 Pole przełącznika i lista rozwijana .......................................................................... 156 Jeden formularz, wiele wykonywanych działań ......................................................... 156 Przyciski opcji ....................................................................................................... 159 Wiele przycisków wysyłania .................................................................................... 160 Proste testowanie danych wejściowych ................................................................... 160 Dynamiczny tytuł strony ......................................................................................... 161 Potraktowanie ciągu znaków jako tablicy w celu zmiany wielkości pierwszej litery tekstu .... 161 Operator trójargumentowy ..................................................................................... 161 Połączenie wszystkich elementów formularzy ................................................................ 162 Główny skrypt ....................................................................................................... 169 Domyślna odpowiedź ............................................................................................ 169 Dodawanie elementów .......................................................................................... 170 Podsumowanie .......................................................................................................... 171 Ćwiczenia .................................................................................................................. 171 Rozdział 6. Umożliwienie użytkownikowi modyfikacji bazy danych ................................................... 173 Przygotowanie pola bitwy ............................................................................................ 174 Wstawienie prostego rekordu za pomocą systemu phpMyAdmin .................................... 176 Wstawianie rekordu w relacyjnej bazie danych .............................................................. 179 Usuwanie rekordu ...................................................................................................... 185 Edycja danych rekordu ................................................................................................ 190 Podsumowanie .......................................................................................................... 197 Ćwiczenie .................................................................................................................. 197 Rozdział 7. Praca z obrazami ............................................................................................................... 199 Korzystanie z biblioteki GD ......................................................................................... 199 Jakie typy plików obsługuje tandem GD i PHP? ........................................................ 200 Kompilacja PHP z obsługą GD ................................................................................ 200 6 PHP5, Apache i MySQL. Od podstaw Umożliwienie umieszczania obrazów na serwerze WWW przez użytkowników ................... 201 Konwersja obrazu na inny format ................................................................................. 208 Czerń i biel ................................................................................................................ 213 Dodanie napisów ....................................................................................................... 220 Dodawanie znaków wodnych i łączenie obrazów ............................................................ 223 Tworzenie miniaturek ................................................................................................. 225 Podsumowanie .......................................................................................................... 229 Ćwiczenia .................................................................................................................. 230 Rozdział 8. Walidacja danych użytkownika ......................................................................................... 231 Użytkownicy są tylko użytkownikami ............................................................................. 231 Zastosowanie walidacji na witrynie z recenzjami filmów ................................................. 232 Zapominalscy ............................................................................................................ 233 Sprawdzanie błędów w formacie .................................................................................. 241 Podsumowanie .......................................................................................................... 252 Ćwiczenie .................................................................................................................. 252 Rozdział 9. Unikanie błędów i ich obsługa ........................................................................................... 253 W jaki sposób serwer Apache radzi sobie z błędami? ........................................................ 253 Dyrektywa ErrorDocument serwera Apache ............................................................. 254 Dyrektywa ErrorDocument — zaawansowane strony błędów ..................................... 258 Obsługa błędów i tworzenie stron obsługi błędów w PHP ............................................... 261 Rodzaje błędów w języku PHP ................................................................................ 261 Generowanie błędów PHP ...................................................................................... 262 Inne sposoby obsługi błędów ...................................................................................... 269 Wyjątki ................................................................................................................. 270 Niespełnienie warunków ........................................................................................ 271 Błędy składniowe .................................................................................................. 272 Podsumowanie .......................................................................................................... 273 Ćwiczenia .................................................................................................................. 273 Część III Witryna fanów komiksów 275 Rozdział 10. Projektowanie i tworzenie bazy danych ........................................................................ 277 Zaczynamy ................................................................................................................ 277 Czym jest relacyjna baza danych? .......................................................................... 278 Klucze ................................................................................................................. 279 Związki ................................................................................................................ 280 Integralność więzów referencyjnych ........................................................................ 280 Normalizacja ........................................................................................................ 281 Projektowanie bazy danych ......................................................................................... 281 Wykonanie pierwszej tabeli .................................................................................... 281 Dlaczego właśnie postacie normalne? .................................................................... 285 Standaryzacja ....................................................................................................... 286 Uszczegółowienie projektu bazy danych .................................................................. 287 Utworzenie bazy danych w MySQL-u ............................................................................. 288 Tworzenie aplikacji postaci komiksowych ..................................................................... 292 Podsumowanie .......................................................................................................... 323 Ćwiczenia .................................................................................................................. 324 Spis treści 7 Rozdział 11. Wysyłanie listów email ..................................................................................................... 325 Ustawienie PHP do obsługi listów email ....................................................................... 325 Wysyłanie listów email ............................................................................................... 326 Umieszczanie w listach kodu HTML ............................................................................. 331 Wiadomości wieloczęściowe .................................................................................. 334 Przechowywanie obrazków .......................................................................................... 337 Uzyskiwanie potwierdzenia .......................................................................................... 339 Tworzenie użytecznej klasy wysyłania listów email ........................................................ 353 Podsumowanie .......................................................................................................... 360 Ćwiczenia .................................................................................................................. 360 Rozdział 12. Logowanie, profile i personalizacja ................................................................................. 361 Najprostszy sposób ochrony plików ............................................................................. 362 Bardziej przyjazne uwierzytelnianie z wykorzystaniem sesji PHP i cookies ........................ 365 Rozwiązanie bazujące na bazie danych ........................................................................ 369 Wykorzystanie cookies w PHP ................................................................................ 390 Panel administracyjny ........................................................................................... 393 Podsumowanie .......................................................................................................... 402 Ćwiczenia .................................................................................................................. 402 Rozdział 13. Zarządzanie zawartością ................................................................................................ 403 Co zrobić, by użytkownik wrócił? .................................................................................. 403 Zawartość ............................................................................................................ 403 Zarządzanie .......................................................................................................... 404 System ................................................................................................................ 404 Połączenie wszystkiego w jedną całość ................................................................... 404 Przygotowanie bazy danych ......................................................................................... 405 Tworzenie skryptów wielokrotnego użytku ..................................................................... 410 Strony transakcji ........................................................................................................ 420 Interfejs użytkownika .................................................................................................. 432 Zadania ogólne ..................................................................................................... 432 Zarządzanie użytkownikami .................................................................................... 441 Publikacja artykułu ................................................................................................ 445 Dodatkowe elementy systemu CMS ....................................................................... 457 Podsumowanie .......................................................................................................... 464 Ćwiczenia .................................................................................................................. 465 Rozdział 14. Listy mailingowe ............................................................................................................... 467 Co chciałbyś dziś wysłać? ........................................................................................... 467 Aplikacja administracyjna ........................................................................................... 468 Chcę się zapisać! ....................................................................................................... 482 Etyka list mailingowych ............................................................................................... 498 Spam .................................................................................................................. 498 Domyślność subskrypcji ........................................................................................ 499 Podsumowanie .......................................................................................................... 500 Ćwiczenia .................................................................................................................. 500 Rozdział 15. Sklep internetowy ............................................................................................................. 501 Dodanie sprzedaży przez internet do witryny postaci komiksowych ................................. 502 Coś na sprzedaż ................................................................................................... 502 Koszyk na zakupy ................................................................................................. 503 8 PHP5, Apache i MySQL. Od podstaw Różne wskazówki dotyczące sprzedaży przez internet .................................................... 540 Informacja jest wszystkim ...................................................................................... 542 Zaufanie .............................................................................................................. 542 Profesjonalny wygląd ............................................................................................. 544 Łatwa nawigacja ................................................................................................... 544 Konkurencyjne ceny .............................................................................................. 545 Odpowiednie produkty ........................................................................................... 545 Dostawa na czas .................................................................................................. 545 Komunikacja ........................................................................................................ 545 Opinie od klientów ................................................................................................ 546 Podsumowanie .......................................................................................................... 546 Ćwiczenia .................................................................................................................. 547 Rozdział 16. Forum dyskusyjne ............................................................................................................ 549 Własne forum dyskusyjne ........................................................................................... 549 Przygotowanie bazy danych ......................................................................................... 551 Wielokrotnie wykorzystywany kod ................................................................................. 559 Podział na podstrony ............................................................................................. 568 Okruszki chleba .................................................................................................... 572 Ostatnie spojrzenie na uwierzytelnianie użytkowników .............................................. 574 Strony transakcji ........................................................................................................ 575 Funkcjonalność konta ................................................................................................. 586 Zarządzanie użytkownikami .................................................................................... 598 Funkcjonalność forum ................................................................................................ 599 Administracja systemem ....................................................................................... 603 Administracja forum .............................................................................................. 604 Administracja kodami BBcode ................................................................................ 604 Wyszukiwanie ....................................................................................................... 617 Dodatkowe pomysły ................................................................................................... 619 Podsumowanie .......................................................................................................... 619 Ćwiczenia .................................................................................................................. 620 Rozdział 17. Zdobywanie informacji na temat użytkowników witryny .............................................. 621 Znajdowanie dzienników zdarzeń ................................................................................. 622 Serwer Apache ..................................................................................................... 622 PHP ..................................................................................................................... 624 Serwer MySQL ...................................................................................................... 624 Analiza danych z dzienników ....................................................................................... 627 Webalizer ............................................................................................................. 627 Analog ................................................................................................................. 628 AWStats ............................................................................................................... 629 HTTP Analyze ........................................................................................................ 630 Analiza uzyskanych statystyk ...................................................................................... 630 Zdrowie witryny ..................................................................................................... 631 Preferencje użytkowników ...................................................................................... 631 Liczba żądań i liczba wyświetleń stron .................................................................... 631 Zmiana trendów w czasie ...................................................................................... 632 Witryny, z których przybył użytkownik ...................................................................... 632 Podsumowanie .......................................................................................................... 632 Spis treści 9 Rozdział 18. Rozwiązywanie problemów ............................................................................................. 633 Problemy przy instalacji .............................................................................................. 633 Błędy analizy składniowej ........................................................................................... 634 Błąd w wierszu 26… miałem na myśli wiersz 94. .................................................... 634 Pamiętaj o podstawach ......................................................................................... 634 Puste zmienne ........................................................................................................... 635 Przekazywanie zmiennych z formularzy .................................................................... 635 Jednolite i poprawne nazwy zmiennych ................................................................... 636 Otwórz nowe okno przeglądarki .............................................................................. 637 Błąd „Headers already Sent” ...................................................................................... 637 Ogólne uwagi na temat testowania skryptów ................................................................ 638 Wykorzystanie instrukcji echo ................................................................................ 638 Dziel i rządź .......................................................................................................... 639 Testowanie, testowanie i raz jeszcze testowanie ..................................................... 639 Gdzie szukać pomocy? ............................................................................................... 640 PHPBuilder.com .................................................................................................... 640 Witryny twórców aplikacji ....................................................................................... 640 Wyszukiwarki ........................................................................................................ 641 Kanały IRC ........................................................................................................... 641 Podsumowanie .......................................................................................................... 641 Dodatki 643 A Rozwiązania ćwiczeń ........................................................................................................................ 645 B Skrót składni języka PHP .................................................................................................................. 685 C Funkcje języka PHP5 ......................................................................................................................... 689 D Typy danych MySQL ........................................................................................................................... 725 E Skrót składni języka bazy danych MySQL ....................................................................................... 729 F Porównanie edytorów tekstów ........................................................................................................ 733 G Wybór firmy obsługującej serwer WWW ....................................................................................... 735 H Wprowadzenie do PEAR ..................................................................................................................... 739 I Instalacja Apache, PHP i MySQL-a ...................................................................................................... 747 Skorowidz ............................................................................................................................................. 755 2 Tworzenie stron w PHP5 Niniejszy rozdział dotyczy podstaw języka PHP i jednocześnie jest początkiem opisu two- rzenia pierwszej witryny internetowej związanej z recenzjami filmów. Po zakończeniu prac nad witryną jej użytkownicy będą mogli odnaleźć informacje na temat konkretnego filmu, a Czytelnik będzie potrafił pisać programy w języku PHP. Nawet jeśli dobrze zna się wcześniejsze wersje PHP, polecamy przeczytanie tego rozdziału i zwrócenie szczególnej uwagi na podrozdział o programowaniu obiektowym, które stanowi nowy element, znacznie udoskonalony w PHP5. Niniejszy rozdział omawia podstawowe polecenia i struktury języka PHP: (cid:81) wykorzystanie echo do wyświetlania tekstu, (cid:81) formatowanie tekstu przy użyciu PHP i HTML, (cid:81) stałe i zmienne, (cid:81) wykorzystanie adresów URL do przekazywania zmiennych, (cid:81) sesje i cookies (tzw. ciasteczka), (cid:81) formularze HTML, (cid:81) konstrukcje if-else, (cid:81) dołączenia innych plików, (cid:81) funkcje, (cid:81) tablice i konstrukcję foreach, (cid:81) pętle while i do-while, (cid:81) wykorzystanie klas i metod w programowaniu obiektowym. Pod koniec rozdziału, po wykonaniu wszystkich ćwiczeń „Wypróbuj”, nikt nie powinien mieć najmniejszych problemów z utworzeniem prostego formularza uwierzytelniania, dania użytkownikom możliwości zobaczenia recenzji ulubionego filmu lub listy 10 najlepszych obrazów oraz zaoferowania ponumerowanej listy filmów bazującej na tym, ile będą oni chcieli zobaczyć. Po drobnych modyfikacjach będzie mogła to być alfabetyczna lista filmów. 42 Część II (cid:81) Witryna recenzji filmów Omówienie struktury i składni języka PHP Programy PHP pisze się w edytorach tekstów, takich jak Notatnik, podobnie jak strony HTML. Niemniej, w odróżnieniu od tradycyjnych stron WWW, strony PHP posiadają rozszerzenie .php. Rozszerzenie to informuje serwer WWW, aby dokonał przetworzenia kodu PHP przed wysłaniem wynikowej strony do przeglądarki internetowej użytkownika. W pięciogwiazdkowej restauracji klienci widzą jedynie talerze pełne wspaniałych potraw, które zostały dla nich przygotowane. Nie wiedzą, skąd pochodzi jedzenie ani jak zostało przygotowane. W podobny sposób PHP przygotowuje kod HTML — użytkownik nie widzi, jak jest on przygotowywany. Jak kod PHP umieszcza się w kodzie HTML? Zakładamy, że Czytelnik zna choć trochę język HTML i zapewne nieraz widział, w jaki sposób wstawiany jest kod języka JavaScript lub innego wewnątrz kodu strony WWW. PHP jest inny — nie tylko umożliwia tworzenie stron internetowych „w locie”, ale jest również niewidoczny dla odwiedzających. Użytkownicy widzą jedynie wynik wykonania napisanego skryptu, czyli kod HTML. Zapewnia to większe bezpieczeństwo kodu PHP i większą ela- styczność przy jego pisaniu. Nic nie stoi na przeszkodzie, aby kod HTML pojawił się w sekcji kodu PHP strony — ułatwia to formatowanie tekstu przy jednoczesnym zachowaniu zwartej budowy bloków kodu. Programista pisze w ten sposób wydajniejszy i lepiej zorganizowany kod, a przeglądarka internetowa (i, co najważniejsze, użytkownik) nie zauważa różnicy. PHP może zostać napisany jako samowystarczalny program bez żadnych wstawek HTML. Takie pliki stosuje się na ogół do przechowywania zmiennych połączeń z bazą danych, przekierowania użytkownika na inną stronę lub wykonania innych funkcji omówionych w książce. Zasady składni języka PHP Jedną z podstawowych zalet PHP jest jego prostota. Podobnie jak w każdym języku pro- gramowania istnieje kilka sposobów na wykonanie tego samego zadania. Po dobrym za- znajomieniu się z podstawami i niektórymi programami, warto rozpocząć poszukiwania skró- tów, które uczynią kod wydajniejszym. Aby nie utrudniać początku znajomości, omówimy jedynie najpopularniejsze techniki, zasady i funkcje języka PHP. Zawsze należy pamiętać o dwóch podstawowych zasadach PHP. (cid:81) Kod PHP umieszcza się na stronie pomiędzy odpowiednimi znacznikami przedstawionymi poniżej: ?php ? (cid:81) Ogólnie rzecz biorąc, wiersze kodu PHP kończą się znakiem średnika: Rozdział 2. (cid:81) Tworzenie stron w PHP5 43 ?php // Pierwszy wiersz kodu; // Drugi wiersz kodu; // Trzeci wiersz kodu; ? Komentarze w kodzie programu umieszcza się, poprzedzając je dwoma ukośnikami // (dotyczy to komentarzy jednowierszowych) lub umieszczając między konstrukcjami /* i */ (komentarze wielowierszowe). Wcięcia nie mają żadnego znaczenia, podobnie jak przejścia do nowych wierszy. Daje to programiście ogromną swobodę, która, niestety, czasem jest nadużywana, co wkrótce przedstawimy na przykładzie. Zupełne podstawy mamy już za sobą. Reszta to w zasadzie tylko doskonalenie swoich zdolności programistycznych. Techniki kodowania są niezmiernie ważne Zanim przejdziemy dalej, warto wskazać, w jaki sposób struktura kodu potrafi wpłynąć na skrypt. Dla serwera WWW zajmującego się przetwarzaniem kodu PHP nie ma ona więk- szego znaczenia — serwer widzi cały kod jako jeden bardzo długi wiersz pozbawiony wszystkich znaków tabulacji, wcięć i przejść do nowych wierszy. Dla człowieka stosowanie odpowiednich wcięć i organizacji kodu ma przeogromne znaczenie. Przyjrzyjmy się przykładom: Przykład 1. ?php if ($_POST[ fname ] == Jan ) { echo p Witaj $_POST[ fname ] /p ; } else { echo h2 Nie masz na imię Jan, więc nie możesz wejść na tę witrynę. /h2 } ? Przykład 2. ?php // sprawdź, czy użytkownik ma na imię Jan, zanim wyświetlisz zawartość witryny if ($_POST[ fname ] == Jan ) { echo p ; echo Witaj ; echo $_POST[ fname ]; echo /p ; } else { echo h2 ; echo Nie masz na imię Jan, więc nie możesz wejść na tę witrynę. ; echo /h2 ; } ? 44 Część II (cid:81) Witryna recenzji filmów Chociaż drugi przykład wymaga więcej pisania, łatwiej w nim zlokalizować błędy w składni lub wyłączyć dany fragment kodu w trakcie przeprowadzania testów. Jest to szczególnie ważne, gdy dopiero zaczyna się przygodę z językiem. Po nabraniu wprawy można pisać bardziej zwięzły kod z przykładu 1. Kiedy program jest dobry? Naprawdę profesjonalny kod powinien wzorować się na wykorzystaniu trzech wskazówek. (cid:81) Spójność. Bloki dobrze napisanego kodu zawsze wyglądają tak samo i mają te same wcięcia, skróty itp. Znacznie ułatwia to późniejsze czytanie kodu. Wspaniałą cechą języka PHP jest to, że nie troszczy się o wcięcia i znaki tabulacji, więc można stosować własny styl, o ile jest on jednolity i wygodny. Ponieważ często istnieje więcej niż jedna składnia związana z wybranym zagadnieniem, dobrzy programiści wybierają jedną składnię i stosują się do niej przez cały czas. Z punktu widzenia interpretera kodu PHP dwa poniższe fragmenty są sobie równoważne: ?php // tutaj znajduje się kod PHP; ? ? // tutaj znajduje się kod PHP; ? Najlepiej wybrać jedno z rozwiązań i trzymać się go cały czas przy pisaniu kodu. (cid:81) Częste komentarze. Im więcej komentarzy zawiera kod, tym lepiej. Choć nie jest to aż tak istotne w krótkich, niewielkich programach, wraz ze wzrostem ich złożoności coraz trudniej zapamiętać, co zostało zrobione, dlaczego zostało napisane i dlaczego dane rozwiązanie jest najlepsze. Szczegółowe komentarze pozwalają przypomnieć sobie dawne motywy. Gdy nad projektem pracuje wielu programistów, komentarze znacząco ułatwiają zrozumienie kodu napisanego przez inną osobę. (cid:81) Numerowanie wierszy. Niektóre edytory tekstu numerują wiersze, ale niestety nie wszystkie. Edytory tekstu omawiamy dokładniej w dalszej części programu. Jeśli edytor nie zapewnia numerowania wierszy, warto zagwarantować to sobie samemu, ponieważ gdy skrypt zawiera błędy, interpreter wyświetla informację, w którym wierszu wykrył nieprawidłowość. Jeśli trzeba będzie ręcznie liczyć wiersze po napotkaniu każdego błędu, testowanie kodu i usuwanie z niego błędów będzie zajmowało niezmiernie dużo czasu. Dlaczego warto troszczyć się o to, jak wygląda kod? Z trzech powodów warto stosować dobre praktyki pisania kodu: (cid:81) Wydajność. Im mniej problemów sprawia przeczytanie kodu, tym łatwiej śledzić, co się w nim dzieje, i w razie potrzeby dokonywać odpowiednich poprawek (nawet po dłuższej przerwie). Rozdział 2. (cid:81) Tworzenie stron w PHP5 45 (cid:81) Usuwanie błędów. Wiedza na temat tego, co jest powodem błędu, jest bezcenna. Gdy stosuje się komentarze, łatwiej zrozumieć logikę programu. Jeżeli dodatkowo stosuje się numerację wierszy i jednolite formatowanie kodu, odnalezienie problematycznego fragmentu zajmuje jedynie chwilę. (cid:81) Przyszłe rozszerzenia i modyfikacje. Stosowanie komentarzy jest niezmiernie ważne, gdy chce się w przyszłości rozbudowywać kod, gdyż niezmiernie trudno przypomnieć sobie logikę skryptu pisanego wiele miesięcy temu. W trakcie pracy w zespole programistycznym komentarze i jednolitość formatowania ułatwiają dokonywanie zmian w kodzie napisanym przez inne osoby. Na tym zakończymy wstęp do programowania — przejdźmy do praktyki. Pierwszy program Chyba nie można napisać prostszego programu od poniższego, ale jego prześledzenie po- zwoli zrozumieć wyniki działania skryptów PHP. Funkcja echo, którą można zauważyć w przedstawionym poniżej skrypcie, jest jedną z najczęściej stosowanych funkcji języka PHP. Służy do wysyłania tekstu (zawartości zmiennych i nie tylko) do przeglądarki internetowej. Wypróbuj — funkcja echo Wypróbuj funkcję echo, aby sprawdzić, jakie będą wyniki. 1. Wpisz poniższy program w ulubionym edytorze tekstu (na przykład Notatniku) i zapisz w pliku firstprog.php. Upewnij się, iż został on zapisany jako „zwykły tekst”, aby uniknąć problemów z interpretacją. Jeśli korzysta się z Notatnika, warto sprawdzić, czy plik nie został zapisany pod nazwą firstprog.php.txt. html head title Pierwszy program w PHP /title /head body ?php echo Jestem drwalem. ; ? /body /html 2. Otwórz program, używając przeglądarki internetowej. Uzyskany wynik powinien wyglądać tak jak na rysunku 2.1. 3. Wyświetl źródło kodu HTML, aby przekonać się, co się tak naprawdę stało ze skryptem PHP. Jak nietrudno zauważyć, kod PHP zniknął i pozostał jedynie kod HTML. 4. Dodaj wyróżniony wiersz z poniższego kodu, aby lepiej zrozumieć istotę działania skryptów PHP. 46 Część II (cid:81) Witryna recenzji filmów Rysunek 2.1. html head title Pierwszy program w PHP /title /head body ?php echo Jestem drwalem. ; echo I jest mi dobrze. ; ? /body /html 5. Zapisz zmodyfikowany plik i otwórz go ponownie w przeglądarce. Oba wiersze zostały złączone razem bez żadnych przerw, choć w kodzie PHP znajdowały się w dwóch osobnych wierszach. Jak to działa? Gdy przeglądarka internetowa wywołuje program PHP, najpierw przeszukuje się cały kod wiersz po wierszu w poszukiwaniu sekcji PHP (kodu PHP umieszczonego w znacznikach), a następnie przetwarza się je po kolei. Serwer traktuje cały kod PHP jak jeden długi wiersz, więc dwa powyższe wiersze zostały złączone na ekranie. Po przetworzeniu kodu PHP serwer wraca do pozostałego jeszcze kodu i wysyła go do przeglądarki wraz z kodem sekcji PHP. Wykorzystanie HTML-a do uatrakcyjnienia stron Jak łatwo zauważyć, wykorzystanie jedynie samego kodu PHP spowodowałoby powstanie bardzo nudnych stron WWW. Wystarczy jednak zastosować trochę kodu HTML, aby stały się one znacznie ciekawsze. Kod HTML umieszcza się w bloku PHP, używając funkcji echo. Skrypt PHP może korzystać z wszystkich elementów HTML, włączając w to ramki, tabele, różne czcionki itp. Rozdział 2. (cid:81) Tworzenie stron w PHP5 47 Integracja HTML-a z PHP Kolejny praktyczny przykład przedstawia, jak łatwo zastosować kod HTML w programie PHP. Wypróbuj — użycie kodu HTML w skrypcie PHP W niniejszym przykładzie łączymy kod PHP i HTML. 1. Zmodyfikuj wyróżnione wiersze programu firstprog.php. html head title Pierwszy program w PHP /title /head body ?php echo h1 Jestem drwalem. /h1 ; echo h2 I jest mi dobrze. /h2 ; ? /body /html 2. Zapisz plik i przeładuj stronę WWW. Uzyskany wynik powinien wyglądać tak jak na rysunku 2.2. Rysunek 2.2. Jak to działa? Funkcja echo po prostu wysyła do przeglądarki to, co zostało jej przekazane, niezależnie od tego, czy jest to zwykły tekst, kod HTML, zmienna itp. Aby to udowodnić, w przedstawionym przykładzie po prostu przekazaliśmy kod HTML, modyfikując następujące wiersze: 48 Część II (cid:81) Witryna recenzji filmów echo h1 Jestem drwalem. /h1 ; echo h2 I jest mi dobrze. /h2 ; Wstawiając kod HTML do sekcji PHP, uzyskujemy dwie rzeczy: (cid:81) Poprawiamy wygląd strony WWW. (cid:81) Utrzymujemy skrypt PHP zwartym, gdyż nie przeskakujemy cały czas między kodem PHP i HTML. Jeśli zajrzy się do kodu źródłowego strony WWW, da się zauważyć, że kod HTML został wstawiony zgodnie z oczekiwaniami. Rozważania na temat kodu HTML w sekcjach PHP Poniżej przedstawiamy kilka wskazówek związanych z typowymi błędami wstawiania kodu HTML w sekcjach PHP. (cid:81) Sprawdzaj cudzysłowy. Łatwo wywnioskować z poprzedniego przykładu, iż funkcja echo wymaga zastosowania cudzysłowów. Ponieważ kod HTML także korzysta z cudzysłowów, warto zastosować jedną z dwóch sztuczek, by uniknąć problemów: (cid:81) Zastosować apostrofy w kodzie HTML. (cid:81) Zastosować znak unikowy (lewy ukośnik) przed każdym cudzysłowem kodu HTML. Oto przykład: echo font size= 2 ; Jest to szczególnie przydatne, gdy chce się umieścić cudzysłowy w tekście. echo Marek powiedział Tak . ; (cid:81) Pamiętaj, że zasady kodu PHP obowiązują także wtedy, gdy stosuje się kod HTML. Czasami zapomina się, pisząc dłuższy fragment kodu HTML w sekcji PHP, że na końcu instrukcji echo trzeba umieszczać cudzysłowy zamykające i średniki. (cid:81) Nie umieszczaj zbyt dużo kodu HTML w sekcjach PHP. Jeśli jest środek sekcji PHP, a kod HTML staje się coraz dłuższy, warto pomyśleć o zakończeniu takiej sekcji i rozpoczęciu pisania wyłącznie w kodzie HTML. Rozważmy dwa poniższe przykłady: Przykład 1. ?php echo table width= 100 border= 2 bgcolor= #FFFFFF ; echo tr ; echo td width= 50 ; echo font face= Verdana, Arial size= 2 ; echo Imię: ; echo /font /td ; echo td width= 50 ; echo font face= Verdana, Arial size= 2 ; echo $_POST[ fname ]; echo /font /td ; echo /tr ; echo /table ;? Rozdział 2. (cid:81) Tworzenie stron w PHP5 49 Przykład 2. table width= 100 border= 2 bgcolor= #FFFFFF tr td width= 50 font face= Verdana, Arial size= 2 Imię: /font /td td width= 50 font face= Verdana, Arial size= 2 ?php echo $_POST[ fname ]; ? /font /td /tr /table Chociaż nie omówiliśmy jeszcze zmiennych, nietrudno zauważyć, iż tak naprawdę w całym fragmencie jedynym dynamicznie wstawianym elementem była zmienna fname. Pozostała treść to po prostu kod HTML. Z tego względu lepiej pozostać w języku HTML i wykorzystać PHP jedynie wtedy, gdy jest naprawdę potrzebny, niż stosować kod HTML w PHP. Choć nie ma to dużego znaczenia dla serwera, upraszcza formatowanie, ułatwia testowanie i nie wymaga tyle pisania (co zawsze jest dobrą rzeczą). Zawsze trzeba umieć zachować równowagę między kodem HTML i PHP w trakcie pisania dowolnej witryny internetowej. Wykorzystanie zmiennych i stałych Omówiliśmy podstawy wykorzystywania funkcji echo do wyświetlania dowolnego tekstu. Na razie nie różni się to niczym od pisania standardowej strony WWW w HTML-u. Dopiero zastosowanie stałych i zmiennych pozwala językowi PHP pokazać całą swoją moc. Stałe Stała to symbol zastępczy dla wartości, z której korzysta się w kodzie. Na ogół stałe pisze się wielkimi literami (aby łatwiej odnaleźć je w kodzie), a ich wartości definiuje się przed użyciem symbolu zastępczego. Nazwy stałych muszą zaczynać się od litery lub podkreślenia i nie mogą zaczynać się od cyfry. Interpreter skryptów zwraca uwagę na wielkość liter. Stałe definiuje się za pomocą funkcji define(). Po zdefiniowaniu stałej nie można jej zmienić ani usunąć. Wypróbuj — wykorzystanie stałych W ćwiczeniu przedstawimy wykorzystanie stałych w programie PHP. 1. Otwórz edytor tekstu i wpisz poniższy program: 50 Część II (cid:81) Witryna recenzji filmów html head title Witryna o filmach /title /head body ?php define ( FAVMOVIE , Żywot Briana ); echo Mój ulubiony film to ; echo FAVMOVIE; ? /body /html 2. Zapisz tekst w pliku moviesite.php i otwórz go, używając przeglądarki internetowej. Strona powinna wyglądać tak jak na rysunku 2.3. Rysunek 2.3. Jak to działa? Definiując stałą o nazwie FAVMOVIE, przypisaliśmy jej wartość Żywot Briana, która może zostać użyta i wyświetlona w przyszłości. Choć stałej nie można zmienić ani usunąć, jest ona dostępna w dowolnym miejscu skryptu. Zmienne W odróżnieniu od stałych, zmienne, jak sama nazwa wskazuje, potrafią się zmieniać — różne fragmenty programu mogą modyfikować ich zawartość. Zmienne nie muszą być definiowane lub deklarowane. Wystarczy coś do nich przypisać, gdy jest to konieczne. Zmienne mogą przechowywać dane tekstowe lub numeryczne. Rozdział 2. (cid:81) Tworzenie stron w PHP5 51 Zmienne poprzedza się znakiem dolara ($), a wielkość liter ma znaczenie (innymi słowy, $WpisanaData i $wpisanaData to dwie różne zmienne). Pierwszy znak zmiennej musi być znakiem podkreślenia lub literą i nie może być cyfrą. W poprzedniej wersji języka PHP (4.) zmienne nie były przekazywane przez referencję, jeśli nie poprzedziło się ich znakiem ampersanda ( ). W PHP5 wszystkie zmienne są przekazywane przez referencję i nie jest do tego wymagana żadna dodatkowa skład- nia. W znaczący sposób poprawia to szybkość i elastyczność programów. Nie należy się przejmować, jeśli to, co tu napisaliśmy, nie jest dla kogoś jasne. Staje się to istotne dopiero w bardziej złożonych aplikacjach. Wypróbuj — wykorzystanie zmiennych W ćwiczeniu do istniejącego już skryptu dodamy zmienne. 1. Otwórz edytor tekstu i dokonaj w pliku moviesite.php odpowiednich zmian (zostały one wyróżnione). html head title Witryna o filmach /title /head body ?php define ( FAVMOVIE , Żywot Briana ); echo Mój ulubiony film to ; echo FAVMOVIE; echo br ; $movierate = 5; echo Moja ocena dla tego filmu wynosi ; echo $movierate; ? /body /html 2. Zapisz zmiany i otwórz plik w przeglądarce internetowej. Powinna pojawić się strona przedstawiona na rysunku 2.4. Rysunek 2.4. 52 Część II (cid:81) Witryna recenzji filmów Jak to działa? Wartość „5” jest przypisywana do zmiennej movierate. Warto zauważyć, że nie jest to zmienna tekstowa, ale liczbowa. Poniższy wiersz spowodował przypisanie zmiennej jako ciągu znaków. $movierate = 5 ; Zachowując zmienną jako liczbę, umożliwiamy przeprowadzanie na niej w przyszłości operacji matematycznych (na przykład wyliczenie średniej oceny filmu). Oto przykład: ?php $bobsmovierate = 5; $joesmovierate = 7; $grahamsmovierate = 2; $zabbysmovierate = 1; $avgmovierate = (($bobsmovierate + $joesmovierate + $grahamsmovierate + $zabbysmovierate) / 4); echo Średnia ocena dla tego filmu wynosi ; echo $avgmovierate; ? Język PHP posiada wiele wbudowanych funkcji matematycznych, z których można korzystać dla zmiennych zawierających liczby. Oto kilka z nich: (cid:81) Funkcja rand([min], [maks]) — generuje losową liczbę całkowitą z podanego przedziału. (cid:81) Funkcja ceil(liczba) — zaokrągla liczbę w górę do liczby całkowitej. (cid:81) Funkcja floor(liczba) — zaokrągla liczbę w dół do liczby całkowitej. (cid:81) Funkcja number_format(liczba [, po przecinku] [, znak przecinka] [, znak tysięcy]) — formatuje liczbę zgodnie z podaną liczbą miejsc po przecinku, używając przekazanych znaków jako przecinka i separatora tysięcy. Domyślnie PHP używa kropki jako separatora części całkowitej i ułamkowej oraz przecinka jako separatora kolejnych tysięcy. Jeśli takie formatowanie jest odpowiednie, można pominąć opcjonalne parametry umieszczone w nawiasach kwadratowych. Aby otrzymać formatowanie stosowane w Polsce, trzeba napisać następujący kod: $price = 12345.67; number_format($price); // zwraca 12,345.67 number_format($price, 2, , , ); // zwraca 12 345,67 (cid:81) Funkcja max(argument1, argument2, ...) — zwraca maksymalną wartość z przekazanych argumentów. (cid:81) Funkcja min(argument1, argument2, ...) — zwraca minimalną wartość z przekazanych argumentów. Pełna lista funkcji matematycznych języka PHP znajduje się w dodatku C.
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

PHP5, Apache i MySQL. Od podstaw
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ą: