Head_First_PHP_MySQL_Edycja_polska_hfphms.pdf

(4822 KB) Pobierz
Head First PHP &
MySQL. Edycja polska
Autorzy: Lynn Beighley,
Michael Morrison
T³umaczenie: £ukasz Schmidt
ISBN: 978-83-246-2113-2
Tytu³ orygina³u:
Head First PHP & MySQL
Format: 200×230, stron: 800
• Odkryj tajniki tworzenia dynamicznych witryn opartych na bazach danych
• Uniknij kompromituj¹cych wpadek przy korzystaniu z formularzy
• Wczytaj wszystkie kluczowe elementy sk³adni prosto do swego mózgu
• Zainstaluj kod PHP i MySQL
• SprawdŸ sw¹ wiedzê na temat skryptów, wykonuj¹c dziesi¹tki æwiczeñ
PHP wraz z MySQL stanowi¹ najpopularniejszy zespó³, s³u¿¹cy do szybkiego tworzenia
aplikacji internetowych o ró¿nym stopniu z³o¿onoœci. Dziêki du¿ym mo¿liwoœciom,
wydajnoœci oraz optymalnemu podejœciu do wielu zagadnieñ tworz¹ prawdopodobnie
najpopularniejsz¹ platformê do wprowadzania atrakcyjnych rozwi¹zañ. Na temat
wykorzystania mo¿liwoœci PHP i MySQL napisano ju¿ wiele ksi¹¿ek, jednak ta jest
wyj¹tkowa – nale¿y do popularnej i przyjaznej Czytelnikowi serii Head First!
„Head First PHP & MySQL. Edycja polska” nie jest kolejnym trudnym i nudnym
podrêcznikiem do nauki PHP i MySQL. Autorzy wykorzystuj¹ tu innowacyjne oraz
niezwykle skuteczne techniki przyswajania wiedzy szybko i bezboleœnie. Z pomoc¹
licznych ilustracji i ciekawych skojarzeñ naucz¹ Ciê, jak stosowaæ PHP wraz z MySQL
w Twojej codziennej pracy. Dziêki temu bez najmniejszych problemów przygotujesz
formularz, przetworzysz dane wprowadzone przez u¿ytkownika, a nastêpnie zapiszesz
je w bazie MySQL. Ponadto zostaniesz wtajemniczony w szczegó³y jêzyka PHP oraz
SQL. Zapoznasz siê z zagro¿eniami oraz dowiesz siê, jak chroniæ swoj¹ aplikacjê przed
atakami z zewn¹trz. To wszystko sprawi, ¿e pewnym krokiem wejdziesz w œwiat
profesjonalnych aplikacji internetowych!
• Tworzenie i obs³uga formularzy
• Zastosowanie zmiennej $_POST
• Wysy³anie wiadomoœci e-mail z poziomu PHP
• Wykonywanie zapytañ SQL
• Pobieranie i wykorzystywanie danych z MySQL w PHP
• Elementarz jêzyka PHP
• Przesy³anie plików
• Bezpieczeñstwo danych w PHP
• Zastosowanie sesji oraz ciasteczek
• Sortowanie wyników
• Obs³uga kana³ów RSS
• Zamieszczanie materia³ów multimedialnych
• Zastosowanie formatu XML
• Instalacja i konfiguracja serwera Apache
Wykorzystaj nowoczesne metody nauki i opanuj mo¿liwoœci duetu PHP–MySQL!
Spis
treści
Spis treści (skrócony)
Wprowadzenie
1
2
3
4
5
6
7
7�½
8
9
10
11
12
A
B
C
Ożywianie statycznych stron.
To żyje!
Łączenie się z bazą MySQL.
Jak wszystko wiąże się ze sobą?
Tworzenie i zapełnianie bazy danych.
Tworzenie własnych danych
Realistyczne i praktyczne aplikacje.
Twoja aplikacja w sieci WWW
Używanie danych przechowywanych w plikach.
Kiedy baza danych nie wystarcza
Zabezpieczanie aplikacji.
Załóżmy, że każdy stanowi zagrożenie
Tworzenie spersonalizowanych aplikacji sieciowych.
Pamiętasz mnie?
Eliminowanie powtórzeń w kodzie.
Współdzielenie oznacza troskę
Kontroluj dane — kontroluj swój świat.
Zbieranie danych
Funkcje niestandardowe i do obsługi łańcuchów znaków.
Dzięki funkcjom żyje się lepiej
Wyrażenia regularne.
Reguły zastępowania
Wizualizowanie danych i inne zagadnienia.
Dynamiczne dodawanie grafiki
Rozpowszechnianie danych i usługi sieciowe.
Interfejs do komunikacji ze światem
Pozostałości.
Dziesięć najważniejszych tematów (których nie poruszyliśmy)
Konfigurowanie środowiska programistycznego.
Miejsce do zabawy
Rozszerzanie PHP.
Jeszcze więcej możliwości
27
39
97
141
195
259
329
379
451
461
533
593
637
687
743
761
779
Spis treści (z prawdziwego zdarzenia)
W
Wprowadzenie
Twój mózg a PHP i MySQL.
Podczas gdy
Ty
próbujesz się czegoś
nauczyć, mózg
wyświadcza Ci przysługę i dba o to, abyś
niczego nie zapamiętał.
Twój mózg myśli sobie:
„Lepiej zostawić miejsce na ważniejsze informacje, na przykład o dzikich zwierzętach, których
należy unikać, i o tym, że ćwiczenie jogi pod wodą nie jest dobrym pomysłem”. Jak więc
możesz
przechytrzyć
mózg i przekonać go, że Twoje życie zależy od znajomości technologii
PHP i MySQL?
Dla kogo przeznaczona jest ta książka?
Kto prawdopodobnie powinien zrezygnować z tej książki?
Wiemy, co sobie myślisz
Wiemy, co sobie myśli Twój mózg
Metapoznanie: myślenie o myśleniu
Oto, co MY zrobiliśmy
A oto, co TY możesz zrobić, aby zmusić mózg do posłuszeństwa
Przeczytaj koniecznie
Zespół recenzentów technicznych
Podziękowania
28
28
29
29
31
32
33
34
36
37
9
Spis
treści
Ożywianie statycznych stron
1
Czy ktoś go widział?
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
PHP ożywia strony WWW
Formularz pomoże Markowi poznać całą historię
Formularze składają się z kodu HTML
Formularz HTML sprawia problemy
HTML działa po stronie KLIENTA
PHP działa po stronie SERWERA
Skrypty PHP działają na serwerze
Dostęp do danych z formularza w kodzie PHP
Skrypty PHP muszą działać na serwerze!
Przenoszenie skryptów PHP na serwer
Serwer przekształca kod PHP na HTML
Analiza skryptu PHP Marka
Kilka reguł pisania kodu związanych z językiem PHP
Ustalanie idealnych nazw dla zmiennych
Zmienne służą do przechowywania danych w skryptach
$_POST to specjalna zmienna na dane z formularza
Zmienna $_POST przesyła dane z formularza do skryptu
Tworzenie treści listu w kodzie PHP
Nawet zwykły tekst można (trochę) sformatować
Znaki nowego wiersza trzeba umieścić w cudzysłowach
Zbuduj e-mail do Marka
Zmienne przechowują fragmenty e-maila
Wysyłanie e-maili przy użyciu PHP
Marek zaczyna otrzymywać e-maile
Marek zaczyna gubić e-maile
40
41
43
44
46
48
49
50
54
56
57
60
62
63
64
69
71
72
82
84
85
86
87
88
91
92
10
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…
MySQL doskonale nadaje się do przechowywania danych
Marek potrzebuje bazy danych MySQL
Utwórz bazę danych i tabelę MySQL
Instrukcja INSERT w akcji
Użyj instrukcji SELECT do pobrania danych z tabeli
Użyj PHP do obsługi żmudnych instrukcji SQL
PHP umożliwia przepływ danych z formularza Marka
Połącz się z bazą danych w skrypcie PHP
Wstawianie danych za pomocą skryptu PHP
Użyj funkcji PHP do komunikacji z bazą danych
Łączenie się z bazą za pomocą mysqli_connect()
Budowanie zapytań INSERT w kodzie PHP
Kierowanie zapytań do bazy MySQL w skryptach PHP
Zamykanie połączenia za pomocą funkcji mysqli_close()
Zmienna $_POST udostępnia dane z formularza
Marek potrzebuje pomocy przy filtrowaniu danych
Marek jest na dobrej drodze do znalezienia Kła
98
99
100
102
105
108
111
112
114
115
116
118
123
124
125
129
134
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.
$query
Nowak
Jan
37 sekund
w 1991 roku
nie wiem
przypomina
li metalo
we os y
omieni
cami pr
ie tysi
tak
lali mn
na wiet
jn@iwasvicepresident.com
mysqli_query()
Uwielbia
m ziemni
aki.
11
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
Edward potrzebuje aplikacji
Wizualizacja projektu aplikacji Edwarda
Wszystko zaczyna się od tabeli
Nawiąż kontakt z serwerem MySQL
Tworzenie bazy danych na adresy Edwarda
Tworzenie tabeli w bazie danych
Musimy zdefiniować dane
Poznaj wybrane typy danych języka MySQL
Tworzenie tabel przy użyciu zapytań
Wskaż bazę danych przed jej użyciem
Instrukcja DESCRIBE opisuje strukturę tabeli
Edward jest gotowy do zapisywania danych
Tworzenie skryptu do dodawania adresów
Druga strona aplikacji Edwarda
142
143
144
147
148
149
150
151
152
155
158
161
163
164
171
172
173
174
177
178
183
184
185
186
187
192
Lista mailingowa klientów Edwarda:
Kurowski Julian jul_kurowski@bre
akneckpizza.com
Olejnik Krystian olej@simuduck.co
m
Nowakowska Amanda amanno@
breakneckpizza.com
Grabowski Edmund ed99@b0tt0msup
.com
Skiba Joanna joski@breakneck
pizza.com
Wrona Lucjan poduszkowiec@b
reakneckpizza.com
Kot Anna AnnaKot@leapinlimos.co
m
Matusiak Andrzej andrzejmat@obie
ktowo.net
Madej Tomasz madejtom@mighty
gumball.com
Kasprzak Alicja pirat@breakneck
pizza.com
Janicki Krzysztof krzych@starbuzz
coffee.com
Czajka Adrianna adaczajka@choc
oholic-inc.com
Piotrowski Bartosz bp@honey-doit.c
om
Socha Katarzyna kat86@obiektowo
.net
Sosnowski Dariusz sosna@breaknec
kpizza.com
Maj Magda magdamaj@starbuzzcoffe
e.com
Bednarek Wiktoria wiki@starbuzzcof
fee.com
Szwed Jacek szwedjacek@obie
ktowo.net
Tomczyk Diana tomczykdi@migh
tygumball.net
Jarosz Piotr weganin@tikibeanlounge.
com
Kurek Krystyna krysia0098@obie
ktowo.net
Wolska Hanna hannaw@b0tt0msu
p.com
Kos Maria bezproblemu@starbuzzco
ffee.com
Stasiak Agata cudowna@breakn
eckpizza.com
Pawlik Jakub drpawlik@b0tt0m
sup.com
Piasecki Maciej maciejp@weathero
rama.com
Krupa Urszula ulak@starbuzzco
ffee.com
Urban Piotr piotruspan@tibibe
anlounge.com
Kozak Mariola mariolka23@obie
ktowo.net
Mucha Zuzanna zuza@weatheror
ama.com
Nowacki Kamil kamilnowy@break
neckpizza.com
Kowalik Janina jankak@chocoho
lic-inc.com
Wilk Barbara barbaraw@breakn
eckpizza.com
Sawicka Iga iga@tikibeanloung
e.com
Makowski Alfred amakowski@obie
ktowo.net
Zawadzka Teresa tesa99@obiektow
o.net
Mechanizmy skryptu do wysyłania wiadomości
Zacznijmy od początku — pobieranie danych
Funkcja mysqli_fetch_array() pobiera wyniki zapytania
Pętle WHILE
Przechodzenie po danych za pomocą pętli while
Otrzymałeś wiadomość od Edwarda!
Czasem użytkownicy chcą zrezygnować
Usuwanie danych za pomocą instrukcji DELETE
Użyj klauzuli WHERE, aby usunąć konkretne dane
Minimalizowanie ryzyka przypadkowych usunięć
ZrobZeMnieElvisa.com to aplikacja internetowa
To wymaga zbyt dużo
pracy. Wole spędzać czas
na naśladowaniu Elvisa
niż na ręcznym wysyłaniu
e-maili.
12
Zgłoś jeśli naruszono regulamin