PHP_i_MySQL_Tworzenie_sklepow_internetowych_Wydanie_II_phmts2.pdf
(
308 KB
)
Pobierz
IDZ DO
PRZYK£ADOWY ROZDZIA£
SPIS TREœCI
KATALOG KSI¥¯EK
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
PHP i MySQL.
Tworzenie sklepów
internetowych. Wydanie II
Autorzy: Daniel Bargie³, Sebastian Marek
ISBN: 83-7361-939-9
Format: B5, stron: 512
TWÓJ KOSZYK
DODAJ DO KOSZYKA
Liczba firm oferuj¹cych towary w internecie stale wzrasta. Taki sposób przedstawienia
oferty umo¿liwia dotarcie do szerszego grona klientów i pozwala na znaczn¹ redukcjê
kosztów prowadzenia dzia³alnoœci handlowej. Rozwój handlu elektronicznego spowodowa³
zwiêkszenie zainteresowania us³ugami zwi¹zanymi z tworzeniem sklepów internetowych.
Programiœci, którzy otrzymuj¹ takie zlecenie, zazwyczaj korzystaj¹ z dwóch bezp³atnych
aplikacji: PHP i MySQL. Ci¹gle rozwijany i rozbudowywany PHP jest jednym
z najpopularniejszych jêzyków skryptowych interpretowanych po stronie serwera.
Jego najnowsza wersja, oznaczona numerem 5, to w pe³ni obiektowe œrodowisko
stosowane przez twórców dynamicznych aplikacji WWW odwo³uj¹cych siê do baz
danych. Funkcjê zaplecza bazodanowego spe³nia baza MySQL — prosta i wydajna.
Zbudowanie funkcjonalnego i bezpiecznego sklepu internetowego to ciekawe wyzwanie
dla programisty. Jeœli chcesz siê z nim zmierzyæ, ksi¹¿ka „PHP i MySQL. Tworzenie
sklepów internetowych. Wydanie II” jest dla Ciebie idealn¹ lektur¹. Znajdziesz w niej
wszystkie informacje, jakich potrzebujesz, by zaprojektowaæ i stworzyæ sklep
internetowy, korzystaj¹c z jêzyka PHP 5, bazy danych MySQL i dodatkowych
mechanizmów opisanych w kolejnych rozdzia³ach ksi¹¿ki.
• Opracowanie koncepcji sklepu internetowego
• Nowe mo¿liwoœci PHP 5
• Oddzielenie kodu PHP od HTML z zastosowaniem szablonów Smarty
• Wykorzystanie funkcji z biblioteki PEAR
• Mechanizmy obs³ugi sesji i plików cookie
• Zabezpieczanie aplikacji
• Przygotowanie projektu sklepu
• Katalog produktów i koszyk
• Modu³ zarz¹dzania klientami i zamówieniami
• Obs³uga p³atnoœci elektronicznych
Przyczyñ siê do rozwoju e-biznesu — stwórz w³asny sklep internetowy
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWOœCIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Koœciuszki 1c
44-100 Gliwice
tel. 032 230 98 63
e-mail: helion@helion.pl
Podziękowania ...................................................................................................................7
Wstęp ..................................................................................................................................9
Rozdział 1. Koncepcja sklepu internetowego ..................................................... 13
Część publiczna ................................................................................................................13
Część administracyjna ......................................................................................................14
Rozdział 2. Migracja z PHP4 do PHP5 ............................................................... 17
Nowy model obiektowy ...................................................................................................17
Konstruktory oraz destruktory klas ............................................................................18
Dostęp do metod oraz właściwości obiektów ............................................................21
Klasy i metody abstrakcyjne ......................................................................................25
Dziedziczenie po interfejsach ....................................................................................27
Obsługa XML poprzez rozszerzenie DOM .........................................................................28
Ładowanie i zapisywanie obiektów XML .................................................................28
Klasy obiektów rozszerzenia DOM ...........................................................................32
Wyrażenia XPath .......................................................................................................37
Wyjątki .............................................................................................................................41
Klasa Exception .........................................................................................................42
Zgłaszanie i przechwytywanie wyjątków ..................................................................43
Klasy potomne klasy Exception .................................................................................47
Rozwiązania przyjęte w aplikacji sklepu internetowego .................................................49
Model obiektowy .......................................................................................................49
Korzystanie z dokumentów XML ..............................................................................54
Wyjątki w aplikacji ....................................................................................................54
Rozdział 3. Oddzielenie kodu PHP od kodu HTML .............................................. 57
System szablonów Smarty ...............................................................................................58
Instalacja systemu szablonów Smarty .......................................................................60
Struktura katalogowa .................................................................................................63
Parametry konfiguracyjne ..........................................................................................64
Praca ze Smarty ..........................................................................................................70
Metody obiektów klasy Smarty .................................................................................75
Zasady tworzenia szablonów TPL .............................................................................78
Transformacje XSL .........................................................................................................93
Czym jest XSL ...........................................................................................................95
Rozwiązania przyjęte w aplikacji sklepu internetowego ...............................................104
4
PHP i MySQL. Tworzenie sklepów internetowych
Rozdział 4. PEAR ........................................................................................... 109
Czym jest, a czym nie jest PEAR? .................................................................................109
Biblioteka skryptów PHP .........................................................................................110
Zarządzanie pakietami i rozpowszechnianie ich ......................................................110
PHP Foundation Classes ..........................................................................................110
Pakiet DB — komunikacja z bazą danych .....................................................................111
Konfiguracja połączenia ..........................................................................................113
Łączenie i rozłączanie się z bazą danych .................................................................114
Wysyłanie zapytań do bazy danych .........................................................................115
Pobieranie zwróconych danych ...............................................................................117
Szybkie pobieranie danych ......................................................................................121
Pobieranie dodatkowych informacji ........................................................................127
Pakiet Log — obsługa dziennika zdarzeń ......................................................................129
Tworzenie obiektów dziennika zdarzeń ...................................................................130
Pakiet Mail — wysyłanie wiadomości e-mail ................................................................132
Pakiet QuickForm — obsługa formularzy .....................................................................136
Pierwszy formularz ..................................................................................................136
Formularz z życia wzięty .........................................................................................138
Filtry i reguły walidacji ............................................................................................140
Wartości domyślne i stałe ........................................................................................142
Przetwarzanie danych ..............................................................................................143
Elementy formularza ................................................................................................145
Zmiana wyglądu formularza ....................................................................................161
Integracja z systemem szablonów Smarty ...............................................................166
Pakiet QuickForm_Controller — formularze zaawansowane .......................................176
Typowy formularz ...................................................................................................177
Formularz w formie wizarda ....................................................................................184
Formularz z zakładkami ...........................................................................................192
Pakiet Benchmark — pomiar wydajności skryptów ......................................................198
Benchmark_Timer ...................................................................................................198
Benchmark_Profiler .................................................................................................201
Benchmark_Iterate ...................................................................................................204
Rozdział 5. Mechanizmy autoryzacji i sesje ..................................................... 207
Sposoby autoryzacji użytkownika w aplikacji ...............................................................207
Identyfikacja użytkownika .......................................................................................207
Zabezpieczenie sesji .......................................................................................................220
Standardowy mechanizm obsługi sesji ....................................................................220
Własny mechanizm obsługi sesji .............................................................................220
Wykorzystanie cookies ..................................................................................................226
Do czego można wykorzystać cookies ....................................................................227
Bezpieczeństwo cookies ..........................................................................................228
Sposób użycia ..........................................................................................................228
Wykorzystanie nagłówków HTTP .................................................................................230
Rozdział 6. Bezpieczeństwo ............................................................................ 237
Bezpieczeństwo systemu operacyjnego oraz serwera WWW ........................................237
Cel instalacji serwera ...............................................................................................238
Tylko potrzebne usługi ............................................................................................238
Bezpieczna konfiguracja serwera WWW ................................................................239
Bezpieczeństwo wykorzystywanego oprogramowania ..................................................239
Instalacja PHP jako pliku wykonywalnego CGI .....................................................239
Instalacja PHP jako modułu Apache’a ....................................................................242
Opcja register_globals .............................................................................................242
Spis treści
5
Raportowanie o błędach ...........................................................................................244
Ukrywanie PHP .......................................................................................................245
Aktualizacje .............................................................................................................245
Bezpieczeństwo własnej aplikacji ..................................................................................246
Brak walidacji danych ..............................................................................................246
Nieskuteczne mechanizmy kontroli dostępu i autoryzacji .......................................247
Nieprawidłowe zarządzanie kontami oraz sesjami użytkowników .........................249
Ataki typu Cross-Site Scripting (XSS) ....................................................................250
Wstrzykiwanie kodu ................................................................................................251
Przechowywanie niezabezpieczonych danych ........................................................253
Bezpieczeństwo bazy danych .........................................................................................253
Zarządzanie hasłami .......................................................................................................254
Rozdział 7. Projekt aplikacji ........................................................................... 255
Wykorzystywane narzędzia ............................................................................................256
DBDesigner 4 — projektowanie bazy danych .........................................................257
Aqua Data Studio .....................................................................................................270
Eclipse ......................................................................................................................272
Założenia projektowe .....................................................................................................281
Obsługa słowników ..................................................................................................281
Wersje językowe ......................................................................................................286
Interfejs użytkownika .....................................................................................................299
Nagłówek strony ......................................................................................................300
Menu główne sklepu ................................................................................................300
Część centralna sklepu .............................................................................................301
Stopka strony ...........................................................................................................302
Struktura bazy danych ....................................................................................................303
Użytkownicy i klienci sklepu ...................................................................................304
Produkty ...................................................................................................................306
Kategorie ..................................................................................................................308
Producenci ................................................................................................................309
Zamówienia ..............................................................................................................310
Słowniki ...................................................................................................................313
Biblioteka zdjęć .......................................................................................................314
Wersje językowe ......................................................................................................316
Budowa modułowa i struktura aplikacji .........................................................................317
Struktura katalogowa ...............................................................................................318
Konfiguracja serwisu ...............................................................................................320
Przetwarzanie żądań .................................................................................................320
FCKeditor ................................................................................................................322
Rozdział 8. Katalog produktów ....................................................................... 327
Asortyment i produkty ...................................................................................................327
Asortyment sklepu — klasa Item .............................................................................327
Produkty dostępne w ofercie sklepu — klasa Produkt ...............................................346
Produkty w promocji ......................................................................................................364
Obsługa promocji — klasa Special ..........................................................................365
Zarządzanie promocjami ..........................................................................................367
Kategorie produktów ......................................................................................................367
Struktura katalogowa — klasa Catalog ....................................................................368
Wyświetlanie struktury katalogowej ........................................................................369
6
PHP i MySQL. Tworzenie sklepów internetowych
Rozdział 9. Koszyk ......................................................................................... 371
Sesja jako podstawowy mechanizm realizacji koncepcji koszyka .................................372
Koszyk — klasa Basket ..................................................................................................373
Operacje na produktach w koszyku .........................................................................374
Operacje na sumarycznych wartościach cen produktów w koszyku .......................375
Mechanizm obsługi koszyka ..........................................................................................375
Kontroler BasketPage ..............................................................................................376
Kontroler ChangeCountPage ...................................................................................378
Kontroler ClearBasketPage ......................................................................................379
Akcje kontrolera — obsługa zdarzeń .......................................................................380
Rozdział 10. Rejestracja klientów i zarządzanie nimi .......................................... 383
Koncepcja użytkowników aplikacji ...............................................................................384
Klasy użytkownika — User oraz CustomUser ........................................................384
Złożone operacje na obiekcie użytkownika .............................................................386
Mechanizm rejestracji nowego użytkownika .................................................................387
Pierwszy etap rejestracji — formularze rejestracyjne .............................................387
Drugi etap rejestracji — aktywacja konta użytkownika ..........................................406
Rozdział 11. Obsługa zamówień ........................................................................ 409
Realizacja koncepcji zamówień .....................................................................................409
Warunki złożenia zamówienia .................................................................................409
Moduł zamówienia — klasa Order ..........................................................................411
Zarządzanie zamówieniami .....................................................................................412
Realizacja płatności przez bank Inteligo ............................................................................413
Wykonywanie płatności z bankiem Inteligo ............................................................414
Uruchomienie płatności „Płacę z Inteligo” ..............................................................415
Realizacja płatności przez bank mBank .........................................................................415
Uruchomienie płatności typu mTransfer .................................................................415
Wykonywanie przelewów przez mTransfer ............................................................419
Płatności elektroniczne — karty płatnicze .....................................................................422
Usługa Bezpieczne z@kupy firmy Polcard .............................................................423
Usługa ePłatności firmy eCard ................................................................................427
Dodatek A Przygotowanie środowiska pracy ................................................... 439
Dodatek B Instalacja i konfiguracja sklepu internetowego .............................. 479
Skorowidz ..................................................................................... 489
Plik z chomika:
Faficzek-10
Inne pliki z tego folderu:
Head_First_PHP_MySQL_Edycja_polska_hfphms.pdf
(4822 KB)
Mistrzowski_SQL_61_technik_pisania_wydajnego_kodu_SQL_missql.pdf
(2912 KB)
Bazy_danych_i_MySQL_Od_podstaw_bdmsqp.pdf
(352 KB)
Linux_Apache_MySQL_i_PHP_Zaawansowane_programowanie_lapzap.pdf
(359 KB)
MySQL_Almanach_msqalm.pdf
(261 KB)
Inne foldery tego chomika:
3ds max
Access
Acrobat
After Effects
Agile - Programowanie
Zgłoś jeśli
naruszono regulamin