head first php & mysql. edycja polska full.pdf

(169927 KB) Pobierz
887683520.103.png
Spis treści
Ożywianie statycznych stron
1
To żyje!
Umiesz tworzyć świetne strony za pomocą HTML-a i odrobiny stylów CSS.
Zauważyłeś jednak, że użytkownicy Twoich witryn mogą tylko pasywnie przeglądać
zawartość witryn. Komunikacja jest jednostronna i planujesz to zmienić. Chcesz poznać
opinie użytkowników . Aby dowiedzieć się, o czym myślą internauci, trzeba umożliwić im
wprowadzanie danych za pomocą formularzy . Musisz też umieć przetworzyć i pobrać
te informacje . Wygląda na to, że podniesienie poziomu witryn wymaga użycia czegoś
więcej niż samego kodu HTML.
Strony HTML są statyczne i nudne
40
PHP ożywia strony WWW
41
Formularz pomoże Markowi poznać całą historię
43
Formularze składają się z kodu HTML
44
Czy ktoś go widział?
Formularz HTML sprawia problemy
46
HTML działa po stronie KLIENTA
48
PHP działa po stronie SERWERA
49
Skrypty PHP działają na serwerze
50
Dostęp do danych z formularza w kodzie PHP
54
Skrypty PHP muszą działać na serwerze!
56
Przenoszenie skryptów PHP na serwer
57
Serwer przekształca kod PHP na HTML
60
Analiza skryptu PHP Marka
62
Kilka reguł pisania kodu związanych z językiem PHP
63
Ustalanie idealnych nazw dla zmiennych
64
Zmienne służą do przechowywania danych w skryptach
69
$_POST to specjalna zmienna na dane z formularza
71
Zmienna $_POST przesyła dane z formularza do skryptu
72
Tworzenie treści listu w kodzie PHP
82
Nawet zwykły tekst można (trochę) sformatować
84
Znaki nowego wiersza trzeba umieścić w cudzysłowach
85
Zbuduj e-mail do Marka
86
Zmienne przechowują fragmenty e-maila
87
Wysyłanie e-maili przy użyciu PHP
88
Marek zaczyna otrzymywać e-maile
91
Marek zaczyna gubić e-maile
92
10
887683520.114.png 887683520.125.png 887683520.136.png 887683520.001.png 887683520.012.png 887683520.023.png 887683520.034.png 887683520.045.png 887683520.056.png 887683520.059.png 887683520.060.png 887683520.061.png 887683520.062.png
Spis treści
Łączenie się z bazą MySQL
2
Jak wszystko wiąże się ze sobą?
Ustalenie powiązań między elementami przed rozpoczęciem pracy to
dobry pomysł. Utworzyłeś pierwszy działający skrypt PHP, jednak otrzymywanie
danych z formularzy w formie listów elektronicznych już nie wystarcza. Potrzebny jest
sposób na zapisanie takich informacji , aby można je przechowywać i w odpowiednim
momencie pobierać . Możesz użyć do tego bazy danych MySQL . Aby zapisać w niej dane,
musisz uzyskać dostęp do bazy MySQL z poziomu skryptów PHP.
Formularz PHP Marka działa dobrze — aż za dobrze…
98
MySQL doskonale nadaje się do przechowywania danych
99
Marek potrzebuje bazy danych MySQL
100
Utwórz bazę danych i tabelę MySQL
102
Instrukcja INSERT w akcji
105
Użyj instrukcji SELECT do pobrania danych z tabeli
108
Użyj PHP do obsługi żmudnych instrukcji SQL
111
PHP umożliwia przepływ danych z formularza Marka
112
Połącz się z bazą danych w skrypcie PHP
114
Wstawianie danych za pomocą skryptu PHP
115
Użyj funkcji PHP do komunikacji z bazą danych
116
Łączenie się z bazą za pomocą mysqli_connect()
118
Budowanie zapytań INSERT w kodzie PHP
123
Kierowanie zapytań do bazy MySQL w skryptach PHP
124
Zamykanie połączenia za pomocą funkcji mysqli_close()
125
Zmienna $_POST udostępnia dane z formularza
129
Marek potrzebuje pomocy przy filtrowaniu danych
134
Marek jest na dobrej drodze do znalezienia Kła
136
Nowy formularz jest
doskonały, ale otrzymuję zbyt
wiele listów. Nawet kawa nie pomaga
mi nadążyć z czytaniem na bieżąco
wszystkich wiadomości.
$que ry
37 sekund
w 1991 roku
jn@iwasvice president.co m
11
887683520.063.png 887683520.064.png 887683520.065.png 887683520.066.png 887683520.067.png 887683520.068.png 887683520.069.png 887683520.070.png 887683520.071.png 887683520.072.png 887683520.073.png 887683520.074.png 887683520.075.png 887683520.076.png 887683520.077.png 887683520.078.png 887683520.079.png 887683520.080.png 887683520.081.png 887683520.082.png 887683520.083.png 887683520.084.png 887683520.085.png 887683520.086.png 887683520.087.png 887683520.088.png 887683520.089.png 887683520.090.png 887683520.091.png 887683520.092.png 887683520.093.png 887683520.094.png 887683520.095.png 887683520.096.png 887683520.097.png 887683520.098.png 887683520.099.png 887683520.100.png 887683520.101.png 887683520.102.png 887683520.104.png 887683520.105.png 887683520.106.png 887683520.107.png 887683520.108.png 887683520.109.png 887683520.110.png 887683520.111.png 887683520.112.png 887683520.113.png 887683520.115.png 887683520.116.png 887683520.117.png 887683520.118.png 887683520.119.png 887683520.120.png 887683520.121.png 887683520.122.png 887683520.123.png 887683520.124.png 887683520.126.png 887683520.127.png 887683520.128.png 887683520.129.png 887683520.130.png 887683520.131.png 887683520.132.png 887683520.133.png 887683520.134.png 887683520.135.png 887683520.137.png 887683520.138.png 887683520.139.png 887683520.140.png 887683520.141.png 887683520.142.png 887683520.143.png 887683520.144.png 887683520.145.png 887683520.146.png 887683520.002.png 887683520.003.png 887683520.004.png 887683520.005.png 887683520.006.png 887683520.007.png 887683520.008.png 887683520.009.png 887683520.010.png 887683520.011.png 887683520.013.png 887683520.014.png 887683520.015.png 887683520.016.png 887683520.017.png 887683520.018.png 887683520.019.png 887683520.020.png 887683520.021.png 887683520.022.png 887683520.024.png 887683520.025.png 887683520.026.png 887683520.027.png 887683520.028.png 887683520.029.png 887683520.030.png 887683520.031.png 887683520.032.png 887683520.033.png 887683520.035.png 887683520.036.png 887683520.037.png 887683520.038.png 887683520.039.png 887683520.040.png 887683520.041.png 887683520.042.png 887683520.043.png
Spis treści
Tworzenie i zapełnianie bazy danych
3
Tworzenie własnych danych
Potrzebne informacje nie zawsze są dostępne. Czasem trzeba najpierw utworzyć
dane . Nieraz należy też przygotować tabele do przechowywania informacji, a nawet
zbudować bazę danych . Czujesz się zagubiony? Wkrótce wszystkiego się dowiesz.
Zobaczysz, jak samodzielnie tworzyć bazy danych i tabele. Jeśli to wciąż za mało,
przy okazji rozwiniesz swą pierwszą aplikację opartą na technologiach PHP i MySQL.
Sklep poświęcony Elvisowi otwiera podwoje
142
Edward potrzebuje aplikacji
143
Wizualizacja projektu aplikacji Edwarda
144
Wszystko zaczyna się od tabeli
147
Nawiąż kontakt z serwerem MySQL
148
Tworzenie bazy danych na adresy Edwarda
149
Tworzenie tabeli w bazie danych
150
Musimy zdefiniować dane
151
Poznaj wybrane typy danych języka MySQL
152
Tworzenie tabel przy użyciu zapytań
155
Wskaż bazę danych przed jej użyciem
158
Instrukcja DESCRIBE opisuje strukturę tabeli
161
Edward jest gotowy do zapisywania danych
163
Tworzenie skryptu do dodawania adresów
164
Druga strona aplikacji Edwarda
171
Mechanizmy skryptu do wysyłania wiadomości
172
Zacznijmy od początku — pobieranie danych
173
Funkcja mysqli_fetch_array() pobiera wyniki zapytania
174
Pętle WHILE
177
Przechodzenie po danych za pomocą pętli while
178
Otrzymałeś wiadomość od Edwarda!
183
To wymaga zbyt dużo
pracy. Wole spędzać czas
na naśladowaniu Elvisa
niż na ręcznym wysyłaniu
e-maili.
Czasem użytkownicy chcą zrezygnować
184
Usuwanie danych za pomocą instrukcji DELETE
185
Użyj klauzuli WHERE, aby usunąć konkretne dane
186
Minimalizowanie ryzyka przypadkowych usunięć
187
ZrobZeMnieElvisa.com to aplikacja internetowa
192
12
887683520.044.png 887683520.046.png 887683520.047.png 887683520.048.png 887683520.049.png 887683520.050.png 887683520.051.png
Spis treści
Realistyczne i praktyczne aplikacje
4
Twoje aplikacje w sieci WWW
Czasem trzeba podejść do projektu realistycznie i jeszcze raz go przemyśleć.
Możesz też poświęcić więcej czasu na zaplanowanie witryny na początku prac. Kiedy
aplikacja znajdzie się już w sieci WWW, może się okazać, że projekt nie był doskonały.
Rozwiązania, które na pozór powinny działać, czasem nie sprawdzają się w praktyce.
W tym rozdziale rozwiążesz kilka rzeczywistych problemów , które mogą pojawić się przy
przenoszeniu aplikacji ze środowiska testowego na serwer WWW . Przy okazji poznasz
kilka ważnych fragmentów kodu PHP i SQL.
Niektórzy klienci Edwarda są zirytowani
196
Zabezpiecz Edwarda przed nim samym
199
Sprawdzaj poprawność danych z formularza
200
Walidacja w skrypcie sendemail.php
201
Kod podejmuje decyzje dzięki instrukcji IF
202
Sprawdzanie warunku
203
Instrukcja IF sprawdza nie tylko równość
204
Walidacja w skrypcie sendemail.php
207
Funkcje PHP do sprawdzania zawartości zmiennych
208
Sprawdzanie wielu warunków przy użyciu I oraz LUB
215
Użytkownicy formularza potrzebują informacji zwrotnych
219
Wygodne otwieranie i zamykanie bloków PHP
229
Użyj flagi, aby uniknąć powielania kodu
230
Napisz kod formularza jeden raz
231
Formularz autoreferencyjny
235
Wskaż skrypt w atrybucie action
236
Sprawdzanie, czy użytkownik przesłał formularz
238
Niektórzy użytkownicy nadal są niezadowoleni
242
Wiersze tabeli powinny mieć niepowtarzalne identyfikatory
244
Klucze główne wymuszają niepowtarzalność
246
Od pól wyboru do identyfikatorów klientów
251
Przechodzenie po elementach tablicy za pomocą foreach
252
13
887683520.052.png 887683520.053.png 887683520.054.png 887683520.055.png 887683520.057.png 887683520.058.png
Zgłoś jeśli naruszono regulamin