Stwórz własną dynamiczną witrynę WWW.
Zainstaluj i skonfiguruj PHP oraz serwery Apache i MySQL
Naucz się zasad programowania w PHP
Połącz aplikację WWW z bazą danych
Poznaj sekrety zabezpieczania i optymalizowania aplikacji sieciowych
Dynamiczne witryny WWW spotykamy w sieci coraz częściej. Po mechanizmy bazodanowe i technologie skryptowe działające po stronie serwera sięgają już nie tylko twórcy portali i sklepów internetowych, ale także ci, którym jeszcze do niedawna wystarczał zwykły, statyczny HTML. Wśród technologii wykorzystywanych do tworzenia dynamicznych stron WWW od dawna prym wiedzie duet PHP i MySQL, instalowany na serwerach WWW pracujących pod kontrolą Apache'a. Te właśnie narzędzia są najczęściej wykorzystywane do tworzenia galerii, forów dyskusyjnych, giełd ogłoszeniowych i wielu innych aplikacji WWW.
'PHP, MySQL i Apache dla każdego. Wydanie II' to podręcznik dla wszystkich, którzy chcą poznać zasady tworzenia dynamicznych witryn WWW z wykorzystaniem najpopularniejszych obecnie technologii. Książka opisuje proces instalacji i konfiguracji Apache'a, MySQL-a i PHP na serwerze oraz na stacji roboczej, elementy języka PHP oraz zasady stosowania języka SQL. Na praktycznych przykładach przedstawia możliwości wykorzystywania PHP i bazy danych do tworzenia elementów dynamicznych stron WWW oraz całych projektów. Czytając ją, nauczysz się zabezpieczać aplikacje WWW oraz poprawiać wydajność ich działania.
Instalowanie i konfigurowanie narzędzi
Programowanie w języku PHP
Funkcje, tablice i obiekty
Przetwarzanie danych z formularzy
Obsługa sesji oraz systemu plików
Dynamiczne generowanie grafiki
Integracja PHP z MySQL
Operacje na danych w tabelach i język SQL
Tworzenie prostych projektów aplikacji WWW
Monitorowanie pracy aplikacji
Mechanizmy bezpieczeństwa i uwierzytelniania użytkowników
Poprawa wydajności aplikacji
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, MySQL i Apache
dla ka¿dego. Wydanie II
Autor: Julie C. Meloni
T³umaczenie: Adam Byrtek (wprowadzenie, rozdz. 1 – 14),
Jaros³aw Dobrzañski (rozdz. 15 – 32)
ISBN: 83-7361-877-5
Tytu³ orygina³u: Sams Teach Yourself PHP,
MySQL and Apache All in One, 2nd Edition
Format: B5, stron: 588
Stwórz w³asn¹ dynamiczn¹ witrynê WWW
• Zainstaluj i skonfiguruj PHP oraz serwery Apache i MySQL
• Naucz siê zasad programowania w PHP
• Po³¹cz aplikacjê WWW z baz¹ danych
• Poznaj sekrety zabezpieczania i optymalizowania aplikacji sieciowych
Dynamiczne witryny WWW spotykamy w sieci coraz czêġciej. Po mechanizmy
bazodanowe i technologie skryptowe dzia³aj¹ce po stronie serwera siêgaj¹ ju¿ nie
tylko twórcy portali i sklepów internetowych, ale tak¿e ci, którym jeszcze do niedawna
wystarcza³ zwyk³y, statyczny HTML. Wġród technologii wykorzystywanych do
tworzenia dynamicznych stron WWW od dawna prym wiedzie duet PHP i MySQL,
instalowany na serwerach WWW pracuj¹cych pod kontrol¹ Apache’a. Te w³aġnie
narzêdzia s¹ najczêġciej wykorzystywane do tworzenia galerii, forów dyskusyjnych,
gie³d og³oszeniowych i wielu innych aplikacji WWW.
„PHP, MySQL i Apache dla ka¿dego. Wydanie II” to podrêcznik dla wszystkich,
którzy chc¹ poznaæ zasady tworzenia dynamicznych witryn WWW z wykorzystaniem
najpopularniejszych obecnie technologii. Ksi¹¿ka opisuje proces instalacji i konfiguracji
Apache’a, MySQL-a i PHP na serwerze oraz na stacji roboczej, elementy jêzyka PHP
oraz zasady stosowania jêzyka SQL. Na praktycznych przyk³adach przedstawia
mo¿liwoġci wykorzystywania PHP i bazy danych do tworzenia elementów
dynamicznych stron WWW oraz ca³ych projektów. Czytaj¹c j¹, nauczysz siê
zabezpieczaæ aplikacje WWW oraz poprawiaæ wydajnoġæ ich dzia³ania.
• Instalowanie i konfigurowanie narzêdzi
• Programowanie w jêzyku PHP
• Funkcje, tablice i obiekty
• Przetwarzanie danych z formularzy
• Obs³uga sesji oraz systemu plików
• Dynamiczne generowanie grafiki
• Integracja PHP z MySQL
• Operacje na danych w tabelach i jêzyk SQL
• Tworzenie prostych projektów aplikacji WWW
• Monitorowanie pracy aplikacji
• Mechanizmy bezpieczeñstwa i uwierzytelniania u¿ytkowników
• Poprawa wydajnoġci aplikacji
Spis treści
O Autorach ...................................................h.................................. 15
Podziękowania ...................................................h............................. 17
Wprowadzenie ...................................................h............................. 19
Część I Podstawy ...................................................d...................23
Rozdział 1. Szybka instalacja ...................................................h......................... 25
Instalacja w systemie Linux/Unix ...................................................w............................... 25
Instalacja MySQL ...................................................w................................................. 26
Instalacja Apache ...................................................w.................................................. 27
Instalacja PHP ...................................................w...................................................w.... 27
Instalacja w systemie Windows ...................................................w................................... 29
Instalacja MySQL ...................................................w................................................. 29
Instalacja Apache ...................................................w.................................................. 30
Instalacja PHP ...................................................w...................................................w.... 32
Rozwiązywanie problemów ...................................................w........................................ 34
Rozdział 2. Instalacja i konfiguracja MySQL ...................................................h... 37
Wersja aktualna i przyszłe wersje MySQL ...................................................w................ 37
Jak zdobyć MySQL ...................................................w...................................................w.. 38
Instalacja MySQL w systemie Linux/Unix ...................................................w................. 38
Instalacja MySQL w systemie Windows ...................................................w..................... 39
Rozwiązywanie problemów instalacji ...................................................w......................... 43
Podstawy bezpieczeństwa ...................................................w........................................... 44
Uruchamianie MySQL ...................................................w.......................................... 45
Zabezpieczanie połączenia MySQL ...................................................w...................... 45
Wprowadzenie do systemu uprawnień MySQL ...................................................w.......... 46
Dwustopniowa autoryzacja ...................................................w................................... 47
Korzystanie z systemu uprawnień ...................................................w............................... 48
Dodawanie użytkowników ...................................................w.................................... 48
Usuwanie uprawnień ...................................................w............................................. 50
Podsumowanie ...................................................w...................................................w......... 51
Pytania i odpowiedzi ...................................................w...................................................w 51
Warsztaty ...................................................w...................................................w...............
... 52
Test ...................................................w...................................................w....................
. 52
Odpowiedzi ...................................................w...................................................w........ 52
Ćwiczenia ...................................................w...................................................w........... 52
4
PHP, MySQL i Apache dla każdego
Rozdział 3. Instalacja i konfiguracja Apache ...................................................h.. 53
Wersja aktualna i przyszłe wersje Apache ..................................................w.................... 53
Wybór sposobu instalacji ...................................................w............................................ 54
Kompilacja kodu źródłowego ...................................................w............................... 54
Instalacja dystrybucji binarnej ...................................................w.............................. 54
Instalacja Apache w systemie Linux/Unix ...................................................w.................. 55
Pobieranie kodu źródłowego ...................................................w................................. 55
Rozpakowanie kodu źródłowego ...................................................w.......................... 55
Przygotowania do kompilacji Apache ...................................................w................... 56
Budowanie i instalacja Apache ...................................................w............................. 57
Instalacja Apache w systemie Windows ...................................................w...................... 57
Format pliku konfiguracyjnego Apache ...................................................w...................... 60
Dyrektywy ...................................................w...................................................w.......... 60
Pojemniki ...................................................w...................................................w........... 62
Instrukcje warunkowe ...................................................w........................................... 63
ServerRoot ...................................................w...................................................w......... 64
Pliki konfiguracyjne dla katalogów ...................................................w....................... 64
Pliki dziennika Apache ...................................................w................................................ 65
access_log ...................................................w...................................................w.......... 65
error_log ...................................................w...................................................w............. 66
Pozostałe pliki ...................................................w...................................................w.... 66
Polecenia związane z Apache ...................................................w...................................... 66
Serwer Apache ...................................................w...................................................w... 66
Skrypt kontrolny Apache ...................................................w...................................... 68
Pierwsze uruchomienie Apache ...................................................w................................... 68
Sprawdzanie pliku konfiguracyjnego ...................................................w.................... 68
Uruchamianie Apache ...................................................w........................................... 69
Rozwiązywanie problemów ...................................................w........................................ 69
Inny serwer WWW ...................................................w............................................... 69
Brak uprawnień do portu ...................................................w....................................... 70
Dostęp zabroniony ...................................................w................................................ 70
Złe parametry grupy ...................................................w.............................................. 71
Podsumowanie ...................................................w...................................................w......... 71
Pytania i odpowiedzi ...................................................w...................................................w 71
... 72
Warsztaty ...................................................w...................................................w...............
Test ...................................................w...................................................w....................
. 72
Odpowiedzi ...................................................w...................................................w........ 72
Ćwiczenia ...................................................w...................................................w........... 72
Rozdział 4. Instalacja i konfiguracja PHP ...................................................h....... 73
Wersja aktualna i przyszłe wersje PHP ...................................................w....................... 73
Kompilacja PHP w systemie Linux/Unix ...................................................w.................... 74
Dodatkowe opcje konfiguracyjne ...................................................w.......................... 75
Integracja PHP z Apache w systemie Linux/Unix ...................................................w 75
Instalacja PHP w systemie Windows ...................................................w.......................... 76
Integracja PHP z Apache w systemie Windows ...................................................w.... 76
Plik php.ini ...................................................w...................................................w............
... 77
Testowanie ...................................................w...................................................w..............
. 78
Gdzie znaleźć pomoc ...................................................w...................................................w 78
Podstawy skryptów PHP ...................................................w............................................. 80
Początek i koniec bloku instrukcji PHP ...................................................w................ 81
Instrukcja echo i funkcja print() ...................................................w............................ 82
Łączenie HTML i PHP ..................................................w........................................... 83
Komentarze w kodzie PHP ...................................................w................................... 83
Podsumowanie ...................................................w...................................................w......... 85
Pytania i odpowiedzi ...................................................w...................................................w 85
Spis treści
5
... 86
Warsztaty ...................................................w...................................................w...............
Test ...................................................w...................................................w....................
. 86
Odpowiedzi ...................................................w...................................................w........ 86
Ćwiczenia ...................................................w...................................................w........... 86
Część II Struktura języka PHP ...................................................d.87
Rozdział 5. Podstawowe elementy języka PHP .................................................. 89
... 89
Zmienne ...........................................w...................................................w.........................
Zmienne globalne i superglobalne ...................................................w........................ 91
Typy danych ...................................................w...................................................w.............92
Zmiana typu za pomocą settype() ..................................................w........................... 94
Zmiana typu poprzez rzutowanie ...................................................w.......................... 95
Po co sprawdzać typ? ...................................................w............................................ 97
Operatory i wyrażenia ...................................................w................................................. 97
Operator przypisania ...................................................w............................................. 98
Operatory arytmetyczne ...................................................w........................................ 98
Operator konkatenacji ...................................................w........................................... 98
Złożony operator przypisania ...................................................w................................ 99
Inkrementacja i dekrementacja wartości zmiennej całkowitej ............................... 100
Operatory porównania ...................................................w......................................... 101
Tworzenie złożonych wyrażeń za pomocą operatorów logicznych ........................ 102
Kolejność operatorów ...................................................w......................................... 103
Stałe ...................................................w...................................................w...................
..... 104
Stałe predefiniowane ...................................................w........................................... 105
Podsumowanie ...................................................w...................................................w....... 105
Pytania i odpowiedzi ...................................................w................................................. 105
Warsztaty ...................................................w...................................................w...............
. 106
Test ...................................................w...................................................w................... 106
Odpowiedzi ...................................................w...................................................w...... 107
Ćwiczenia ...................................................w...................................................w......... 107
Rozdział 6. Sterowanie przepływem w PHP ...................................................h... 109
Zmiana przepływu ...................................................w...................................................w.. 110
Instrukcja if ...................................................w...................................................w...... 110
Użycie klauzuli else w instrukcji if ...................................................w..................... 111
Użycie klauzuli else if w instrukcji if ...................................................w.................. 111
Instrukcja switch ...................................................w................................................. 113
Operator ? ..................................................w...................................................w.......... 114
Pętle ...................................................w...................................................w...................
..... 115
Instrukcja while ...................................................w...................................................w 115
Instrukcja do…while ...................................................w........................................... 116
Instrukcja for ...................................................w...................................................w.... 117
Przerywanie pętli za pomocą instrukcji break ...................................................w..... 118
Pomijanie iteracji za pomocą instrukcji continue ...................................................w 120
Zagnieżdżone pętle ...................................................w............................................. 121
Bloki kodu PHP ...................................................w...................................................w...... 122
Podsumowanie ...................................................w...................................................w....... 124
Pytania i odpowiedzi ...................................................w................................................. 124
Warsztaty ...................................................w...................................................w...............
. 124
Test ...................................................w...................................................w................... 125
Odpowiedzi ...................................................w...................................................w...... 125
Ćwiczenie ...................................................w...................................................w......... 126
6
PHP, MySQL i Apache dla każdego
Rozdział 7. Funkcje ...................................................h..................................... 127
Czym jest funkcja? ...................................................w...................................................w. 127
Wywoływanie funkcji ...................................................w............................................... 128
Definiowanie funkcji ...................................................w................................................. 129
Zwracanie wartości przez funkcje użytkownika ...................................................w........ 131
Zasięg zmiennych ...................................................w...................................................w... 132
Wywoływanie zmiennych za pomocą instrukcji global ......................................... 133
Przechowywanie wartości pomiędzy wywołaniami funkcji za pomocą instrukcji static .......135
Więcej o argumentach ...................................................w............................................... 137
Przypisywanie zmiennym wartości domyślnych ...................................................w. 137
Przekazywanie zmiennych przez referencję ...................................................w........ 139
Sprawdzanie istnienia funkcji ...................................................w.................................... 140
Podsumowanie ...................................................w...................................................w....... 142
Pytania i odpowiedzi ...................................................w................................................. 142
Warsztaty ...................................................w...................................................w...............
. 142
Test ...................................................w...................................................w................... 142
Odpowiedzi ...................................................w...................................................w...... 143
Ćwiczenie ...................................................w...................................................w......... 143
Rozdział 8. Tablice i obiekty ...................................................h........................ 145
Czym jest tablica? ...................................................w...................................................w.. 145
Tworzenie tablic ...................................................w...................................................w..... 146
Tworzenie tablic asocjacyjnych ...................................................w.......................... 147
Tworzenie tablic wielowymiarowych ...................................................w................. 147
Niektóre funkcje operujące na tablicach ...................................................w....................... 149
Tworzenie obiektu ...................................................w...................................................w.. 151
Własności obiektów ...................................................w............................................ 152
Metody obiektów ...................................................w................................................ 153
Konstruktor ...................................................w...................................................w...... 155
Dziedziczenie ...................................................w...................................................w......... 155
Podsumowanie ...................................................w...................................................w....... 157
Pytania i odpowiedzi ...................................................w................................................. 157
Warsztaty ...................................................w...................................................w...............
. 157
Test ...................................................w...................................................w................... 157
Odpowiedzi ...................................................w...................................................w...... 158
Ćwiczenia ...................................................w...................................................w......... 158
Część III Pierwsze kroki z kodem ...............................................159
Rozdział 9. Ciągi znaków, data i czas ...................................................h........... 161
Formatowanie ciągów znaków ...................................................w.................................. 162
Funkcja printf() ...................................................w...................................................w 162
Zamiana argumentów ...................................................w.......................................... 168
Przechowywanie sformatowanych ciągów znaków ............................................... 169
Analizowanie ciągów znaków ...................................................w................................... 170
Uwaga na temat indeksowania ciągów znaków ...................................................w.. 170
Sprawdzanie długości ciągu za pomocą funkcji strlen() ........................................ 170
Znajdowanie podciągu za pomocą strstr() ...................................................w........... 171
Określanie pozycji podciągu za pomocą funkcji strpos() ....................................... 171
Pobieranie części ciągu za pomocą funkcji substr() ............................................... 172
Podział ciągu na słowa za pomocą funkcji strtok() ................................................ 172
Operacje na ciągach znaków ...................................................w..................................... 174
Oczyszczanie ciągu za pomocą funkcji trim(), ltrim(), rtrim() i strip_tags() .......... 174
Zmiana fragmentu ciągu za pomocą funkcji substr_replace() ................................ 175
Zamiana podciągów za pomocą funkcji str_replace() ............................................ 176
Spis treści
7
Zmiana wielkości liter ...................................................w......................................... 176
Zawijanie tekstu za pomocą funkcji wordwrap() i nl2br() ..................................... 177
Dzielenie ciągów za pomocą funkcji explode() ..................................................w.... 179
Funkcje operujące na dacie i czasie ...................................................w........................... 179
Pobieranie bieżącej daty za pomocą funkcji time() ................................................ 179
Konwersja znacznika czasu za pomocą funkcji getdate() ....................................... 180
Formatowanie znacznika czasu za pomocą funkcji date() ...................................... 181
Tworzenie znacznika czasu za pomocą funkcji mktime() ...................................... 183
Weryfikacja daty za pomocą funkcji checkdate() ..................................................w. 184
Podsumowanie ...................................................w...................................................w....... 185
Pytania i odpowiedzi ...................................................w................................................. 185
Warsztaty ...................................................w...................................................w...............
. 185
Test ...................................................w...................................................w................... 185
Odpowiedzi ...................................................w...................................................w...... 186
Ćwiczenia ...................................................w...................................................w......... 186
Rozdział 10. Formularze ...................................................h................................ 189
Tworzenie prostego formularza ...................................................w................................. 189
Przekazywanie informacji w tablicach ...................................................w...................... 191
Łączenie kodu HTML i PHP w jednym skrypcie ...................................................w...... 194
Zapisywanie informacji o stanie w ukrytym polu ...................................................w...... 196
Przekierowania ...................................................w...................................................w....... 197
Wysyłanie poczty elektronicznej ...................................................w............................... 199
Konfiguracja systemu ...................................................w.......................................... 199
Tworzenie formularza ...................................................w......................................... 200
Skrypt wysyłający wiadomość ...................................................w............................ 201
Formatowanie wiadomości za pomocą HTML ...................................................w... 202
Przesyłanie plików ...................................................w...................................................w. 204
Tworzenie formularza wysyłającego plik ...................................................w............ 204
Skrypt obsługujący przesłany plik ..................................................w........................ 206
Podsumowanie ...................................................w...................................................w....... 207
Warsztaty ...................................................w...................................................w...............
. 208
Test ...................................................w...................................................w................... 208
Odpowiedzi ...................................................w...................................................w...... 208
Ćwiczenia ...................................................w...................................................w......... 208
Rozdział 11. Cookies i sesje ...................................................h.......................... 209
Wprowadzenie do cookies ...................................................w......................................... 209
Anatomia cookie ...................................................w................................................. 210
Tworzenie cookie ...................................................w...................................................w... 211
Usuwanie cookie ...................................................w................................................. 212
Wprowadzenie do sesji ...................................................w.............................................. 212
Otwieranie sesji ...................................................w...................................................w...... 213
Zmienne sesyjne ...................................................w...................................................w..... 214
Przekazywanie identyfikatora sesji w adresie ...................................................w............ 218
Niszczenie sesji i usuwanie zmiennych ...................................................w..................... 218
Zastosowania sesji ...................................................w...................................................w.. 219
Obsługa zarejestrowanych użytkowników ...................................................w.......... 219
Obsługa ustawień użytkownika ...................................................w........................... 219
Podsumowanie ...................................................w...................................................w....... 220
Pytania i odpowiedzi ...................................................w................................................. 220
Warsztaty ...................................................w...................................................w...............
. 220
Test ...................................................w...................................................w................... 220
Odpowiedzi ...................................................w...................................................w...... 221
Ćwiczenie ...................................................w...................................................w......... 221
8
PHP, MySQL i Apache dla każdego
Rozdział 12. Pliki i katalogi ...................................................h........................... 223
Dołączanie plików za pomocą funkcji include() ...................................................w....... 223
Zwracanie wartości z dołączonego dokumentu ...................................................w... 224
Instrukcja include() wewnątrz struktur sterujących ................................................ 225
Użycie include_once() ...................................................w........................................ 226
Dyrektywa include_path ...................................................w..................................... 226
Weryfikacja plików ...................................................w...................................................w 227
Sprawdzanie, czy dany plik istnieje, za pomocą funkcji file_exists() .................... 227
Plik czy katalog? ...................................................w................................................. 228
Sprawdzanie uprawnień pliku ...................................................w............................. 228
Sprawdzanie rozmiaru pliku za pomocą funkcji filesize() ..................................... 229
Pobieranie informacji o datach związanych z plikiem ........................................... 229
Funkcja wyświetlająca informacje o pliku ...................................................w.......... 230
Tworzenie i usuwanie plików ...................................................w.................................... 231
Otwieranie plików do zapisu, odczytu i dopisywania ...................................................w 232
Odczytywanie danych z pliku ...................................................w................................... 233
Odczytywanie wierszy za pomocą funkcji fgets() i feof() ...................................... 233
Odczytywanie określonej ilości danych za pomocą funkcji fread() ....................... 234
Odczytywanie kolejnych znaków za pomocą funkcji fgetc() ................................. 236
Zapisywanie i dopisywanie danych do pliku ...................................................w............. 237
Zapisywanie danych do pliku za pomocą funkcji fwrite() i fputs() ........................ 237
Blokowanie plików za pomocą funkcji flock() ...................................................w... 238
Operacje na katalogach ..................................................w............................................... 239
Tworzenie katalogów za pomocą funkcji mkdir() .................................................. 239
Usuwanie katalogu za pomocą rmdir() ...................................................w................ 240
Otwieranie katalogu za pomocą funkcji opendir() ................................................. 240
Odczytywanie zawartości katalogu za pomocą funkcji readdir() ........................... 240
Podsumowanie ...................................................w...................................................w....... 242
Pytania i odpowiedzi ...................................................w................................................. 242
Warsztaty ...................................................w...................................................w...............
. 242
Test ...................................................w...................................................w................... 242
Odpowiedzi ...................................................w...................................................w...... 243
Ćwiczenia ...................................................w...................................................w......... 243
Rozdział 13. Środowisko serwera ...................................................h................... 245
Otwieranie potoku za pomocą funkcji popen() ...................................................w.......... 245
Przekazywanie poleceń do powłoki za pomocą funkcji exec() ..................................... 247
Wykonywanie poleceń za pomocą funkcji system() lub passthru() .............................. 249
Podsumowanie ...................................................w...................................................w....... 250
Pytania i odpowiedzi ...................................................w................................................. 250
Warsztaty ...................................................w...................................................w...............
. 251
Test ...................................................w...................................................w................... 251
Odpowiedzi ...................................................w...................................................w...... 251
Rozdział 14. Obrazki ...................................................h...................................... 253
Proces powstawania obrazka ...................................................w..................................... 253
Kilka słów o kolorze ...................................................w........................................... 253
Konieczne zmiany w PHP ...................................................w......................................... 254
Pobieranie dodatkowych bibliotek ...................................................w...................... 254
Rysowanie nowego obrazka ...................................................w...................................... 255
Rysowanie kształtów i linii ...................................................w................................. 255
Wypełnianie kształtów kolorem ...................................................w.......................... 257
Rysowanie wykresów ...................................................w................................................ 258
Modyfikacja istniejących obrazków ...................................................w.......................... 262
Tworzenie obrazków na podstawie danych przesłanych przez użytkownika ............... 264
Podsumowanie ...................................................w...................................................w....... 268
Spis treści
9
Pytania i odpowiedzi ...................................................w................................................. 268
Warsztaty ...................................................w...................................................w...............
. 268
Test ...................................................w...................................................w................... 269
Odpowiedzi ...................................................w...................................................w...... 269
Ćwiczenie ...................................................w...................................................w......... 269
Część IV Integracja PHP i MySQL ..............................................271
Rozdział 15. Tajniki procesu projektowania bazy danych .................................... 273
Rola dobrego projektu bazy danych ...................................................w.......................... 273
Typy relacji między tabelami ...................................................w.................................... 274
Relacje jeden do jednego ...................................................w.................................... 275
Relacje jeden do wielu ...................................................w........................................ 275
Relacje wiele do wielu ...................................................w........................................ 276
Normalizacja ...................................................w...................................................w.......... 277
Problemy z tabelą prostą ...................................................w..................................... 278
Pierwsza postać normalna ...................................................w................................... 278
Druga postać normalna ...................................................w....................................... 279
Trzecia postać normalna ..................................................w....................................... 280
Postępowanie zgodnie z procesem projektowania ...................................................w..... 280
Podsumowanie ...................................................w...................................................w....... 281
Pytania i odpowiedzi ...................................................w................................................. 282
Warsztaty ...................................................w...................................................w...............
. 282
Test ...................................................w...................................................w................... 282
Odpowiedzi ...................................................w...................................................w...... 282
Ćwiczenie ...................................................w...................................................w......... 282
Rozdział 16. Podstawowe polecenia SQL ...................................................h....... 283
Typy danych w MySQL ...................................................w............................................ 284
Liczbowe typy danych ...................................................w........................................ 284
Typy czasu i daty ...................................................w................................................ 285
Typy łańcuchowe ...................................................w................................................ 286
Składnia tworzenia tabel ...................................................w........................................... 287
Używanie polecenia INSERT ...................................................w.................................... 288
Bliższe spojrzenie na INSERT ...................................................w............................ 288
Stosowanie polecenia SELECT ...................................................w................................. 290
Porządkowanie wyników zwracanych przez SELECT ........................................... 291
Ograniczanie wyników ...................................................w........................................ 291
Używanie WHERE w zapytaniach ...................................................w............................ 292
Stosowanie operatorów w klauzuli WHERE ...................................................w....... 293
Porównywanie łańcuchów za pomocą LIKE ...................................................w....... 294
Selekcja z kilku tabel ...................................................w................................................. 294
Używanie JOIN ...................................................w...................................................w 296
Modyfikowanie rekordów za pomocą polecenia UPDATE .......................................... 298
Warunkowe instrukcje UPDATE ...................................................w........................ 300
Stosowanie bieżących wartości kolumn z UPDATE .............................................. 300
Używanie polecenia REPLACE ...................................................w................................ 301
Stosowanie polecenia DELETE ...................................................w................................ 302
Warunkowa instrukcja DELETE ...................................................w......................... 303
Często stosowane funkcje MySQL operujące na ciągach tekstowych .......................... 304
Funkcje długości i konkatenacji ...................................................w.......................... 304
Funkcje przycinające i dopełniające ...................................................w.................... 306
Funkcje lokalizacji i pozycji ..................................................w................................. 308
Funkcje operujące na podciągach ...................................................w........................ 308
Funkcje modyfikujące ciągi ...................................................w................................ 309
10
PHP, MySQL i Apache dla każdego
Korzystanie z funkcji daty i czasu w MySQL ...................................................w........... 310
Operowanie na dniach ...................................................w......................................... 311
Operowanie na miesiącach i latach ...................................................w..................... 313
Operowanie na tygodniach ...................................................w.................................. 314
Operowanie na godzinach, minutach i sekundach .................................................. 315
Formatowanie daty i czasu w MySQL ...................................................w................ 316
Działania arytmetyczne na datach w MySQL ...................................................w..... 318
Funkcje specjalne i możliwości w zakresie konwersji ........................................... 320
Podsumowanie ...................................................w...................................................w....... 322
Pytania i odpowiedzi ...................................................w................................................. 323
Warsztaty ...................................................w...................................................w...............
. 324
Test ...................................................w...................................................w................... 324
Odpowiedzi ...................................................w...................................................w...... 325
Ćwiczenie ...................................................w...................................................w......... 325
Rozdział 17. Interakcja z MySQL z poziomu PHP ................................................ 327
Łączenie się z MySQL poprzez PHP ..................................................w.......................... 327
Używanie mysql_connect() ...................................................w................................. 328
Wykonywanie zapytań ...................................................w........................................ 329
Odbieranie komunikatów o błędach ...................................................w.................... 330
Operowanie na danych z bazy MySQL ...................................................w..................... 331
Wstawianie danych z poziomu PHP ...................................................w................... 331
Pobieranie danych z bazy w PHP ...................................................w........................ 335
Pozostałe funkcje MySQL w PHP ...................................................w...................... 336
Podsumowanie ...................................................w...................................................w....... 337
Warsztaty ...................................................w...................................................w...............
. 337
Test ...................................................w...................................................w................... 337
Odpowiedzi ...................................................w...................................................w...... 337
Część V Proste projekty ...................................................d........339
Rozdział 18. Zarządzanie prostą listą mailingową .............................................. 341
Opracowywanie mechanizmu subskrypcji ...................................................w................ 341
Tworzenie tabeli subskrybentów ...................................................w......................... 342
Tworzenie formularza subskrypcji ...................................................w...................... 342
Budowa mechanizmu mailingu ...................................................w................................. 348
Podsumowanie ...................................................w...................................................w....... 351
Pytania i odpowiedzi ...................................................w................................................. 352
Warsztaty ...................................................w...................................................w...............
. 352
Test ...................................................w...................................................w................... 352
Odpowiedzi ...................................................w...................................................w...... 352
Rozdział 19. Tworzenie internetowej książki adresowej ...................................... 353
Planowanie i tworzenie tabel w bazie danych ...................................................w........... 353
Tworzenie menu ...................................................w...................................................w..... 356
Tworzenie mechanizmu dodawania rekordów ...................................................w.......... 356
Przeglądanie rekordów ...................................................w.............................................. 361
Tworzenie mechanizmu usuwania rekordów ..................................................w.............. 367
Uzupełnianie istniejących rekordów ...................................................w.......................... 369
Podsumowanie ...................................................w...................................................w....... 374
Warsztaty ...................................................w...................................................w...............
. 375
Test ...................................................w...................................................w................... 375
Odpowiedzi ...................................................w...................................................w...... 375
Ćwiczenia ...................................................w...................................................w......... 375
Spis treści
11
Rozdział 20. Tworzenie prostego forum dyskusyjnego ........................................ 377
Projektowanie tabel w bazie danych ...................................................w.......................... 377
Tworzenie formularzy wprowadzania danych i skryptów ............................................ 378
Wyświetlanie listy tematów ..................................................w........................................ 381
Wyświetlanie postów w temacie ...................................................w............................... 385
Dodawanie postu w wybranym temacie ...................................................w.................... 388
Podsumowanie ...................................................w...................................................w....... 391
Pytania i odpowiedzi ...................................................w................................................. 392
Warsztaty ...................................................w...................................................w...............
. 392
Test ...................................................w...................................................w................... 392
Odpowiedzi ...................................................w...................................................w...... 392
Ćwiczenie ...................................................w...................................................w......... 393
Rozdział 21. Tworzenie witryny sklepu internetowego ........................................ 395
Planowanie i tworzenie tabel w bazie danych ...................................................w........... 395
Wstawianie rekordów do tabeli sklep_kategorie ...................................................w. 397
Wstawianie rekordów do tabeli sklep_artykuly ...................................................w.. 397
Wstawianie rekordów do tabeli sklep_art_rozmiar ................................................ 398
Wstawianie rekordów do tabeli sklep_art_kolor ...................................................w. 399
Wyświetlanie kategorii artykułów ...................................................w............................. 399
Wyświetlanie artykułów ...................................................w............................................ 402
Podsumowanie ...................................................w...................................................w....... 405
Warsztaty ...................................................w...................................................w...............
. 405
Test ...................................................w...................................................w................... 405
Odpowiedzi ...................................................w...................................................w...... 406
Rozdział 22. Tworzenie mechanizmu koszyka z zakupami ................................... 407
Planowanie i tworzenie tabel ...................................................w..................................... 407
Integracja koszyka z witryną sklepową ...................................................w..................... 409
Dodawanie artykułów do koszyka ..................................................w........................ 412
Przeglądanie zawartości koszyka ...................................................w........................ 413
Usuwanie artykułów z koszyka ...................................................w........................... 416
Sposoby dokonywania płatności i sekwencja kasowa .................................................. 416
Tworzenie formularza kasowego ...................................................w........................ 417
Realizowanie czynności kasowych ...................................................w..................... 417
Podsumowanie ...................................................w...................................................w....... 418
Warsztaty ...................................................w...................................................w...............
. 418
Test ...................................................w...................................................w................... 419
Odpowiedzi ...................................................w...................................................w...... 419
Rozdział 23. Tworzenie prostego kalendarza ...................................................h... 421
Tworzenie prostego kalendarza wyświetlanego na ekranie .......................................... 421
Sprawdzenie danych przesłanych przez użytkownika ............................................ 422
Tworzenie formularza HTML ...................................................w............................. 423
Tworzenie tabeli kalendarza ...................................................w................................ 425
Dodawanie terminów do kalendarza ...................................................w................... 428
Tworzenie biblioteki kalendarza ...................................................w............................... 435
Podsumowanie ...................................................w...................................................w....... 440
Pytania i odpowiedzi ...................................................w................................................. 441
Warsztaty ...................................................w...................................................w...............
. 441
Test ...................................................w...................................................w................... 441
Odpowiedzi ...................................................w...................................................w...... 441
Ćwiczenie ...................................................w...................................................w......... 441
12
PHP, MySQL i Apache dla każdego
Rozdział 24. Ograniczanie dostępu do aplikacji ................................................. 443
Istota uwierzytelniania ...................................................w.............................................. 443
Uwierzytelnianie klienta ...................................................w..................................... 444
Możliwości funkcjonalne modułu uwierzytelniającego serwera Apache ..................... 445
Uwierzytelnianie bazujące na plikach ...................................................w................. 446
Kontrola dostępu bazująca na pliku bazy danych ...................................................w 448
Apache jako narzędzie kontroli dostępu ...................................................w..................... 449
Wprowadzanie reguł dostępu ...................................................w.............................. 449
Interpretacja reguł dostępu ...................................................w.................................. 451
Wiązane zastosowanie metod kontroli dostępu ...................................................w......... 452
Ograniczenie dostępu na podstawie metod HTTP ...................................................w..... 453
Ograniczenie dostępu na podstawie wartości cookies .................................................. 454
Tworzenie tabeli uprawnionych użytkowników ...................................................w.. 454
Tworzenie formularza logowania i skryptu ...................................................w......... 455
Sprawdzanie cookie uwierzytelniającego ...................................................w............ 458
Podsumowanie ...................................................w...................................................w....... 459
Pytania i odpowiedzi ...................................................w................................................. 459
Warsztaty ...................................................w...................................................w...............
. 460
Test ...................................................w...................................................w................... 460
Odpowiedzi ...................................................w...................................................w...... 460
Ćwiczenie ...................................................w...................................................w......... 460
Rozdział 25. Monitorowanie i prowadzenie dzienników aktywności serwera ........ 461
Standardowe odnotowywanie dostępu do serwera ...................................................w.... 461
Ustalanie treści dzienników ...................................................w................................ 462
Odnotowywanie dostępów w plikach ...................................................w.................. 465
Odnotowywanie dostępów w programie ...................................................w............. 466
Standardowy tryb odnotowywania błędów serwera Apache ........................................ 467
Odnotowywanie błędów w pliku ...................................................w......................... 467
Odnotowywanie błędów w programie ...................................................w................. 467
Demon syslog jako argument ...................................................w.............................. 467
Dyrektywa LogLevel ...................................................w.......................................... 468
Zarządzanie dziennikami serwera Apache ..................................................w.................. 468
Ustalanie nazw hostów ...................................................w........................................ 469
Rotacja dzienników ...................................................w............................................. 469
Łączenie i podział dzienników ...................................................w............................ 470
Analiza dzienników ...................................................w............................................. 470
Monitorowanie dzienników błędów ...................................................w.................... 470
Odnotowywanie informacji w bazie danych ..................................................w............... 471
Tworzenie tabeli w bazie danych ...................................................w........................ 471
Tworzenie skryptu PHP odnotowującego dane ...................................................w... 471
Tworzenie przykładowych raportów ...................................................w................... 472
Podsumowanie ...................................................w...................................................w....... 475
Pytania i odpowiedzi ...................................................w................................................. 475
Warsztaty ...................................................w...................................................w...............
. 475
Test ...................................................w...................................................w................... 475
Odpowiedzi ...................................................w...................................................w...... 475
Rozdział 26. Lokalizacja aplikacji ...................................................h................... 477
Internacjonalizacja i lokalizacja ...................................................w................................ 477
Zestawy znaków ...................................................w...................................................w..... 478
Modyfikacje środowiska ...................................................w........................................... 479
Zmiany w konfiguracji serwera Apache ...................................................w.............. 479
Zmiany w konfiguracji PHP ...................................................w................................ 480
Zmiany w konfiguracji MySQL ...................................................w.......................... 480
Tworzenie zlokalizowanej struktury strony ...................................................w............... 481
Podsumowanie ...................................................w...................................................w....... 486
Spis treści
13
Pytania i odpowiedzi ...................................................w................................................. 487
Warsztaty ...................................................w...................................................w...............
. 487
Test ...................................................w...................................................w................... 487
Odpowiedzi ...................................................w...................................................w...... 487
Część VI Administrowanie i dostrajanie ......................................489
Rozdział 27. Poprawianie wydajności i wirtualny hosting na serwerze Apache .... 491
Kwestie skalowalności ...................................................w.............................................. 492
Ograniczenia systemu operacyjnego ...................................................w................... 492
Ustawienia serwera Apache związane z wydajnością ............................................ 494
Testowanie serwera pod obciążeniem przy użyciu ApacheBench ................................ 495
Aktywne dostrajanie wydajności ...................................................w............................... 497
Odwzorowywanie plików w pamięci ...................................................w.................. 497
Rozkład obciążenia ...................................................w............................................. 498
Buforowanie ...................................................w...................................................w..... 498
Redukcja ilości transmitowanych danych ...................................................w........... 498
Ustawienia sieci ...................................................w.................................................. 499
Zapobieganie nadużyciom ...................................................w......................................
Pobierz darmowy fragment (pdf)
Gdzie kupić całą publikację:
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ą :