PHP i MySQL. Projekty do wykorzystania.pdf

(541 KB) Pobierz
PHP i MySQL. Projekty do wykorzystania
PHP i MySQL. Projekty
do wykorzystania
Autorzy: Timothy Boronczyk, Martin E. Psinas
T³umaczenie: Daniel Kaczmarek
ISBN: 978-83-246-2069-2
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!
663625199.001.png 663625199.002.png
Spis treci
O autorze ................................................................................................................................................... 7
O wspóautorze ......................................................................................................................................... 9
Wprowadzenie ..........................................................................................................................................11
Dla kogo jest ta ksika? .............................................................................................. 11
Uywane technologie .................................................................................................... 12
Struktura ksiki .......................................................................................................... 12
Czego potrzeba w trakcie lektury tej ksiki? .................................................................. 13
Uyte konwencje .......................................................................................................... 14
Kody ródowe .............................................................................................................. 14
Rozdzia 1. Rejestracja uytkowników ................................................................................................... 15
Plan struktury katalogów ............................................................................................... 15
Plan struktury bazy danych ............................................................................................ 16
Kod wspóuytkowany ................................................................................................... 17
Klasa User .................................................................................................................. 20
CAPTCHA ..................................................................................................................... 24
Szablony ...................................................................................................................... 25
Rejestracja nowego uytkownika .................................................................................... 27
Wysyanie e-maila z czem do weryfikacji ....................................................................... 32
Logowanie i wylogowywanie ........................................................................................... 35
Zmiana danych ............................................................................................................ 39
Zapomniane hasa ........................................................................................................ 42
Podsumowanie ............................................................................................................ 44
Rozdzia 2. Forum spoecznociowe ...................................................................................................... 45
Wymagania funkcjonalne wobec forum ........................................................................... 45
Projekt bazy danych ...................................................................................................... 46
Uprawnienia i operatory bitowe ...................................................................................... 47
Zmiany w kodzie klasy User .......................................................................................... 49
Kod ródowy i objanienia do kodu ............................................................................... 54
Dodawanie forów .......................................................................................................... 54
Dodawanie wiadomoci ................................................................................................ 57
4
PHP i MySQL. Projekty do wykorzystania
Wywietlanie forów i wiadomoci ................................................................................... 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ódowy i objanienia kodu .................................................................................... 80
Klient POP3 ............................................................................................................ 81
Plik konfiguracyjny ................................................................................................... 87
Zarzdzanie kontem ................................................................................................ 88
Przetwarzanie wiadomoci ....................................................................................... 94
Przetwarzanie wiadomoci z podsumowaniem ........................................................... 97
Konfiguracja listy dystrybucyjnej ..................................................................................... 98
Podsumowanie .......................................................................................................... 100
Rozdzia 4. Wyszukiwarka ....................................................................................................................103
Projekt wyszukiwarki ................................................................................................... 103
Problemy z wyszukiwaniem penotekstowym ................................................................. 104
Projekt bazy danych .................................................................................................... 106
Kod ródowy i objanienia kodu .................................................................................. 108
Interfejs administracyjny ........................................................................................ 108
Robot i indekser ................................................................................................... 114
Interfejs uytkownika ............................................................................................. 120
Podsumowanie .......................................................................................................... 126
Rozdzia 5. Osobisty kalendarz .............................................................................................................129
Projekt aplikacji .......................................................................................................... 129
Projekt bazy danych .................................................................................................... 131
Kod ródowy i objanienia kodu .................................................................................. 131
Widok miesiczny kalendarza ................................................................................. 132
Kalendarz w ukadzie dnia ...................................................................................... 136
Dodawanie i prezentowanie zdarze ....................................................................... 137
Wysyanie przypomnie .......................................................................................... 145
Eksport danych z kalendarza .................................................................................. 146
Podsumowanie .......................................................................................................... 150
Rozdzia 6. Meneder plików Ajax ........................................................................................................153
Projekt menedera plików Ajax .................................................................................... 153
JavaScript i Ajax ......................................................................................................... 155
Obiekt XMLHttpRequest ........................................................................................ 156
Kod ródowy i objanienia kodu .................................................................................. 159
Gówny interfejs .................................................................................................... 159
Funkcje dziaajce po stronie klienta ...................................................................... 163
Funkcje dziaajce po stronie serwera ..................................................................... 176
Podsumowanie .......................................................................................................... 191
Spis treci
5
Rozdzia 7. Album fotograficzny online .................................................................................................193
Projekt albumu fotograficznego online ............................................................................... 193
Kod ródowy i objanienia kodu .................................................................................. 194
Widoki .................................................................................................................. 194
Pliki pomocnicze ................................................................................................... 202
Miniatury QuickTime ................................................................................................... 206
Zapisywanie miniaturek w pamici podrcznej .............................................................. 208
Podsumowanie .......................................................................................................... 209
Rozdzia 8. Koszyk na zakupy .................................................................................................................211
Projekt koszyka na zakupy .......................................................................................... 211
Projekt bazy danych .................................................................................................... 212
Kod ródowy i objanienia kodu .................................................................................. 213
Klasa ShoppingCart .............................................................................................. 213
Sposób uycia koszyka na zakupy .......................................................................... 217
Interfejs uytkownika ............................................................................................. 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ódowy i objanienia kodu .................................................................................. 260
Wykres koowy ...................................................................................................... 261
Wykres supkowy ................................................................................................... 264
Raport .................................................................................................................. 268
Podsumowanie .......................................................................................................... 278
Rozdzia 10. System grup dyskusyjnych lub blogów ...........................................................................281
Tabele ....................................................................................................................... 282
Dodawanie wpisów ..................................................................................................... 283
Generowanie kanau RSS ............................................................................................ 294
Wywietlanie wpisów .................................................................................................. 298
Dodawanie komentarzy ............................................................................................... 300
Podsumowanie .......................................................................................................... 304
Rozdzia 11. Skrypty powoki ................................................................................................................ 307
Projekt skryptu ........................................................................................................... 308
Ogólne wskazówki dotyczce implementacji skryptów powoki ........................................ 309
Kod ródowy i objanienia kodu .................................................................................. 311
Klasa CommandLine ............................................................................................. 311
Skrypt startproject ................................................................................................ 320
Szkielet struktury ....................................................................................................... 329
Podsumowanie .......................................................................................................... 330
Rozdzia 12. Bezpieczestwo i rejestracja zdarze ............................................................................331
Cross-site scripting ..................................................................................................... 332
Przegldanie cieek .................................................................................................. 334
Wstrzykiwanie ............................................................................................................ 336
Wstrzykiwanie kodu jzyka SQL .............................................................................. 336
Wstrzykiwanie polece .......................................................................................... 340
6
PHP i MySQL. Projekty do wykorzystania
Sabe uwierzytelnianie ................................................................................................ 342
Rejestrowanie zdarze ................................................................................................ 344
Zapobieganie przypadkowemu usuniciu rekordów ........................................................ 346
Podsumowanie .......................................................................................................... 348
Skorowidz ............................................................................................................................................ 349
Zgłoś jeśli naruszono regulamin