PHP i MySQL - Tworzenie sklepów internetowych (Helion).pdf

(597 KB) Pobierz
C:\Andrzej\PDF\ABC nagrywania p³yt CD\1 strona.cdr
IDZ DO
PRZYK£ADOW Y ROZDZIA£
PHP i MySQL. Tworzenie
sklepów internetowych
SPIS TRECI
KATALOG KSI¥¯EK
KATALOG ONLINE
Autorzy: Daniel Bargie³, Sebastian Marek
ISBN: 83-7361-359-5
Format: B5, stron: 244
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
Coraz wiêcej firm oferuje swoje towary w internecie. Taka metoda prezentowania
oferty umo¿liwia dotarcie do wiêkszej liczby klientów i zredukowanie kosztów
wynikaj¹cych z prowadzenia tradycyjnej dzia³alnoci handlowej. Rozwój handlu
elektronicznego spowodowa³ zwiêkszenie zainteresowania us³ugami zwi¹zanymi
z tworzeniem sklepów internetowych.
Do realizacji sklepu internetowego wielu programistów wykorzystuje duet PHP i MySQL.
PHP jest najpopularniejszym jêzykiem skryptowym interpretowanym po stronie serwera.
Ci¹gle rozwijany i rozbudowywany PHP jest wykorzystywany przez tysi¹ce autorów
dynamicznych aplikacji WWW korzystaj¹cych z baz danych. Rolê zaplecza
bazodanowego doskonale spe³ni baza MySQL — prosta i wydajna, a co najwa¿niejsze,
dostêpna nieodp³atnie podobnie, jak PHP. Napisanie efektywnego i bezpiecznego
sklepu internetowego to ciekawe wyzwanie dla programisty. Mo¿e i Ty spróbujesz siê
z nim zmierzyæ?
Jeli mylisz o podjêciu tego wyzwania, to ksi¹¿ka „PHP i MySQL. Tworzenie sklepów
internetowych” jest dla Ciebie idealn¹ lektur¹. Zawiera wszystkie informacje, jakich
potrzebujesz, by zaprojektowaæ i napisaæ funkcjonalny, wydajny i bezpieczny sklep
internetowy, korzystaj¹c z jêzyka PHP i bazy danych MySQL.
• Konfiguracja rodowiska projektowego i uruchomieniowego
• Szablony Smarty, biblioteka PEAR i narzêdzia kontroli sesji
• Projekt aplikacji z rozbiciem na modu³y
• Zagadnienia zwi¹zane z bezpieczeñstwem sklepu i transakcji
• Obs³uga formularzy
• Zastosowanie s³owników
• Katalog produktów
• Wykonanie modu³u koszyka na zakupy
• Modu³ administracyjny
• Obs³uga zamówieñ
• Wyszukiwarka towarów
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWOCIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
12071179.002.png 12071179.003.png 12071179.004.png
Spis treci
Wstp .................................................................................................................7
Rozdział 1. Koncepcja sklepu internetowego......................................................11
Cz publiczna.................................................................................................................11
Cz administracyjna.......................................................................................................12
Rozdział 2. Co naley wiedzie ...........................................................................15
rodowisko pracy — Windows i Linux............................................................................15
System operacyjny......................................................................................................15
Serwer WWW.............................................................................................................17
PHP: Hypertext Preprocessor .....................................................................................19
MySQL .......................................................................................................................19
Podstawowa konfiguracja rodowiska........................................................................21
Smarty — oddzielenie kodu PHP od HTML-a.................................................................24
Instalacja systemu szablonów Smarty ........................................................................25
Konfiguracja systemu szablonów Smarty...................................................................26
Pierwszy szablon.........................................................................................................27
Zło6one szablony ........................................................................................................29
Komunikacja z baz7 danych..............................................................................................31
Standaryzacja interfejsu dostpu do danych...............................................................31
PEAR oraz pakiet Database........................................................................................32
Mechanizmy obsługi i raportowania błdów ....................................................................38
Typy błdów ...............................................................................................................38
Obsługa błdów poprzez standardowe funkcje jzyka PHP.......................................40
Obsługa błdów w zbiorze bibliotek PEAR ...............................................................46
Mechanizmy autoryzacji u6ytkownika i sesje...................................................................50
Identyfikacja u6ytkownika..........................................................................................50
Mechanizmy sesji........................................................................................................63
XML jako narzdzie konfiguracji aplikacji ......................................................................69
Cele korzystania z plików konfiguracyjnych..............................................................69
Dane konfiguracyjne w dokumentach XML...............................................................70
Dane informacyjne w plikach XML ...........................................................................72
Rozdział 3. Projekt aplikacji ..............................................................................75
Interfejs u6ytkownika........................................................................................................76
Nagłówek strony.........................................................................................................77
Menu główne sklepu...................................................................................................78
Cz centralna sklepu................................................................................................78
Stopka strony ..............................................................................................................80
4
PHP i MySQL. Tworzenie sklepów internetowych
Struktura i konfiguracja aplikacji......................................................................................80
Struktura katalogowa ..................................................................................................80
Konfiguracja serwisu ..................................................................................................83
Przetwarzanie 67daC....................................................................................................84
Struktura bazy danych.......................................................................................................85
U6ytkownicy i klienci sklepu......................................................................................86
Produkty......................................................................................................................87
Kategorie.....................................................................................................................90
Producenci...................................................................................................................91
Zamówienia.................................................................................................................92
Słowniki......................................................................................................................94
Biblioteka zdj ..........................................................................................................95
Budowa modułowa aplikacji.............................................................................................96
RdzeC aplikacji............................................................................................................97
Przykładowy prosty moduł aplikacji ..........................................................................98
Rozdział 4. Bezpiecze&stwo.............................................................................103
BezpieczeCstwo systemu operacyjnego oraz serwera WWW.........................................103
Cel instalacji serwera................................................................................................104
Tylko potrzebne usługi .............................................................................................104
Bezpieczna konfiguracja serwera WWW.................................................................105
BezpieczeCstwo wykorzystywanego oprogramowania...................................................105
Instalacja PHP jako pliku wykonywalnego CGI ......................................................105
Instalacja PHP jako modułu Apache.........................................................................107
Opcja register_globals ..............................................................................................108
Raportowanie błdów ...............................................................................................110
Ukrywanie PHP ........................................................................................................111
Aktualizacje ..............................................................................................................111
BezpieczeCstwo własnej aplikacji...................................................................................112
Brak walidacji danych...............................................................................................112
Nieskuteczne mechanizmy kontroli dostpu i autoryzacji........................................113
Nieprawidłowe zarz7dzanie kontami oraz sesjami u6ytkowników ..........................115
Ataki typu Cross-Site Scripting (XSS) .....................................................................116
Wstrzykiwanie kodu .................................................................................................117
Przechowywanie niezabezpieczonych danych .........................................................119
BezpieczeCstwo bazy danych..........................................................................................119
Zarz7dzanie hasłami........................................................................................................120
Rozdział 5. Obsługa formularzy ........................................................................121
Format dokumentu XML definiuj7cego formularz.........................................................121
Pola formularza i reguły walidacyjne .......................................................................122
Dokument form.xml..................................................................................................124
Moduł formularza............................................................................................................128
Metody obiektów klasy Forms..................................................................................128
Konfiguracja obiektu formularza w skryptach PHP.................................................130
Wywietlanie formularza w szablonach Smarty.......................................................132
Testowanie aplikacji z formularzem.........................................................................134
Rozdział 6. Słowniki i ich zastosowanie............................................................139
Object — klasa bazowa dla obiektów.............................................................................140
Dane adresowe — klasa State, Country oraz AddressType............................................141
Słowniki wykorzystywane przy składaniu zamówieC
— klasa DeliveryType, PaymentType, OrderStatus.....................................................145
Waluty i stawki podatku VAT — klasa Currency oraz TaxRate....................................146
Parametry asortymentu — klasa Parameter ....................................................................147
Spis treci
5
Producenci produktów — klasa Producer.......................................................................148
Biblioteka zdj — klasa Image......................................................................................148
Przesyłanie zdj na serwer — pakiet HTTP_Upload..............................................150
Zapisywanie zdj w bazie danych...........................................................................153
Pobieranie zdj z bazy danych................................................................................153
Rozdział 7. Kategorie i produkty ......................................................................155
Asortyment i produkt — ró6nice i zastosowania ............................................................155
Asortyment sklepu — klasa Item..............................................................................155
Dodawanie nowego asortymentu do sklepu .............................................................158
Produkty dostpne w ofercie sklepu — klasa Product................................................162
Produkty w promocji.......................................................................................................167
Obsługa promocji — moduł Special.........................................................................168
Zarz7dzanie promocjami...........................................................................................170
Kategorie produktów.......................................................................................................171
Struktura katalogowa — klasa Catalog.....................................................................172
Wywietlanie struktury katalogowej.........................................................................173
Zarz7dzanie kategoriami...........................................................................................174
Rozdział 8. Koszyk ..........................................................................................177
Sesja jako podstawowy mechanizm realizacji koncepcji koszyka..................................178
Moduł koszyka — klasa Basket......................................................................................179
Operacje na produktach w koszyku..........................................................................180
Operacje na sumarycznych wartociach cen produktów w koszyku........................182
Składanie zamówienia ..............................................................................................182
Wywietlanie koszyka w szablonie TPL.........................................................................184
Rozdział 9. Rejestracja i zarz1dzanie klientami.................................................189
Koncepcja u6ytkowników aplikacji ................................................................................190
Klasy u6ytkownika –— User oraz CustomUser.......................................................190
Rejestracja nowego u6ytkownika....................................................................................193
Pierwszy etap rejestracji — wypełnienie formularzy rejestracyjnych......................194
Drugi etap rejestracji — aktywacja konta u6ytkownika.................................................208
Proces gromadzenia danych za pomoc7 wielu formularzy.............................................210
Zarz7dzanie klientami .....................................................................................................211
Rozdział 10. Obsługa zamówie&.........................................................................213
Warunki zło6enia zamówienia ........................................................................................213
Moduł zamówienia — klasa Order .................................................................................216
Właciwoci i metody obiektów klasy Order ...........................................................216
Zarz7dzanie zamówieniami ......................................................................................218
Rozdział 11. Wyszukiwanie informacji ................................................................221
Formularz wyszukiwarki.................................................................................................221
Analizator danych ...........................................................................................................222
Wyszukiwanie informacji — klasa Search .....................................................................225
Stworzenie i wysłanie zapytania do bazy danych — metoda makeSQLQuery().....226
Pobieranie wyników wyszukiwania — metoda fetchQueryResult()........................229
Rozdział 12. Instalacja sklepu internetowego.....................................................231
Instalacja sklepu od strony serwera WWW ....................................................................231
Instalacja sklepu od strony bazy danych.........................................................................232
Plik konfiguracyjny sklepu internetowego......................................................................232
Skorowidz ........................................................................................................235
Rozdział 8.
Koszyk
Koncepcja koszyka w sklepie internetowym została zapoyczona z rzeczywistoci.
Podczas wizyty w zwykłym sklepie przegldamy półki sklepowe w poszukiwaniu in-
teresujcych nas towarów. Towar, który znajduje si" na półkach, nie jest rozłoony na
nich dowolnie, lecz pogrupowany według pewnych kryteriów. Na przykład nabiał
moe znajdowa% si" w lodowce, a soki owocowe na górnej półce pod cian.
W hipermarketach całe działy zorganizowane s w ten sposób. Rozłoenie towaru
(odpowiadajcego produktom w naszym sklepie internetowym) w odpowiednim miej-
scu sklepu, które dodatkowo moe by% stosownie opisane, odpowiada kategoriom
w naszym wirtualnym sklepie.
Wyobra*my sobie teraz, e klient zauwaa interesujcy go towar, który chce kupi%.
Chwyta towar, biegnie do kasy, płaci, zostawia za sklepem (daje komu, ewentualnie
wiezie do domu), po czym wraca po nast"pny. Łatwo sobie wyobrazi%, e zrobienie
nieco wi"kszych zakupów w takim przypadku zabrałoby kilka dni lub nawet tygodni.
Dlatego te klienci sklepów i hipermarketów uywaj koszyków lub wózków, do któ-
rych mog powkłada% produkty. Gdy ju umieszcz w koszykach wszystko, co chc
kupi%, nios je do kasy, gdzie towar jest podliczany i gdzie nast"puje zapłata (gotów-
k, kart, czekiem).
Mechanizm koszyka jest równie wykorzystywany w sklepie internetowym. Dzi"ki
takiemu rozwizaniu internauta odwiedzajcy sklep internetowy, gdy znajdzie jaki
interesujcy go produkt, moe doda% go do koszyka, a nast"pnie powróci% do dalszego
przegldania asortymentu sklepu. Koszyk b"dzie „pami"tał”, jakie produkty wybrał
klient. Z kolei sam klient moe nast"pnie zamówi% wszystkie produkty znajdujce si"
w koszyku.
Koszyk zakupów w sklepie internetowym ma jeszcze t przewag nad koszykiem
zakupów w rzeczywistym sklepie, e uytkownik moe zwiksza lub zmniejsza
liczb sztuk produktów w koszyku bez potrzeby ponownego odwiedzania kategorii,
które zawieraj te produkty.
12071179.005.png 12071179.001.png
Zgłoś jeśli naruszono regulamin