PHP5, Apache i MySQL. Od podstaw.pdf

(225733 KB) Pobierz
13875593 UNPDF
13875593.001.png
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
Zgłoś jeśli naruszono regulamin