PHP_i_MySQL_Projekty_do_wykorzystania_phmspr.pdf

(533 KB) Pobierz
PHP i MySQL. Projekty
do wykorzystania
Autorzy: Timothy Boronczyk, Martin E. Psinas
T³umaczenie: Daniel Kaczmarek
ISBN: 978-83-246-2069-2
Tytu³ orygina³u:
PHP and MySQL: Create - Modify - Reuse
Format: 172×245, stron: 360
ZaoszczêdŸ swój czas – korzystaj z najlepszych gotowców!
• Korzystaj z najlepszych mechanizmów!
• Wzbogaæ stronê o praktyczne funkcjonalnoœci!
• Szybko twórz profesjonalne serwisy!
Ile czasu zajmuje Ci przygotowanie formularza rejestracyjnego? Czy jest on
wykorzystywany tylko raz? Popularnoœæ tandemu PHP-MySQL sprawi³a, ¿e mnóstwo
powszechnie stosowanych mechanizmów ileœ razy napisa³o wielu programistów.
A wœród nich s¹ i tacy, którzy te same mechanizmy tworzyli wiêcej ni¿ raz!
Czy¿ nie jest to klasyczny przyk³ad marnotrawienia czasu?
Dziêki ksi¹¿ce „PHP i MySQL. Projekty do wykorzystania” nie zmarnujesz ju¿ ani jednej
cennej minuty. Stanowi ona zbiór najpopularniejszych mechanizmów, u¿ywanych na co
dzieñ przy tworzeniu serwisów WWW. Dziêki niej ³atwo (a co najwa¿niejsze – szybko)
zaimplementujesz funkcjonalnoœæ rejestracji u¿ytkownika, listy dystrybucyjnej czy te¿
wyszukiwarki. Dowiesz siê, w jaki sposób stworzyæ forum dyskusyjne, osobisty
kalendarz, galeriê zdjêæ czy te¿ mened¿er plików, korzystaj¹cy z technologii AJAX.
Po przewertowaniu tego podrêcznika nie bêdzie stanowi³a dla Ciebie problemu
rejestracja zdarzeñ oraz wykonywanie skryptów pow³oki. Pozwoli Ci to na szybkie
tworzenie nowych serwisów WWW za pomoc¹ sprawdzonych i elastycznych
mechanizmów. Je¿eli cenisz swój czas – oto Twoja lektura obowi¹zkowa!
• Rejestracja u¿ytkowników w serwisie
• Zabezpieczenie przed spamem – mechanizm CAPTCHA
• Implementacja forum dyskusyjnego
• Zastosowanie listy dystrybucyjnej
• Wyszukiwanie informacji w serwisie
• Tworzenie kalendarza
• Zarz¹dzanie plikami – mened¿er plików, korzystaj¹cy z AJAX
• Prezentacja zdjêæ – galeria online
• Statystyki serwisu WWW
• Rejestracja zdarzeñ
• Wykonywanie skryptów pow³oki
Nie traæ czasu – korzystaj ze sprawdzonych projektów!
Spis treÊci
O autorze ................................................................................................................................................... 7
O wspóÄautorze ......................................................................................................................................... 9
Wprowadzenie ..........................................................................................................................................11
Dla kogo jest ta ksiñ ka? .............................................................................................. 11
U ywane technologie .................................................................................................... 12
Struktura ksiñ ki .......................................................................................................... 12
Czego potrzeba w trakcie lektury tej ksiñ ki? .................................................................. 13
U yte konwencje .......................................................................................................... 14
Kody ródäowe .............................................................................................................. 14
RozdziaÄ 1. Rejestracja uÑytkowników ...................................................................................................15
Plan struktury katalogów ............................................................................................... 15
Plan struktury bazy danych ............................................................................................ 16
Kod wspóäu ytkowany ................................................................................................... 17
Klasa User .................................................................................................................. 20
CAPTCHA ..................................................................................................................... 24
Szablony ...................................................................................................................... 25
Rejestracja nowego u ytkownika .................................................................................... 27
Wysyäanie e-maila z äñczem do weryfikacji ....................................................................... 32
Logowanie i wylogowywanie ........................................................................................... 35
Zmiana danych ............................................................................................................ 39
Zapomniane hasäa ........................................................................................................ 42
Podsumowanie ............................................................................................................ 44
RozdziaÄ 2. Forum spoÄecznoÊciowe ...................................................................................................... 45
Wymagania funkcjonalne wobec forum ........................................................................... 45
Projekt bazy danych ...................................................................................................... 46
Uprawnienia i operatory bitowe ...................................................................................... 47
Zmiany w kodzie klasy User .......................................................................................... 49
Kod ródäowy i obja nienia do kodu ............................................................................... 54
Dodawanie forów .......................................................................................................... 54
Dodawanie wiadomo ci ................................................................................................ 57
4
PHP i MySQL. Projekty do wykorzystania
Wy wietlanie forów i wiadomo ci ................................................................................... 60
Stronicowanie ......................................................................................................... 67
Awatary ....................................................................................................................... 69
BBCode ....................................................................................................................... 72
Podsumowanie ............................................................................................................ 75
RozdziaÄ 3. Lista dystrybucyjna ............................................................................................................. 77
Projekt listy dystrybucyjnej ............................................................................................ 77
Wybór serwera POP3 .................................................................................................... 78
Projekt bazy danych ...................................................................................................... 80
Kod ródäowy i obja nienia kodu .................................................................................... 80
Klient POP3 ............................................................................................................ 81
Plik konfiguracyjny ................................................................................................... 87
Zarzñdzanie kontem ................................................................................................ 88
Przetwarzanie wiadomo ci ....................................................................................... 94
Przetwarzanie wiadomo ci z podsumowaniem ........................................................... 97
Konfiguracja listy dystrybucyjnej ..................................................................................... 98
Podsumowanie .......................................................................................................... 100
RozdziaÄ 4. Wyszukiwarka ....................................................................................................................103
Projekt wyszukiwarki ................................................................................................... 103
Problemy z wyszukiwaniem peänotekstowym ................................................................. 104
Projekt bazy danych .................................................................................................... 106
Kod ródäowy i obja nienia kodu .................................................................................. 108
Interfejs administracyjny ........................................................................................ 108
Robot i indekser ................................................................................................... 114
Interfejs u ytkownika ............................................................................................. 120
Podsumowanie .......................................................................................................... 126
RozdziaÄ 5. Osobisty kalendarz .............................................................................................................129
Projekt aplikacji .......................................................................................................... 129
Projekt bazy danych .................................................................................................... 131
Kod ródäowy i obja nienia kodu .................................................................................. 131
Widok miesiöczny kalendarza ................................................................................. 132
Kalendarz w ukäadzie dnia ...................................................................................... 136
Dodawanie i prezentowanie zdarzeþ ....................................................................... 137
Wysyäanie przypomnieþ .......................................................................................... 145
Eksport danych z kalendarza .................................................................................. 146
Podsumowanie .......................................................................................................... 150
RozdziaÄ 6. MenedÑer plików Ajax ........................................................................................................153
Projekt mened era plików Ajax .................................................................................... 153
JavaScript i Ajax ......................................................................................................... 155
Obiekt XMLHttpRequest ........................................................................................ 156
Kod ródäowy i obja nienia kodu .................................................................................. 159
Gäówny interfejs .................................................................................................... 159
Funkcje dziaäajñce po stronie klienta ...................................................................... 163
Funkcje dziaäajñce po stronie serwera ..................................................................... 176
Podsumowanie .......................................................................................................... 191
Spis treÊci
5
RozdziaÄ 7. Album fotograficzny online .................................................................................................193
Projekt albumu fotograficznego online ............................................................................... 193
Kod ródäowy i obja nienia kodu .................................................................................. 194
Widoki .................................................................................................................. 194
Pliki pomocnicze ................................................................................................... 202
Miniatury QuickTime ................................................................................................... 206
Zapisywanie miniaturek w pamiöci podröcznej .............................................................. 208
Podsumowanie .......................................................................................................... 209
RozdziaÄ 8. Koszyk na zakupy .................................................................................................................211
Projekt koszyka na zakupy .......................................................................................... 211
Projekt bazy danych .................................................................................................... 212
Kod ródäowy i obja nienia kodu .................................................................................. 213
Klasa ShoppingCart .............................................................................................. 213
Sposób u ycia koszyka na zakupy .......................................................................... 217
Interfejs u ytkownika ............................................................................................. 225
Dodawanie produktów ........................................................................................... 233
Podsumowanie .......................................................................................................... 253
RozdziaÄ 9. Statystyki witryny internetowej ......................................................................................255
Zakres gromadzonych danych ...................................................................................... 255
Projekt bazy danych .................................................................................................... 256
Gromadzenie danych .................................................................................................. 258
Kod ródäowy i obja nienia kodu .................................................................................. 260
Wykres koäowy ...................................................................................................... 261
Wykres säupkowy ................................................................................................... 264
Raport .................................................................................................................. 268
Podsumowanie .......................................................................................................... 278
RozdziaÄ 10. System grup dyskusyjnych lub blogów ...........................................................................281
Tabele ....................................................................................................................... 282
Dodawanie wpisów ..................................................................................................... 283
Generowanie kanaäu RSS ............................................................................................ 294
Wy wietlanie wpisów .................................................................................................. 298
Dodawanie komentarzy ............................................................................................... 300
Podsumowanie .......................................................................................................... 304
RozdziaÄ 11. Skrypty powÄoki ................................................................................................................307
Projekt skryptu ........................................................................................................... 308
Ogólne wskazówki dotyczñce implementacji skryptów powäoki ........................................ 309
Kod ródäowy i obja nienia kodu .................................................................................. 311
Klasa CommandLine ............................................................................................. 311
Skrypt startproject ................................................................................................ 320
Szkielet struktury ....................................................................................................... 329
Podsumowanie .......................................................................................................... 330
RozdziaÄ 12. BezpieczeÆstwo i rejestracja zdarzeÆ ............................................................................331
Cross-site scripting ..................................................................................................... 332
Przeglñdanie cie ek .................................................................................................. 334
Wstrzykiwanie ............................................................................................................ 336
Wstrzykiwanie kodu jözyka SQL .............................................................................. 336
Wstrzykiwanie poleceþ .......................................................................................... 340
6
PHP i MySQL. Projekty do wykorzystania
Säabe uwierzytelnianie ................................................................................................ 342
Rejestrowanie zdarzeþ ................................................................................................ 344
Zapobieganie przypadkowemu usuniöciu rekordów ........................................................ 346
Podsumowanie .......................................................................................................... 348
Skorowidz ............................................................................................................................................349
Zgłoś jeśli naruszono regulamin