PHP_i_MySQL_Tworzenie_stron_WWW_phmsql.pdf

(1339 KB) Pobierz
IDZ DO
PRZYK£ADOWY ROZDZIA£
SPIS TREŒCI
KATALOG KSI¥¯EK
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
PHP i MySQL.
Tworzenie stron WWW
Autor: William Jason Gilmore
T³umaczenie: Jacek Smycz, Daniel Kaczmarek
ISBN: 83-7197-523-6
Tytu³ orygina³u:
PHP and MySQL Web Developmnent
Format: B5, stron: oko³o 800
Przyk³ady na ftp: 713 kB
Ta praktyczna ksi¹¿ka, ukazuj¹ca przede wszystkim zastosowania komercyjne, zawiera
liczne przyk³ady. Ilustruj¹ one realizacjê nastêpuj¹cych zadañ: uwierzytelnianie
u¿ytkowników, konstruowanie koszyka na zakupy, dynamiczne generowanie
dokumentów PDF i obrazków, wysy³anie i zarz¹dzanie poczt¹ elektroniczn¹, u³atwianie
dyskusji miêdzy u¿ytkownikami oraz zarz¹dzanie zawartoœci¹. Autorzy po³o¿yli istotny
nacisk na kwestiê bezpieczeñstwa.
Oprócz sk³adni i biblioteki funkcji PHP, niniejsza ksi¹¿ka opisuje równie¿ podstawowe
pojêcia z dziedziny profesjonalnej in¿ynierii oprogramowania zwi¹zanego z sieci¹ WWW.
Niektóre, takie jak utrzymywanie, wspó³praca i testowanie, s¹ kwestiami istotnymi dla
in¿ynierów oprogramowania pracuj¹cych we wszystkich domenach zastosowañ. Inne
pojêcia, takie jak uwierzytelnianie, szyfrowanie i kontrola sesji, maj¹ szczególne
znaczenie dla projektów programistycznych opartych na Internecie.
Dynamiczne tworzenie kodu HTML, obrazków i dokumentów
Tworzenie bezpiecznych us³ug za pomoc¹ uwierzytelniania i SSL
Tworzenie koszyka na zakupy dla witryn handlu elektronicznego
Opis praktyk zwi¹zanych z in¿ynieri¹ oprogramowania dla wiêkszych projektów
WWW
Zastosowanie obiektowych technik programistycznych w Internecie
TWÓJ KOSZYK
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWOŒCIACH
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
O Autorach .........................................................................................................21
Wprowadzenie ....................................................................................................23
Dlaczego warto przeczytać niniejszą ksią kę? ....................................................................................23
Korzyści wynikające z lektury tej ksią ki .............................................................................................24
Czym jest PHP?....................................................................................................................................25
Nowości w PHP, wersja 4....................................................................................................................25
Czym jest MySQL?..............................................................................................................................26
Dlaczego warto wykorzystywać PHP i MySQL? ................................................................................26
Niektóre zalety PHP.............................................................................................................................27
Wydajność .....................................................................................................................................27
Integracja z bazami danych............................................................................................................27
Wbudowane biblioteki ...................................................................................................................27
Koszt ..............................................................................................................................................28
Nauka PHP.....................................................................................................................................28
Przenośność ...................................................................................................................................28
Kod źródłowy ................................................................................................................................28
Niektóre zalety MySQL .......................................................................................................................28
Wydajność .....................................................................................................................................29
Niski koszt .....................................................................................................................................29
Łatwość wykorzystania..................................................................................................................29
Przenośność ...................................................................................................................................29
Kod źródłowy ................................................................................................................................29
Układ treści ksią ki ..............................................................................................................................29
Kody źródłowe .....................................................................................................................................30
Uwagi końcowe....................................................................................................................................30
Część I Stosowanie PHP ................................................................31
Rozdział 1. Podstawowy kurs PHP .......................................................................33
Zastosowanie PHP ...............................................................................................................................34
Przykładowa aplikacja: „Części samochodowe Janka” .......................................................................34
Formularz zamówienia ..................................................................................................................35
Przetwarzanie formularza ..............................................................................................................36
Osadzanie PHP w HTML.....................................................................................................................36
Zastosowanie znaczników PHP .....................................................................................................38
Style znaczników PHP...................................................................................................................38
Instrukcje PHP ...............................................................................................................................39
Odstępy ..........................................................................................................................................39
Komentarze ....................................................................................................................................40
6
PHP i MySQL. Tworzenie stron WWW
Dodawanie zawartości dynamicznej ....................................................................................................41
Wywoływanie funkcji....................................................................................................................41
Funkcja date() ................................................................................................................................42
Dostęp do zmiennych formularza ........................................................................................................42
Zmienne formularza.......................................................................................................................42
Łączenie ciągów ............................................................................................................................44
Zmienne i ciągi znaków .................................................................................................................44
Identyfikatory.......................................................................................................................................45
Zmienne zadeklarowane przez u ytkownika .......................................................................................45
Przypisywanie wartości zmiennym......................................................................................................45
Typy zmiennych...................................................................................................................................46
Typy danych w PHP ......................................................................................................................46
Siła typu .........................................................................................................................................46
Rzutowanie typu ............................................................................................................................47
Zmienne zmiennych.......................................................................................................................47
Stałe......................................................................................................................................................48
Zasięg zmiennych.................................................................................................................................48
Operatory..............................................................................................................................................49
Operatory arytmetyczne.................................................................................................................49
Operatory ciągów...........................................................................................................................50
Operatory przypisania....................................................................................................................50
Operatory porównań ......................................................................................................................53
Operatory logiczne.........................................................................................................................54
Operatory bitowe ...........................................................................................................................54
Pozostałe operatory........................................................................................................................54
Stosowanie operatorów: obliczanie sum w formularzu .......................................................................56
Pierwszeństwo i kolejność: wyznaczanie wartości wyra eń ...............................................................57
Zarządzanie zmiennymi .......................................................................................................................59
Sprawdzanie i ustawianie typów zmiennych .................................................................................59
Sprawdzanie stanu zmiennej..........................................................................................................60
Reinterpretacja zmiennych ............................................................................................................61
Struktury kontrolujące..........................................................................................................................61
Podejmowanie decyzji za pomocą instrukcji warunkowych ...............................................................61
Instrukcja if ....................................................................................................................................61
Bloki kodu......................................................................................................................................62
Uwaga poboczna: wcinanie kodu ..................................................................................................62
Instrukcja else ................................................................................................................................62
Instrukcja elseif..............................................................................................................................63
Instrukcja switch ............................................................................................................................64
Porównanie ró nych instrukcji warunkowych...............................................................................66
Iteracja: powtarzanie działań................................................................................................................66
Pętle while......................................................................................................................................67
Pętle for..........................................................................................................................................68
Pętle do..while................................................................................................................................69
Wyłamywanie się ze struktury skryptu ................................................................................................70
W następnym rozdziale: zapisywanie zamówienia klienta..................................................................70
Rozdział 2. Przechowywanie i wyszukiwanie danych .............................................71
Zapisywanie danych do późniejszego u ycia ......................................................................................72
Przechowywanie i wyszukiwanie zamówień Janka.............................................................................72
Podstawowe informacje na temat przetwarzania plików .....................................................................73
Spis treści
7
Otwieranie pliku...................................................................................................................................74
Tryby otwarcia pliku......................................................................................................................74
Stosowanie funkcji fopen() do otwarcia pliku ...............................................................................74
Otwieranie pliku przez protokół FTP lub HTTP ...........................................................................76
Problemy z otwieraniem plików ....................................................................................................76
Zapisywanie danych w pliku................................................................................................................78
Parametry funkcji fwrite() .............................................................................................................79
Formaty plików..............................................................................................................................79
Zamykanie pliku...................................................................................................................................80
Odczyt z pliku ......................................................................................................................................80
Otwieranie pliku w celu odczytu — fopen() .................................................................................81
Wiedzieć, kiedy przestać — feof() ................................................................................................81
Odczytywanie pliku linia po linii — fgets(), fgetss() i fgetcsv()...................................................82
Odczyt całego pliku — readfile(), fpassthru(), file() .....................................................................83
Odczyt pojedynczego znaku — fgetc() .........................................................................................84
Odczytywanie zadanej długości — fread()....................................................................................84
Inne przydatne funkcje plikowe ...........................................................................................................84
Sprawdzanie istnienia pliku — file_exists() ..................................................................................85
Określanie wielkości pliku — filesize() ........................................................................................85
Kasowanie pliku — unlink()..........................................................................................................85
Poruszanie się wewnątrz pliku — rewind(), fseek() i ftell()..........................................................85
Blokowanie pliku .................................................................................................................................86
Lepszy sposób obróbki danych — systemy zarządzania bazami danych ............................................87
Problemy związane ze stosowaniem plików jednorodnych ..........................................................88
Jak RDBMS rozwiązują powy sze problemy?..............................................................................88
Propozycje dalszych lektur ..................................................................................................................89
W następnym rozdziale ........................................................................................................................89
Rozdział 3. Stosowanie tablic ..............................................................................91
Czym są tablice? ..................................................................................................................................92
Tablice indeksowane numerycznie ......................................................................................................92
Inicjowanie tablic indeksowanych numerycznie ...........................................................................92
Dostęp do zawartości tablicy .........................................................................................................93
Dostęp do tablic przy zastosowaniu pętli ......................................................................................94
Tablice asocjacyjne ..............................................................................................................................94
Inicjowanie tablicy asocjacyjnej ....................................................................................................94
Dostęp do elementów tablicy.........................................................................................................95
Stosowanie pętli z funkcjami each() i list() ...................................................................................95
Tablice wielowymiarowe .....................................................................................................................97
Sortowanie tablic................................................................................................................................100
Stosowanie funkcji sort() .............................................................................................................100
Stosowanie funkcji asort() i ksort() do porządkowania tablic asocjacyjnych..............................101
Sortowanie odwrotne ...................................................................................................................101
Sortowanie tablic wielowymiarowych...............................................................................................102
Typy sortowań definiowane przez u ytkownika .........................................................................102
Odwrotne sortowanie zdefiniowane przez u ytkownika ...............................................................104
Zmiany kolejności elementów w tablicach..........................................................................................104
Stosowanie funkcji shuffle() ........................................................................................................104
Stosowanie funkcji array_reverse() .............................................................................................105
Ładowanie tablic z plików .................................................................................................................106
8
PHP i MySQL. Tworzenie stron WWW
Inne działania na tablicach .................................................................................................................109
Poruszanie się wewnątrz tablicy — funkcje each(), current(), reset(), end(),
next(), pos() i prev()..................................................................................................................109
Dołączanie dowolnej funkcji do ka dego elementu tablicy — funkcja array_walk().................110
Liczenie elementów tablicy: count(), sizeof() i array_count_values() ........................................111
Konwersja tablic na zmienne skalarne — funkcja extract() ........................................................112
Propozycje dalszych lektur ................................................................................................................113
W następnym rozdziale ......................................................................................................................113
Rozdział 4. Manipulowanie ciągami i wyrażenia regularne...................................115
Przykładowa aplikacja — Inteligentny Formularz Pocztowy............................................................115
Formatowanie ciągów ........................................................................................................................117
Przycinanie ciągów — funkcje chop(), ltrim() i trim()................................................................118
Formatowanie ciągów w celu ich prezentacji..............................................................................118
Formatowanie ciągów do przechowania — funkcje AddSlashes() i StripSlashes() ...................121
Łączenie i rozdzielanie ciągów za pomocą funkcji ciągów ...............................................................123
Stosowanie funkcji explode(), implode() i join().........................................................................123
Stosowanie funkcji strtok() ..........................................................................................................124
Stosowanie funkcji substr() .........................................................................................................125
Porównywanie ciągów .......................................................................................................................125
Porządkowanie ciągów — funkcje strcmp(), strcasecmp() i strnatcmp()....................................126
Sprawdzanie długości ciągu za pomocą funkcji strlen() .............................................................126
Dopasowywanie i zamiana podciągów za pomocą funkcji ciągów ...................................................127
Znajdowanie ciągów w ciągach — funkcje strstr(), strchr(), strrchr() i stristr()..........................127
Odnajdywanie pozycji podciągu — funkcje strpos() i strrpos()..................................................128
Zamiana podciągów — funkcje str_replace() i substr_replace().................................................129
Wprowadzenie do wyra eń regularnych............................................................................................130
Podstawy......................................................................................................................................130
Zbiory i klasy znaków..................................................................................................................131
Powtarzalność ..............................................................................................................................132
Podwyra enia...............................................................................................................................132
Podwyra enia policzalne .............................................................................................................133
Kotwiczenie na początku lub na końcu ciągu..............................................................................133
Rozgałęzianie...............................................................................................................................133
Dopasowywanie specjalnych znaków literowych .......................................................................134
Podsumowanie znaków specjalnych............................................................................................134
Umieszczanie wszystkiego razem (Inteligentny Formularz).......................................................134
Odnajdywanie podciągów za pomocą wyra eń regularnych .............................................................135
Zamiana podciągów za pomocą wyra eń regularnych ......................................................................136
Rozdzielanie ciągów przy pomocy wyra eń regularnych..................................................................136
Porównanie funkcji ciągów i funkcji wyra eń regularnych...............................................................137
Propozycje dalszych lektur ................................................................................................................137
W następnym rozdziale ......................................................................................................................137
Rozdział 5. Ponowne wykorzystanie kodu i tworzenie funkcji ..............................139
Dlaczego ponownie stosować kod? ...................................................................................................140
Koszt ............................................................................................................................................140
Niezawodność..............................................................................................................................140
Spójność.......................................................................................................................................140
Stosowanie funkcji require() i include() ..............................................................................................141
Stosowanie funkcji require()........................................................................................................141
Rozszerzenia plików i require() ...................................................................................................142
Znaczniki PHP i require() ............................................................................................................142
Zgłoś jeśli naruszono regulamin