SlideShare a Scribd company logo
1 of 12
Download to read offline
IDZ DO
         PRZYK£ADOWY ROZDZIA£

                           SPIS TREŒCI   PHP w mgnieniu oka
           KATALOG KSI¥¯EK               Autor: Chris Newman
                                         T³umaczenie: Rados³aw Meryk
                      KATALOG ONLINE     ISBN: 83-246-0043-4
                                         Tytu³ orygina³u: Teach Yourself PHP in 10 Minutes
                                         Format: A5, stron: 272
       ZAMÓW DRUKOWANY KATALOG


              TWÓJ KOSZYK                                    Poznaj jêzyk PHP -— najpopularniejsz¹ technologiê
                                                                   tworzenia dynamicznych witryn WWW
                    DODAJ DO KOSZYKA         • Sposoby przetwarzania informacji z formularzy na stronach WWW
                                             • Komunikacja z baz¹ danych
                                             • Usuwanie b³êdów z kodu
         CENNIK I INFORMACJE             Dynamiczne witryny WWW stopniowo wypieraj¹ takie, które opieraj¹ siê wy³¹cznie
                                         na statycznych treœciach. Mo¿liwoœæ po³¹czenia stron z baz¹ danych pozwoli³a na
                   ZAMÓW INFORMACJE      tworzenie portali, sklepów internetowych, katalogów, forów dyskusyjnych i wielu innych
                     O NOWOŒCIACH        witryn, bez których trudno sobie wyobraziæ oblicze wspó³czesnego internetu. Spoœród
                                         technologii wykorzystywanych do tworzenia dynamicznych witryn WWW najwiêksz¹
                       ZAMÓW CENNIK      popularnoœci¹ cieszy siê PHP. Tê dostêpn¹ nieodp³atnie platformê mo¿na uruchomiæ
                                         w ka¿dym systemie operacyjnym. PHP jest jêzykiem stosunkowo prostym. Pisane w nim
                                         skrypty s¹ osadzane w kodzie strony WWW i interpretowane podczas jej wyœwietlania
                 CZYTELNIA               w przegl¹darce.
          FRAGMENTY KSI¥¯EK ONLINE       „PHP w mgnieniu oka” to ksi¹¿ka dla tych, którzy chc¹ szybko poznaæ najwa¿niejsze
                                         elementy programowania w jêzyku PHP. Opisuje podstawowe zagadnienia zwi¹zane
                                         ze zmiennymi, s³owami kluczowymi i organizacj¹ kodu. Czytaj¹c j¹, dowiesz siê,
                                         jak za pomoc¹ PHP przetwarzaæ ró¿ne typy danych, jak osadzaæ kod PHP wewn¹trz
                                         kodu HTML i jak tworzyæ elementy stron WWW. Nauczysz siê równie¿ ³¹czyæ skrypty
                                         PHP z zewnêtrznymi programami, serwerami i us³ugami, przeczytasz o komunikacji
                                         z baz¹ danych, obs³udze systemu plików i usuwaniu b³êdów ze skryptów.
                                             • Zmienne i sta³e w PHP
                                             • Sterowanie przebiegiem programu
                                             • Stosowanie funkcji
                                             • Przetwarzanie ró¿nych typów danych
                                             • Obs³uga formularzy HTML, sesji i plików cookie
Wydawnictwo Helion                           • Uwierzytelnianie u¿ytkowników
ul. Chopina 6                                • Komunikacja z serwerem WWW
44-100 Gliwice                               • £¹czenie z baz¹ danych
tel. (32)230-98-63
                                             • Obs³uga b³êdów
e-mail: helion@helion.pl
                                             • Klasy z repozytorium PEAR
                                         Jeœli chcesz nauczyæ siê PHP, ale nie masz na to zbyt wiele czasu, koniecznie przeczytaj
                                         tê ksi¹¿kê.
Spis treści
                O Autorze .....................................................................7
                Wprowadzenie: PHP wita! .............................................9

Część I         Podstawy PHP .............................................15
Rozdział 1. Wprowadzenie w tematykę PHP ..................................17
                Podstawy PHP ..................................................................................... 17
                Pierwszy skrypt ................................................................................... 20
                Podsumowanie .................................................................................... 24
Rozdział 2. Zmienne ....................................................................25
                Podstawowe wiadomości o zmiennych ............................................... 25
                Typy danych ....................................................................................... 28
                Podsumowanie .................................................................................... 31
Rozdział 3. Przepływ sterowania ...................................................33
                Instrukcje warunkowe ......................................................................... 33
                Pętle .................................................................................................... 39
                Podsumowanie .................................................................................... 41
Rozdział 4. Funkcje ......................................................................43
                Zastosowanie funkcji .......................................................................... 43
                Argumenty i zwracane wartości .......................................................... 45
                Wykorzystanie plików bibliotecznych ................................................ 49
                Podsumowanie .................................................................................... 50

Część II        Przetwarzanie danych ..................................51
Rozdział 5. Przetwarzanie liczb .....................................................53
                Operacje arytmetyczne ........................................................................ 53
                Liczbowe typy danych ........................................................................ 56
                Funkcje przetwarzające liczby ............................................................ 57
                Podsumowanie .................................................................................... 60
4                                                                                        PHP w mgnieniu oka


Rozdział 6. Przetwarzanie ciągów znaków .....................................61
                Anatomia ciągów znaków ................................................................... 61
                Formatowanie ciągów znaków ............................................................ 64
                Funkcje przetwarzania ciągów znaków ............................................... 68
                Podsumowanie .................................................................................... 70
Rozdział 7. Tablice .......................................................................71
                Czym są tablice? ................................................................................. 71
                Funkcje przetwarzania tablic ............................................................... 75
                Tablice wielowymiarowe .................................................................... 78
                Podsumowanie .................................................................................... 80
Rozdział 8. Wyrażenia regularne ...................................................81
                Wprowadzenie do wyrażeń regularnych ............................................. 81
                Zastosowanie funkcji ereg ................................................................... 82
                Podsumowanie .................................................................................... 89
Rozdział 9. Przetwarzanie godzin i dat ..........................................91
                Formaty daty ....................................................................................... 91
                Przetwarzanie znaczników czasu ........................................................ 93
                Podsumowanie .................................................................................... 97
Rozdział 10. Wykorzystanie klas ....................................................99
                Obiektowe własności języka PHP ........................................................ 99
                Czym jest klasa? ............................................................................... 100
                Tworzenie i wykorzystywanie obiektów ........................................... 101
                Podsumowanie .................................................................................. 105

Część III Środowisko webowe ..................................107
Rozdział 11. Przetwarzanie formularzy HTML ................................109
                Przesyłanie formularzy do PHP ........................................................ 109
                Obsługa formularzy za pomocą PHP ................................................ 114
                Skrypt do przesyłania wiadomości e-mail za pomocą formularza .... 116
                Podsumowanie .................................................................................. 118
Rozdział 12. Generowanie dynamicznego HTML ............................119
                Ustawianie wartości domyślnych ...................................................... 119
                Tworzenie elementów formularza ....................................................... 123
                Podsumowanie .................................................................................. 127
Rozdział 13. Weryfikacja poprawności danych w formularzach ......129
                Zapewnienie wypełnienia pól obowiązkowych ................................. 129
                Wyświetlanie ostrzeżeń dotyczących poprawności danych ................. 131
                Wymuszanie reguł dotyczących danych ........................................... 133
                Wyróżnianie pól wymagających uwagi ............................................ 134
                Podsumowanie .................................................................................. 136
Rozdział 14. Pliki cookie i sesje ...................................................137
                Pliki cookie ....................................................................................... 137
                Sesje .................................................................................................. 141
                Podsumowanie .................................................................................. 143
Spis treści                                                                                                    5


Rozdział 15. Uwierzytelnianie użytkowników .................................145
               Typy uwierzytelniania ....................................................................... 145
               Tworzenie systemu uwierzytelniania ................................................ 148
               Podsumowanie .................................................................................. 153
Rozdział 16. Komunikacja z serwerem WWW ................................155
               Nagłówki HTTP ................................................................................ 155
               Zmienne środowiskowe serwera ....................................................... 160
               Podsumowanie .................................................................................. 162

Część IV Wykorzystanie innych usług
         z poziomu PHP ...........................................163
Rozdział 17. Dostęp do systemu plików .......................................165
               Zarządzanie plikami .......................................................................... 165
               Odczytywanie i zapisywanie plików ................................................. 168
               Podsumowanie .................................................................................. 174
Rozdział 18. Wykonywanie programów na serwerze WWW ............175
               Wykonywanie programów na hoście ................................................ 175
               Środowisko hosta .............................................................................. 178
               Zagadnienia bezpieczeństwa ............................................................. 181
               Podsumowanie .................................................................................. 182
Rozdział 19. Wykorzystanie bazy danych MySQL ...........................183
               Wykorzystanie MySQL .................................................................... 183
               Wykonywanie instrukcji SQL ........................................................... 185
               Uruchamianie diagnostyczne instrukcji SQL .................................... 189
               Podsumowanie .................................................................................. 191
Rozdział 20. Abstrakcja bazy danych ...........................................193
               Klasa PEAR DB ................................................................................ 193
               Zagadnienia związane z przenośnością baz danych .......................... 199
               Podsumowanie .................................................................................. 202
Rozdział 21. Uruchamianie skryptów PHP z wiersza polecenia ......203
               Środowisko wiersza polecenia .......................................................... 203
               Pisanie skryptów przeznaczonych do uruchamiania
                w wierszu polecenia ........................................................................ 207
               Podsumowanie .................................................................................. 210
Rozdział 22. Obsługa błędów .......................................................211
               Zgłaszanie błędów ............................................................................. 211
               Podsumowanie .................................................................................. 218

Część V        Konfigurowanie i rozszerzenia PHP .............219
Rozdział 23. Konfiguracja PHP .....................................................221
               Ustawienia konfiguracji .................................................................... 221
               Dyrektywy konfiguracji .................................................................... 224
               Ładowalne moduły ............................................................................ 229
               Podsumowanie .................................................................................. 230
6                                                                                 PHP w mgnieniu oka


Rozdział 24. Bezpieczeństwo PHP ................................................231
               Tryb bezpieczny ................................................................................ 231
               Inne mechanizmy zabezpieczeń ........................................................ 234
               Podsumowanie .................................................................................. 238
Rozdział 25. Repozytorium PEAR .................................................239
               Co to jest PEAR? .............................................................................. 239
               Korzystanie z repozytorium PEAR ...................................................... 241
               Podsumowanie .................................................................................. 245

               Dodatki .....................................................247
Dodatek A Instalacja PHP .........................................................249
               Instalacje na platformie Linux (Unix) ............................................... 249
               Instalacja w systemie Windows ........................................................ 253
               Rozwiązywanie problemów .............................................................. 254
               Skorowidz ................................................................255
Rozdział 2.
Zmienne
W tym rozdziale nauczymy się przypisywać wartości do zmiennych w PHP oraz
wykorzystywać je w prostych wyrażeniach.



Podstawowe wiadomości
o zmiennych
Zmienne — kontenery, w których można zapisywać wartości do późniejszego
wykorzystania, są zasadniczymi komponentami każdego języka programowania.

Na przykład w skrypcie może występować zmienna o nazwie number, w której
zapisano wartość 5, albo zmienna o nazwie name, w której zapisano wartość
Krzysztof. Zmienne o podanych nazwach i wartościach zadeklarowano w nastę-
pującym kodzie:
$number = 5;
$name = "Krzysztof";

Zmienne w PHP zawsze poprzedza się znakiem dolara. Jeśli się o tym pamięta,
zadeklarowanie nowej zmiennej jest bardzo proste: wystarczy po lewej stronie
znaku równości umieścić nazwę zmiennej, a po prawej wartość, którą chcemy
do niej przypisać.

           Deklarowanie zmiennych. Inaczej niż w niektórych językach progra-
           mowania, w PHP nie trzeba deklarować zmiennych przed ich wyko-
           rzystaniem. Aby zadeklarować zmienną, wystarczy przypisać do niej
           wartość. Można to zrobić w dowolnym momencie.
26                                                    Część I ♦ Podstawy PHP


Zmienne można wykorzystywać zamiast literałów w dowolnym miejscu kodu
PHP. W zaprezentowanym tu kolejnym przykładzie wykorzystano instrukcję
echo w celu wyświetlenia wartości zapisanej w zmiennej. Robi się to identycz-
nie jak w przypadku wyświetlania literału tekstowego:
$name = "Krzysztof";
echo "Cześć, ";
echo $name;

Wynik działania tego kodu jest następujący:
Cześć, Krzysztof



Nazwy zmiennych
Im bardziej opisowe są nazwy zmiennych, tym łatwiej rozpoznać, do czego są
przeznaczone. Jest to szczególnie ważne jeśli sięgamy do skryptu kilka miesię-
cy po jego napisaniu.

Ogólnie rzecz biorąc, nie należy do dobrego stylu stosowanie takich nazw zmien-
nych jak $a, $b itd. Prawdopodobnie niezbyt długo będziemy pamiętać, czego
dotyczą określone litery. Dobra nazwa zmiennej zawiera informacje o warto-
ściach, jakich dotyczy (na przykład $cena lub $nazwisko).

           Wielkość liter. W PHP w nazwach zmiennych rozróżniane są wiel-
           kie i małe litery — na przykład zmienna $nazwisko to co innego niż
           $Nazwisko. W tym samym skrypcie w obu zmiennych mogą być za-
           pisane inne wartości.


W nazwach zmiennych mogą występować tylko litery, cyfry i znaki podkreślenia.
Nazwa zmiennej może rozpoczynać się literą bądź znakiem podkreślenia. Przy-
kłady prawidłowych i nieprawidłowych nazw zmiennych zestawiono w tabeli 2.1.

           Zastosowanie znaków podkreślenia. Wykorzystanie znaków pod-
           kreślenia to dobry sposób nadania zmiennym nazw składających
           się z dwóch lub większej liczby słów. Na przykład nazwy zmiennych
           $imie_nazwisko oraz $data_urodzenia są bardziej czytelne wła-
           śnie dzięki zastosowaniu znaków podkreślenia.
           Inną popularną konwencją stosowaną do nazw zmiennych składa-
           jących się z większej liczby słów jest rozpoczynanie każdego kolej-
           nego wyrazu w nazwie wielką literą — na przykład $ImieNazwisko
           lub $DataUrodzenia. Jeśli ktoś preferuje taki styl, może z powodze-
           niem go stosować w swoich skryptach, musi jednak pamiętać, że
           wielkość liter ma znaczenie.
Rozdział 2. ♦ Zmienne                                                      27


Tabela 2.1. Przykłady prawidłowych i nieprawidłowych nazw zmiennych
Prawidłowe nazwy zmiennych    Nieprawidłowe nazwy zmiennych
$procent                      $pct%
$imie_nazwisko                $imie-nazwisko
$wiersz_2                     $2gi_wiersz



Wyrażenia
Podczas przypisywania wartości do zmiennej podawana wartość nie musi być
literałem. Równie dobrze może to być wyrażenie — połączone za pomocą ope-
ratora dwie (lub więcej) wartości, które wspólnie tworzą wynik. Zrozumienie
działania zaprezentowanego tu przykładu nie powinno nastręczyć trudności.
Dokładny jego opis zamieszczono pod przykładem:
$sum = 16 + 30;
echo $sum;

Zmienna $sum pobiera wartość wyrażenia znajdującego się po prawej stronie
znaku równości. Wartości 16 i 30 zostały połączone za pomocą operatora do-
dawania — symbolu plus (+), dlatego wyrażenie zwraca wynik dodawania tych
dwóch liczb. Jak łatwo przewidzieć, wykonanie tego kodu spowoduje wyświe-
tlenie liczby 46.

Tę samą operację dodawania można wykonać z wykorzystaniem dwóch zmien-
nych:
$a =   16;
$b =   30;
$sum   = $a + $b;
echo   $sum;

Wykonanie tego kodu powoduje dodanie wartości zmiennych $a i $b. Tak jak
poprzednio, skrypt wyświetla liczbę 46.


Zmienne w ciągach znaków
Jak już powiedziano, ciągi znaków muszą być ujęte w cudzysłów lub apostrofy.
Wiemy też, że istnieje różnica pomiędzy zastosowaniem apostrofów i cudzy-
słowów.

Na czym polega ta różnica? Znak dolara występujący w ciągu znaków ujętym
w cudzysłów oznacza, że bieżąca wartość zmiennej powinna stać się częścią cią-
gu znaków. Jeśli natomiast występuje w ciągu znaków ujętym w apostrofy, znak
dolara jest interpretowany literalnie i nie powoduje odwołania do zmiennych.
28                                                     Część I ♦ Podstawy PHP


Różnicę tę zaprezentowano w zamieszczonych niżej przykładach. W pierwszym
z nich w ciągu znaków wprowadzono wartość zmiennej $name:
$name = "Krzysztof";
echo "Cześć, $name";

Wykonanie kodu spowoduje wyświetlenie ciągu Cześć, Krzysztof.
W drugim przykładzie znak dolara zostanie zinterpretowany literalnie i nie nastąpi
odwołanie do zmiennej:
$name = 'Krzysztof';
echo 'Cześć, $name';

Wykonanie tego kodu spowoduje wyświetlenie ciągu Cześć, $name.
Czasami w kodzie PHP trzeba jawnie oznaczyć początek i koniec zmiennej.
W tym celu należy użyć nawiasów klamrowych — {}. Aby wyświetlić wagę
z przyrostkiem oznaczającym kilogramy lub funty, odpowiednia instrukcja po-
winna przyjąć następującą postać:
echo "Całkowita waga wynosi {$weight}kg";

Gdyby nie zostały zastosowane nawiasy klamrowe wokół zmiennej $weight,
interpreter PHP próbowałby znaleźć zmienną $weightkg, która najprawdopo-
dobniej nie występuje w skrypcie.
Ten sam efekt można osiągnąć dzięki zastosowaniu operatora konkatenacji —
symbolu kropki. Można go wykorzystać do połączenia ze sobą dwóch lub więk-
szej liczby ciągów znaków, tak jak pokazano w następującym przykładzie:
echo 'Całkowita waga wynosi ' . $weight . 'kg';

Trzy wartości — dwa literały znakowe i jedna zmienna $weight — są ze sobą
łączone w kolejności, w jakiej występują w instrukcji. Warto zwrócić uwagę na
to, że na końcu pierwszego ciągu znaków dodano spację, aby oddzielić słowo
wynosi od wartości wagi.
Gdyby zmienna $weight miała wartość 99, wykonanie przedstawionej wyżej
instrukcji spowodowałoby wyświetlenie następującego wyniku:
Całkowita waga wynosi 99kg




Typy danych
Każda zmienna, w której zapisano wartość, posiada typ danych. Typ danych
definiuje rodzaje wartości, które mogą być zapisane w zmiennej. Podstawowe
typy danych dostępne w PHP zestawiono w tabeli 2.2.
Rozdział 2. ♦ Zmienne                                                               29


Tabela 2.2. Typy danych w PHP
Typ danych          Opis
Boolean             Ocena logiczna; może mieć wartość TRUE (prawda) lub FALSE (fałsz).
Integer             Wartość numeryczna — dodatnia lub ujemna liczba całkowita.
Double (lub float) Liczba zmiennoprzecinkowa — dowolna liczba dziesiętna.
String              Wartość alfanumeryczna — może zawierać dowolną liczbę
                    znaków ASCII.

W momencie przypisania wartości do zmiennej następuje ustalenie typu danych.
PHP określa typ danych automatycznie, na podstawie przypisanej wartości. Aby
sprawdzić typ danych zmiennej, można skorzystać z funkcji gettype.

Wykonanie poniższego kodu pozwoli przekonać się, że typ danych liczby dzie-
siętnej to double:
$value = 7.2;
echo gettype($value);

Działanie odwrotne do gettype ma funkcja settype, która umożliwia przesło-
nięcie typu danych zmiennej. Jeśli zapisana w zmiennej wartość nie może być
zapisana przy użyciu nowego typu, jest modyfikowana do najbliższej możliwej
wartości.

Następujący kod jest próbą przekształcenia ciągu znaków na liczbę całkowitą:
$value = "22nd January 2005";
settype($value, "integer");
echo $value;

W tym przypadku ciąg znaków rozpoczyna się od cyfr, ale nie reprezentuje licz-
by całkowitej. W wyniku konwersji przekształcone będą wszystkie znaki — od
początku ciągu do pierwszego znaku, który nie jest liczbą. Pozostała część ciągu
znaków będzie odrzucona, a zatem wykonanie tego kodu zwróci wartość 22.

             Analiza typów danych. W praktyce funkcji settype i gettype nie
             wykorzystuje się zbyt często, ponieważ nie ma zbyt wielu sytuacji,
             w których trzeba modyfikować typ danych zmiennej. Jak już powie-
             dziano, PHP automatycznie przypisuje typ danych do zmiennej.



Żonglowanie typami
Czasami interpreter PHP przeprowadza niejawną konwersję typów danych. Dzieje
się tak w przypadku, gdy spodziewa się wartości określonego typu. Takie dzia-
łanie określa się jako żonglowanie typami (ang. type juggling).
30                                                     Część I ♦ Podstawy PHP


Na przykład operator dodawania powinien znajdować się pomiędzy dwoma licz-
bami. Przed wykonaniem operacji dodawania ciągi znaków są przekształcane na
wartości typu double lub integer. Tak więc zaprezentowana poniżej operacja
dodawania zwróci wynik w postaci liczby całkowitej:
echo 100 + "10 cali";

Wykonanie kodu powoduje dodanie liczb 100 i 10, dlatego w wyniku wyświe-
tlona zostanie liczba 110.

Podobny mechanizm działa w przypadku zastosowania operatora znakowego dla
danych liczbowych. W przypadku przeprowadzania operacji znakowej na da-
nych liczbowych, wartości liczbowe są najpierw przekształcane na ciągi znaków.
Z taką sytuacją zetknęliśmy się już przy okazji omawiania operatora konkatena-
cji — wyświetlana zmienna $weight była liczbą.

Wynikiem działania operacji wykonywanych na ciągach znaków zawsze jest ciąg
znaków, nawet wtedy, kiedy przypomina liczbę. Wykonanie kodu zaprezento-
wanego w zamieszczonym niżej przykładzie zwraca wynik 69, ale — jak poka-
zuje wynik działania funkcji gettype — zmienna $number zawiera ciąg znaków:
$number = 6.9;
echo $number;
echo gettype($number);

Rozbudowaną listę operatorów liczbowych i tekstowych przedstawimy w roz-
działach 5., „Przetwarzanie liczb”, oraz 6., „Przetwarzanie ciągów znaków”.


Zmienne do przechowywania
nazw zmiennych
W PHP wartość zapisaną w zmiennej można wykorzystać jako nazwę innej
zmiennej. Jeśli to nie brzmi zbyt zrozumiale, spróbujemy objaśnić to za pomocą
następującego przykładu:
$my_age = 21;
$varname = "my_age";
echo "Wartość zmiennej $varname wynosi ${$varname}";

Wynik działania powyższego skryptu jest następujący:
Wartość zmiennej my_age wynosi 21

Ponieważ ciąg znaków jest ujęty w cudzysłów, znak dolara oznacza, że wartość
zmiennej stanie się częścią ciągu znaków. Konstrukcja ${$varname} spowodu-
je, że wartość zmiennej, której nazwę zapisano w zmiennej $varname, stanie się
częścią ciągu znaków.
Rozdział 2. ♦ Zmienne                                                    31


Nawiasy klamrowe wokół nazwy $varname są obowiązkowe wewnątrz ciągów
znaków, ale w innych wywołaniach ich użycie nie jest konieczne. Kod zasto-
sowany w naszym kolejnym, zamieszczonym poniżej przykładzie, w którym
zastosowano operator konkatenacji, zwraca dokładnie taki sam wynik jaki uzy-
skaliśmy poprzednio:
echo 'Wartość zmiennej ' . $varname . ' wynosi ' . $$varname;




Podsumowanie
W tym rozdziale mogliśmy zobaczyć, jak posługiwać się zmiennymi w PHP.
W następnym dowiemy się, w jaki sposób korzystać z instrukcji warunkowych
i instrukcji pętli do zarządzania przepływem sterowania w skryptach.

More Related Content

What's hot

PHP i MySQL. Witryna WWW oparta na bazie danych. Wydanie III
PHP i MySQL. Witryna WWW oparta na bazie danych. Wydanie IIIPHP i MySQL. Witryna WWW oparta na bazie danych. Wydanie III
PHP i MySQL. Witryna WWW oparta na bazie danych. Wydanie IIIWydawnictwo Helion
 
PHP, MySQL i Apache dla każdego. Wydanie II
PHP, MySQL i Apache dla każdego. Wydanie IIPHP, MySQL i Apache dla każdego. Wydanie II
PHP, MySQL i Apache dla każdego. Wydanie IIWydawnictwo Helion
 
Tworzenie stron WWW w praktyce. Wydanie II
Tworzenie stron WWW w praktyce. Wydanie IITworzenie stron WWW w praktyce. Wydanie II
Tworzenie stron WWW w praktyce. Wydanie IIWydawnictwo Helion
 
PHP i MySQL. Wprowadzenie. Wydanie II
PHP i MySQL. Wprowadzenie. Wydanie IIPHP i MySQL. Wprowadzenie. Wydanie II
PHP i MySQL. Wprowadzenie. Wydanie IIWydawnictwo Helion
 
PHP i MySQL. Tworzenie sklepów internetowych. Wydanie II
PHP i MySQL. Tworzenie sklepów internetowych. Wydanie IIPHP i MySQL. Tworzenie sklepów internetowych. Wydanie II
PHP i MySQL. Tworzenie sklepów internetowych. Wydanie IIWydawnictwo Helion
 
JavaScript dla każdego. Wydanie IV
JavaScript dla każdego. Wydanie IVJavaScript dla każdego. Wydanie IV
JavaScript dla każdego. Wydanie IVWydawnictwo Helion
 
FrontPage 2003 PL. Nie tylko dla webmasterów
FrontPage 2003 PL. Nie tylko dla webmasterówFrontPage 2003 PL. Nie tylko dla webmasterów
FrontPage 2003 PL. Nie tylko dla webmasterówWydawnictwo Helion
 
Zwiększ szybkość! Optymalizacja serwisów internetowych
Zwiększ szybkość! Optymalizacja serwisów internetowychZwiększ szybkość! Optymalizacja serwisów internetowych
Zwiększ szybkość! Optymalizacja serwisów internetowychWydawnictwo Helion
 
Tworzenie stron WWW. Biblia. Wydanie II
Tworzenie stron WWW. Biblia. Wydanie IITworzenie stron WWW. Biblia. Wydanie II
Tworzenie stron WWW. Biblia. Wydanie IIWydawnictwo Helion
 
Projektowanie stron WWW. Jak to zrobić?
Projektowanie stron WWW. Jak to zrobić?Projektowanie stron WWW. Jak to zrobić?
Projektowanie stron WWW. Jak to zrobić?Wydawnictwo Helion
 

What's hot (20)

JavaScript. Projekty
JavaScript. ProjektyJavaScript. Projekty
JavaScript. Projekty
 
HTML i XHTML dla każdego
HTML i XHTML dla każdegoHTML i XHTML dla każdego
HTML i XHTML dla każdego
 
PHP i MySQL. Witryna WWW oparta na bazie danych. Wydanie III
PHP i MySQL. Witryna WWW oparta na bazie danych. Wydanie IIIPHP i MySQL. Witryna WWW oparta na bazie danych. Wydanie III
PHP i MySQL. Witryna WWW oparta na bazie danych. Wydanie III
 
PHP, MySQL i Apache dla każdego. Wydanie II
PHP, MySQL i Apache dla każdego. Wydanie IIPHP, MySQL i Apache dla każdego. Wydanie II
PHP, MySQL i Apache dla każdego. Wydanie II
 
PHP. Praktyczne wprowadzenie
PHP. Praktyczne wprowadzeniePHP. Praktyczne wprowadzenie
PHP. Praktyczne wprowadzenie
 
Tworzenie stron WWW w praktyce. Wydanie II
Tworzenie stron WWW w praktyce. Wydanie IITworzenie stron WWW w praktyce. Wydanie II
Tworzenie stron WWW w praktyce. Wydanie II
 
PHP i MySQL. Wprowadzenie. Wydanie II
PHP i MySQL. Wprowadzenie. Wydanie IIPHP i MySQL. Wprowadzenie. Wydanie II
PHP i MySQL. Wprowadzenie. Wydanie II
 
Po prostu HTML 4. Wydanie III
Po prostu HTML 4. Wydanie IIIPo prostu HTML 4. Wydanie III
Po prostu HTML 4. Wydanie III
 
JavaScript i DHTML. Receptury
JavaScript i DHTML. RecepturyJavaScript i DHTML. Receptury
JavaScript i DHTML. Receptury
 
PHP i MySQL. Tworzenie sklepów internetowych. Wydanie II
PHP i MySQL. Tworzenie sklepów internetowych. Wydanie IIPHP i MySQL. Tworzenie sklepów internetowych. Wydanie II
PHP i MySQL. Tworzenie sklepów internetowych. Wydanie II
 
JavaScript dla każdego. Wydanie IV
JavaScript dla każdego. Wydanie IVJavaScript dla każdego. Wydanie IV
JavaScript dla każdego. Wydanie IV
 
Tworzenie stron WWW. Kurs
Tworzenie stron WWW. KursTworzenie stron WWW. Kurs
Tworzenie stron WWW. Kurs
 
Java. Rozmówki
Java. RozmówkiJava. Rozmówki
Java. Rozmówki
 
Dreamweaver MX 2004
Dreamweaver MX 2004Dreamweaver MX 2004
Dreamweaver MX 2004
 
FrontPage 2003 PL. Nie tylko dla webmasterów
FrontPage 2003 PL. Nie tylko dla webmasterówFrontPage 2003 PL. Nie tylko dla webmasterów
FrontPage 2003 PL. Nie tylko dla webmasterów
 
PHP5. Radocha z programowania
PHP5. Radocha z programowaniaPHP5. Radocha z programowania
PHP5. Radocha z programowania
 
Zwiększ szybkość! Optymalizacja serwisów internetowych
Zwiększ szybkość! Optymalizacja serwisów internetowychZwiększ szybkość! Optymalizacja serwisów internetowych
Zwiększ szybkość! Optymalizacja serwisów internetowych
 
Flash i PHP5. Podstawy
Flash i PHP5. PodstawyFlash i PHP5. Podstawy
Flash i PHP5. Podstawy
 
Tworzenie stron WWW. Biblia. Wydanie II
Tworzenie stron WWW. Biblia. Wydanie IITworzenie stron WWW. Biblia. Wydanie II
Tworzenie stron WWW. Biblia. Wydanie II
 
Projektowanie stron WWW. Jak to zrobić?
Projektowanie stron WWW. Jak to zrobić?Projektowanie stron WWW. Jak to zrobić?
Projektowanie stron WWW. Jak to zrobić?
 

Similar to PHP w mgnieniu oka

Po prostu PHP. Techniki zaawansowane
Po prostu PHP. Techniki zaawansowanePo prostu PHP. Techniki zaawansowane
Po prostu PHP. Techniki zaawansowaneWydawnictwo Helion
 
PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danych
PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danychPHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danych
PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danychWydawnictwo Helion
 
PHP. 101 praktycznych skryptów. Wydanie II
PHP. 101 praktycznych skryptów. Wydanie IIPHP. 101 praktycznych skryptów. Wydanie II
PHP. 101 praktycznych skryptów. Wydanie IIWydawnictwo Helion
 
PHP5. Zaawansowane programowanie
PHP5. Zaawansowane programowaniePHP5. Zaawansowane programowanie
PHP5. Zaawansowane programowanieWydawnictwo Helion
 
PHP5. Obiekty, wzorce, narzędzia
PHP5. Obiekty, wzorce, narzędziaPHP5. Obiekty, wzorce, narzędzia
PHP5. Obiekty, wzorce, narzędziaWydawnictwo Helion
 
PHP i MySQL. Aplikacje bazodanowe
PHP i MySQL. Aplikacje bazodanowePHP i MySQL. Aplikacje bazodanowe
PHP i MySQL. Aplikacje bazodanoweWydawnictwo Helion
 
PHP. Programowanie. Wydanie III
PHP. Programowanie. Wydanie IIIPHP. Programowanie. Wydanie III
PHP. Programowanie. Wydanie IIIWydawnictwo Helion
 
PHP, MySQL i Apache dla każdego. Wydanie III
PHP, MySQL i Apache dla każdego. Wydanie IIIPHP, MySQL i Apache dla każdego. Wydanie III
PHP, MySQL i Apache dla każdego. Wydanie IIIWydawnictwo Helion
 
PHP5. Profesjonalne tworzenie oprogramowania
PHP5. Profesjonalne tworzenie oprogramowaniaPHP5. Profesjonalne tworzenie oprogramowania
PHP5. Profesjonalne tworzenie oprogramowaniaWydawnictwo Helion
 
PHP. Programowanie w systemie Windows. Vademecum profesjonalisty
PHP. Programowanie w systemie Windows. Vademecum profesjonalistyPHP. Programowanie w systemie Windows. Vademecum profesjonalisty
PHP. Programowanie w systemie Windows. Vademecum profesjonalistyWydawnictwo Helion
 
Serwisy internetowe. Programowanie
Serwisy internetowe. ProgramowanieSerwisy internetowe. Programowanie
Serwisy internetowe. ProgramowanieWydawnictwo Helion
 
PHP4. Zaawansowane programowanie
PHP4. Zaawansowane programowaniePHP4. Zaawansowane programowanie
PHP4. Zaawansowane programowanieWydawnictwo Helion
 
Ajax, JavaScript i PHP. Intensywny trening
Ajax, JavaScript i PHP. Intensywny treningAjax, JavaScript i PHP. Intensywny trening
Ajax, JavaScript i PHP. Intensywny treningWydawnictwo Helion
 
PHP 5 i MySQL. Zastosowania e-commerce
PHP 5 i MySQL. Zastosowania e-commercePHP 5 i MySQL. Zastosowania e-commerce
PHP 5 i MySQL. Zastosowania e-commerceWydawnictwo Helion
 

Similar to PHP w mgnieniu oka (20)

Po prostu PHP. Techniki zaawansowane
Po prostu PHP. Techniki zaawansowanePo prostu PHP. Techniki zaawansowane
Po prostu PHP. Techniki zaawansowane
 
PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danych
PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danychPHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danych
PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danych
 
PHP. 101 praktycznych skryptów. Wydanie II
PHP. 101 praktycznych skryptów. Wydanie IIPHP. 101 praktycznych skryptów. Wydanie II
PHP. 101 praktycznych skryptów. Wydanie II
 
PHP5. Tajniki programowania
PHP5. Tajniki programowaniaPHP5. Tajniki programowania
PHP5. Tajniki programowania
 
PHP5. Zaawansowane programowanie
PHP5. Zaawansowane programowaniePHP5. Zaawansowane programowanie
PHP5. Zaawansowane programowanie
 
PHP5. Obiekty, wzorce, narzędzia
PHP5. Obiekty, wzorce, narzędziaPHP5. Obiekty, wzorce, narzędzia
PHP5. Obiekty, wzorce, narzędzia
 
PHP5 i MySQL. Biblia
PHP5 i MySQL. BibliaPHP5 i MySQL. Biblia
PHP5 i MySQL. Biblia
 
PHP i MySQL. Aplikacje bazodanowe
PHP i MySQL. Aplikacje bazodanowePHP i MySQL. Aplikacje bazodanowe
PHP i MySQL. Aplikacje bazodanowe
 
PHP. Programowanie
PHP. ProgramowaniePHP. Programowanie
PHP. Programowanie
 
PHP. Programowanie. Wydanie III
PHP. Programowanie. Wydanie IIIPHP. Programowanie. Wydanie III
PHP. Programowanie. Wydanie III
 
PHP, MySQL i Apache dla każdego. Wydanie III
PHP, MySQL i Apache dla każdego. Wydanie IIIPHP, MySQL i Apache dla każdego. Wydanie III
PHP, MySQL i Apache dla każdego. Wydanie III
 
PHP5. Księga eksperta
PHP5. Księga ekspertaPHP5. Księga eksperta
PHP5. Księga eksperta
 
PHP5. Profesjonalne tworzenie oprogramowania
PHP5. Profesjonalne tworzenie oprogramowaniaPHP5. Profesjonalne tworzenie oprogramowania
PHP5. Profesjonalne tworzenie oprogramowania
 
PHP. Programowanie w systemie Windows. Vademecum profesjonalisty
PHP. Programowanie w systemie Windows. Vademecum profesjonalistyPHP. Programowanie w systemie Windows. Vademecum profesjonalisty
PHP. Programowanie w systemie Windows. Vademecum profesjonalisty
 
Serwisy internetowe. Programowanie
Serwisy internetowe. ProgramowanieSerwisy internetowe. Programowanie
Serwisy internetowe. Programowanie
 
PHP4. Zaawansowane programowanie
PHP4. Zaawansowane programowaniePHP4. Zaawansowane programowanie
PHP4. Zaawansowane programowanie
 
Ajax, JavaScript i PHP. Intensywny trening
Ajax, JavaScript i PHP. Intensywny treningAjax, JavaScript i PHP. Intensywny trening
Ajax, JavaScript i PHP. Intensywny trening
 
PHP 5 i MySQL. Zastosowania e-commerce
PHP 5 i MySQL. Zastosowania e-commercePHP 5 i MySQL. Zastosowania e-commerce
PHP 5 i MySQL. Zastosowania e-commerce
 
Dreamweaver MX
Dreamweaver MXDreamweaver MX
Dreamweaver MX
 
Po prostu FrontPage 2003 PL
Po prostu FrontPage 2003 PLPo prostu FrontPage 2003 PL
Po prostu FrontPage 2003 PL
 

More from Wydawnictwo Helion

Tworzenie filmów w Windows XP. Projekty
Tworzenie filmów w Windows XP. ProjektyTworzenie filmów w Windows XP. Projekty
Tworzenie filmów w Windows XP. ProjektyWydawnictwo Helion
 
Blog, więcej niż internetowy pamiętnik
Blog, więcej niż internetowy pamiętnikBlog, więcej niż internetowy pamiętnik
Blog, więcej niż internetowy pamiętnikWydawnictwo Helion
 
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczne
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktycznePozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczne
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczneWydawnictwo Helion
 
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesie
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesieE-wizerunek. Internet jako narzędzie kreowania image'u w biznesie
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesieWydawnictwo Helion
 
Microsoft Visual C++ 2008. Tworzenie aplikacji dla Windows
Microsoft Visual C++ 2008. Tworzenie aplikacji dla WindowsMicrosoft Visual C++ 2008. Tworzenie aplikacji dla Windows
Microsoft Visual C++ 2008. Tworzenie aplikacji dla WindowsWydawnictwo Helion
 
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie II
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie IICo potrafi Twój iPhone? Podręcznik użytkownika. Wydanie II
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie IIWydawnictwo Helion
 
Makrofotografia. Magia szczegółu
Makrofotografia. Magia szczegółuMakrofotografia. Magia szczegółu
Makrofotografia. Magia szczegółuWydawnictwo Helion
 
Java. Efektywne programowanie. Wydanie II
Java. Efektywne programowanie. Wydanie IIJava. Efektywne programowanie. Wydanie II
Java. Efektywne programowanie. Wydanie IIWydawnictwo Helion
 
PowerPoint 2007 PL. Seria praktyk
PowerPoint 2007 PL. Seria praktykPowerPoint 2007 PL. Seria praktyk
PowerPoint 2007 PL. Seria praktykWydawnictwo Helion
 
Serwisy społecznościowe. Budowa, administracja i moderacja
Serwisy społecznościowe. Budowa, administracja i moderacjaSerwisy społecznościowe. Budowa, administracja i moderacja
Serwisy społecznościowe. Budowa, administracja i moderacjaWydawnictwo Helion
 
Serwer SQL 2008. Administracja i programowanie
Serwer SQL 2008. Administracja i programowanieSerwer SQL 2008. Administracja i programowanie
Serwer SQL 2008. Administracja i programowanieWydawnictwo Helion
 

More from Wydawnictwo Helion (20)

Tworzenie filmów w Windows XP. Projekty
Tworzenie filmów w Windows XP. ProjektyTworzenie filmów w Windows XP. Projekty
Tworzenie filmów w Windows XP. Projekty
 
Blog, więcej niż internetowy pamiętnik
Blog, więcej niż internetowy pamiętnikBlog, więcej niż internetowy pamiętnik
Blog, więcej niż internetowy pamiętnik
 
Access w biurze i nie tylko
Access w biurze i nie tylkoAccess w biurze i nie tylko
Access w biurze i nie tylko
 
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczne
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktycznePozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczne
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczne
 
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesie
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesieE-wizerunek. Internet jako narzędzie kreowania image'u w biznesie
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesie
 
Microsoft Visual C++ 2008. Tworzenie aplikacji dla Windows
Microsoft Visual C++ 2008. Tworzenie aplikacji dla WindowsMicrosoft Visual C++ 2008. Tworzenie aplikacji dla Windows
Microsoft Visual C++ 2008. Tworzenie aplikacji dla Windows
 
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie II
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie IICo potrafi Twój iPhone? Podręcznik użytkownika. Wydanie II
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie II
 
Makrofotografia. Magia szczegółu
Makrofotografia. Magia szczegółuMakrofotografia. Magia szczegółu
Makrofotografia. Magia szczegółu
 
Windows PowerShell. Podstawy
Windows PowerShell. PodstawyWindows PowerShell. Podstawy
Windows PowerShell. Podstawy
 
Java. Efektywne programowanie. Wydanie II
Java. Efektywne programowanie. Wydanie IIJava. Efektywne programowanie. Wydanie II
Java. Efektywne programowanie. Wydanie II
 
JavaScript. Pierwsze starcie
JavaScript. Pierwsze starcieJavaScript. Pierwsze starcie
JavaScript. Pierwsze starcie
 
PowerPoint 2007 PL. Seria praktyk
PowerPoint 2007 PL. Seria praktykPowerPoint 2007 PL. Seria praktyk
PowerPoint 2007 PL. Seria praktyk
 
Excel 2007 PL. Seria praktyk
Excel 2007 PL. Seria praktykExcel 2007 PL. Seria praktyk
Excel 2007 PL. Seria praktyk
 
Access 2007 PL. Seria praktyk
Access 2007 PL. Seria praktykAccess 2007 PL. Seria praktyk
Access 2007 PL. Seria praktyk
 
Word 2007 PL. Seria praktyk
Word 2007 PL. Seria praktykWord 2007 PL. Seria praktyk
Word 2007 PL. Seria praktyk
 
Serwisy społecznościowe. Budowa, administracja i moderacja
Serwisy społecznościowe. Budowa, administracja i moderacjaSerwisy społecznościowe. Budowa, administracja i moderacja
Serwisy społecznościowe. Budowa, administracja i moderacja
 
AutoCAD 2008 i 2008 PL
AutoCAD 2008 i 2008 PLAutoCAD 2008 i 2008 PL
AutoCAD 2008 i 2008 PL
 
Bazy danych. Pierwsze starcie
Bazy danych. Pierwsze starcieBazy danych. Pierwsze starcie
Bazy danych. Pierwsze starcie
 
Inventor. Pierwsze kroki
Inventor. Pierwsze krokiInventor. Pierwsze kroki
Inventor. Pierwsze kroki
 
Serwer SQL 2008. Administracja i programowanie
Serwer SQL 2008. Administracja i programowanieSerwer SQL 2008. Administracja i programowanie
Serwer SQL 2008. Administracja i programowanie
 

PHP w mgnieniu oka

  • 1. IDZ DO PRZYK£ADOWY ROZDZIA£ SPIS TREŒCI PHP w mgnieniu oka KATALOG KSI¥¯EK Autor: Chris Newman T³umaczenie: Rados³aw Meryk KATALOG ONLINE ISBN: 83-246-0043-4 Tytu³ orygina³u: Teach Yourself PHP in 10 Minutes Format: A5, stron: 272 ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK Poznaj jêzyk PHP -— najpopularniejsz¹ technologiê tworzenia dynamicznych witryn WWW DODAJ DO KOSZYKA • Sposoby przetwarzania informacji z formularzy na stronach WWW • Komunikacja z baz¹ danych • Usuwanie b³êdów z kodu CENNIK I INFORMACJE Dynamiczne witryny WWW stopniowo wypieraj¹ takie, które opieraj¹ siê wy³¹cznie na statycznych treœciach. Mo¿liwoœæ po³¹czenia stron z baz¹ danych pozwoli³a na ZAMÓW INFORMACJE tworzenie portali, sklepów internetowych, katalogów, forów dyskusyjnych i wielu innych O NOWOŒCIACH witryn, bez których trudno sobie wyobraziæ oblicze wspó³czesnego internetu. Spoœród technologii wykorzystywanych do tworzenia dynamicznych witryn WWW najwiêksz¹ ZAMÓW CENNIK popularnoœci¹ cieszy siê PHP. Tê dostêpn¹ nieodp³atnie platformê mo¿na uruchomiæ w ka¿dym systemie operacyjnym. PHP jest jêzykiem stosunkowo prostym. Pisane w nim skrypty s¹ osadzane w kodzie strony WWW i interpretowane podczas jej wyœwietlania CZYTELNIA w przegl¹darce. FRAGMENTY KSI¥¯EK ONLINE „PHP w mgnieniu oka” to ksi¹¿ka dla tych, którzy chc¹ szybko poznaæ najwa¿niejsze elementy programowania w jêzyku PHP. Opisuje podstawowe zagadnienia zwi¹zane ze zmiennymi, s³owami kluczowymi i organizacj¹ kodu. Czytaj¹c j¹, dowiesz siê, jak za pomoc¹ PHP przetwarzaæ ró¿ne typy danych, jak osadzaæ kod PHP wewn¹trz kodu HTML i jak tworzyæ elementy stron WWW. Nauczysz siê równie¿ ³¹czyæ skrypty PHP z zewnêtrznymi programami, serwerami i us³ugami, przeczytasz o komunikacji z baz¹ danych, obs³udze systemu plików i usuwaniu b³êdów ze skryptów. • Zmienne i sta³e w PHP • Sterowanie przebiegiem programu • Stosowanie funkcji • Przetwarzanie ró¿nych typów danych • Obs³uga formularzy HTML, sesji i plików cookie Wydawnictwo Helion • Uwierzytelnianie u¿ytkowników ul. Chopina 6 • Komunikacja z serwerem WWW 44-100 Gliwice • £¹czenie z baz¹ danych tel. (32)230-98-63 • Obs³uga b³êdów e-mail: helion@helion.pl • Klasy z repozytorium PEAR Jeœli chcesz nauczyæ siê PHP, ale nie masz na to zbyt wiele czasu, koniecznie przeczytaj tê ksi¹¿kê.
  • 2. Spis treści O Autorze .....................................................................7 Wprowadzenie: PHP wita! .............................................9 Część I Podstawy PHP .............................................15 Rozdział 1. Wprowadzenie w tematykę PHP ..................................17 Podstawy PHP ..................................................................................... 17 Pierwszy skrypt ................................................................................... 20 Podsumowanie .................................................................................... 24 Rozdział 2. Zmienne ....................................................................25 Podstawowe wiadomości o zmiennych ............................................... 25 Typy danych ....................................................................................... 28 Podsumowanie .................................................................................... 31 Rozdział 3. Przepływ sterowania ...................................................33 Instrukcje warunkowe ......................................................................... 33 Pętle .................................................................................................... 39 Podsumowanie .................................................................................... 41 Rozdział 4. Funkcje ......................................................................43 Zastosowanie funkcji .......................................................................... 43 Argumenty i zwracane wartości .......................................................... 45 Wykorzystanie plików bibliotecznych ................................................ 49 Podsumowanie .................................................................................... 50 Część II Przetwarzanie danych ..................................51 Rozdział 5. Przetwarzanie liczb .....................................................53 Operacje arytmetyczne ........................................................................ 53 Liczbowe typy danych ........................................................................ 56 Funkcje przetwarzające liczby ............................................................ 57 Podsumowanie .................................................................................... 60
  • 3. 4 PHP w mgnieniu oka Rozdział 6. Przetwarzanie ciągów znaków .....................................61 Anatomia ciągów znaków ................................................................... 61 Formatowanie ciągów znaków ............................................................ 64 Funkcje przetwarzania ciągów znaków ............................................... 68 Podsumowanie .................................................................................... 70 Rozdział 7. Tablice .......................................................................71 Czym są tablice? ................................................................................. 71 Funkcje przetwarzania tablic ............................................................... 75 Tablice wielowymiarowe .................................................................... 78 Podsumowanie .................................................................................... 80 Rozdział 8. Wyrażenia regularne ...................................................81 Wprowadzenie do wyrażeń regularnych ............................................. 81 Zastosowanie funkcji ereg ................................................................... 82 Podsumowanie .................................................................................... 89 Rozdział 9. Przetwarzanie godzin i dat ..........................................91 Formaty daty ....................................................................................... 91 Przetwarzanie znaczników czasu ........................................................ 93 Podsumowanie .................................................................................... 97 Rozdział 10. Wykorzystanie klas ....................................................99 Obiektowe własności języka PHP ........................................................ 99 Czym jest klasa? ............................................................................... 100 Tworzenie i wykorzystywanie obiektów ........................................... 101 Podsumowanie .................................................................................. 105 Część III Środowisko webowe ..................................107 Rozdział 11. Przetwarzanie formularzy HTML ................................109 Przesyłanie formularzy do PHP ........................................................ 109 Obsługa formularzy za pomocą PHP ................................................ 114 Skrypt do przesyłania wiadomości e-mail za pomocą formularza .... 116 Podsumowanie .................................................................................. 118 Rozdział 12. Generowanie dynamicznego HTML ............................119 Ustawianie wartości domyślnych ...................................................... 119 Tworzenie elementów formularza ....................................................... 123 Podsumowanie .................................................................................. 127 Rozdział 13. Weryfikacja poprawności danych w formularzach ......129 Zapewnienie wypełnienia pól obowiązkowych ................................. 129 Wyświetlanie ostrzeżeń dotyczących poprawności danych ................. 131 Wymuszanie reguł dotyczących danych ........................................... 133 Wyróżnianie pól wymagających uwagi ............................................ 134 Podsumowanie .................................................................................. 136 Rozdział 14. Pliki cookie i sesje ...................................................137 Pliki cookie ....................................................................................... 137 Sesje .................................................................................................. 141 Podsumowanie .................................................................................. 143
  • 4. Spis treści 5 Rozdział 15. Uwierzytelnianie użytkowników .................................145 Typy uwierzytelniania ....................................................................... 145 Tworzenie systemu uwierzytelniania ................................................ 148 Podsumowanie .................................................................................. 153 Rozdział 16. Komunikacja z serwerem WWW ................................155 Nagłówki HTTP ................................................................................ 155 Zmienne środowiskowe serwera ....................................................... 160 Podsumowanie .................................................................................. 162 Część IV Wykorzystanie innych usług z poziomu PHP ...........................................163 Rozdział 17. Dostęp do systemu plików .......................................165 Zarządzanie plikami .......................................................................... 165 Odczytywanie i zapisywanie plików ................................................. 168 Podsumowanie .................................................................................. 174 Rozdział 18. Wykonywanie programów na serwerze WWW ............175 Wykonywanie programów na hoście ................................................ 175 Środowisko hosta .............................................................................. 178 Zagadnienia bezpieczeństwa ............................................................. 181 Podsumowanie .................................................................................. 182 Rozdział 19. Wykorzystanie bazy danych MySQL ...........................183 Wykorzystanie MySQL .................................................................... 183 Wykonywanie instrukcji SQL ........................................................... 185 Uruchamianie diagnostyczne instrukcji SQL .................................... 189 Podsumowanie .................................................................................. 191 Rozdział 20. Abstrakcja bazy danych ...........................................193 Klasa PEAR DB ................................................................................ 193 Zagadnienia związane z przenośnością baz danych .......................... 199 Podsumowanie .................................................................................. 202 Rozdział 21. Uruchamianie skryptów PHP z wiersza polecenia ......203 Środowisko wiersza polecenia .......................................................... 203 Pisanie skryptów przeznaczonych do uruchamiania w wierszu polecenia ........................................................................ 207 Podsumowanie .................................................................................. 210 Rozdział 22. Obsługa błędów .......................................................211 Zgłaszanie błędów ............................................................................. 211 Podsumowanie .................................................................................. 218 Część V Konfigurowanie i rozszerzenia PHP .............219 Rozdział 23. Konfiguracja PHP .....................................................221 Ustawienia konfiguracji .................................................................... 221 Dyrektywy konfiguracji .................................................................... 224 Ładowalne moduły ............................................................................ 229 Podsumowanie .................................................................................. 230
  • 5. 6 PHP w mgnieniu oka Rozdział 24. Bezpieczeństwo PHP ................................................231 Tryb bezpieczny ................................................................................ 231 Inne mechanizmy zabezpieczeń ........................................................ 234 Podsumowanie .................................................................................. 238 Rozdział 25. Repozytorium PEAR .................................................239 Co to jest PEAR? .............................................................................. 239 Korzystanie z repozytorium PEAR ...................................................... 241 Podsumowanie .................................................................................. 245 Dodatki .....................................................247 Dodatek A Instalacja PHP .........................................................249 Instalacje na platformie Linux (Unix) ............................................... 249 Instalacja w systemie Windows ........................................................ 253 Rozwiązywanie problemów .............................................................. 254 Skorowidz ................................................................255
  • 6. Rozdział 2. Zmienne W tym rozdziale nauczymy się przypisywać wartości do zmiennych w PHP oraz wykorzystywać je w prostych wyrażeniach. Podstawowe wiadomości o zmiennych Zmienne — kontenery, w których można zapisywać wartości do późniejszego wykorzystania, są zasadniczymi komponentami każdego języka programowania. Na przykład w skrypcie może występować zmienna o nazwie number, w której zapisano wartość 5, albo zmienna o nazwie name, w której zapisano wartość Krzysztof. Zmienne o podanych nazwach i wartościach zadeklarowano w nastę- pującym kodzie: $number = 5; $name = "Krzysztof"; Zmienne w PHP zawsze poprzedza się znakiem dolara. Jeśli się o tym pamięta, zadeklarowanie nowej zmiennej jest bardzo proste: wystarczy po lewej stronie znaku równości umieścić nazwę zmiennej, a po prawej wartość, którą chcemy do niej przypisać. Deklarowanie zmiennych. Inaczej niż w niektórych językach progra- mowania, w PHP nie trzeba deklarować zmiennych przed ich wyko- rzystaniem. Aby zadeklarować zmienną, wystarczy przypisać do niej wartość. Można to zrobić w dowolnym momencie.
  • 7. 26 Część I ♦ Podstawy PHP Zmienne można wykorzystywać zamiast literałów w dowolnym miejscu kodu PHP. W zaprezentowanym tu kolejnym przykładzie wykorzystano instrukcję echo w celu wyświetlenia wartości zapisanej w zmiennej. Robi się to identycz- nie jak w przypadku wyświetlania literału tekstowego: $name = "Krzysztof"; echo "Cześć, "; echo $name; Wynik działania tego kodu jest następujący: Cześć, Krzysztof Nazwy zmiennych Im bardziej opisowe są nazwy zmiennych, tym łatwiej rozpoznać, do czego są przeznaczone. Jest to szczególnie ważne jeśli sięgamy do skryptu kilka miesię- cy po jego napisaniu. Ogólnie rzecz biorąc, nie należy do dobrego stylu stosowanie takich nazw zmien- nych jak $a, $b itd. Prawdopodobnie niezbyt długo będziemy pamiętać, czego dotyczą określone litery. Dobra nazwa zmiennej zawiera informacje o warto- ściach, jakich dotyczy (na przykład $cena lub $nazwisko). Wielkość liter. W PHP w nazwach zmiennych rozróżniane są wiel- kie i małe litery — na przykład zmienna $nazwisko to co innego niż $Nazwisko. W tym samym skrypcie w obu zmiennych mogą być za- pisane inne wartości. W nazwach zmiennych mogą występować tylko litery, cyfry i znaki podkreślenia. Nazwa zmiennej może rozpoczynać się literą bądź znakiem podkreślenia. Przy- kłady prawidłowych i nieprawidłowych nazw zmiennych zestawiono w tabeli 2.1. Zastosowanie znaków podkreślenia. Wykorzystanie znaków pod- kreślenia to dobry sposób nadania zmiennym nazw składających się z dwóch lub większej liczby słów. Na przykład nazwy zmiennych $imie_nazwisko oraz $data_urodzenia są bardziej czytelne wła- śnie dzięki zastosowaniu znaków podkreślenia. Inną popularną konwencją stosowaną do nazw zmiennych składa- jących się z większej liczby słów jest rozpoczynanie każdego kolej- nego wyrazu w nazwie wielką literą — na przykład $ImieNazwisko lub $DataUrodzenia. Jeśli ktoś preferuje taki styl, może z powodze- niem go stosować w swoich skryptach, musi jednak pamiętać, że wielkość liter ma znaczenie.
  • 8. Rozdział 2. ♦ Zmienne 27 Tabela 2.1. Przykłady prawidłowych i nieprawidłowych nazw zmiennych Prawidłowe nazwy zmiennych Nieprawidłowe nazwy zmiennych $procent $pct% $imie_nazwisko $imie-nazwisko $wiersz_2 $2gi_wiersz Wyrażenia Podczas przypisywania wartości do zmiennej podawana wartość nie musi być literałem. Równie dobrze może to być wyrażenie — połączone za pomocą ope- ratora dwie (lub więcej) wartości, które wspólnie tworzą wynik. Zrozumienie działania zaprezentowanego tu przykładu nie powinno nastręczyć trudności. Dokładny jego opis zamieszczono pod przykładem: $sum = 16 + 30; echo $sum; Zmienna $sum pobiera wartość wyrażenia znajdującego się po prawej stronie znaku równości. Wartości 16 i 30 zostały połączone za pomocą operatora do- dawania — symbolu plus (+), dlatego wyrażenie zwraca wynik dodawania tych dwóch liczb. Jak łatwo przewidzieć, wykonanie tego kodu spowoduje wyświe- tlenie liczby 46. Tę samą operację dodawania można wykonać z wykorzystaniem dwóch zmien- nych: $a = 16; $b = 30; $sum = $a + $b; echo $sum; Wykonanie tego kodu powoduje dodanie wartości zmiennych $a i $b. Tak jak poprzednio, skrypt wyświetla liczbę 46. Zmienne w ciągach znaków Jak już powiedziano, ciągi znaków muszą być ujęte w cudzysłów lub apostrofy. Wiemy też, że istnieje różnica pomiędzy zastosowaniem apostrofów i cudzy- słowów. Na czym polega ta różnica? Znak dolara występujący w ciągu znaków ujętym w cudzysłów oznacza, że bieżąca wartość zmiennej powinna stać się częścią cią- gu znaków. Jeśli natomiast występuje w ciągu znaków ujętym w apostrofy, znak dolara jest interpretowany literalnie i nie powoduje odwołania do zmiennych.
  • 9. 28 Część I ♦ Podstawy PHP Różnicę tę zaprezentowano w zamieszczonych niżej przykładach. W pierwszym z nich w ciągu znaków wprowadzono wartość zmiennej $name: $name = "Krzysztof"; echo "Cześć, $name"; Wykonanie kodu spowoduje wyświetlenie ciągu Cześć, Krzysztof. W drugim przykładzie znak dolara zostanie zinterpretowany literalnie i nie nastąpi odwołanie do zmiennej: $name = 'Krzysztof'; echo 'Cześć, $name'; Wykonanie tego kodu spowoduje wyświetlenie ciągu Cześć, $name. Czasami w kodzie PHP trzeba jawnie oznaczyć początek i koniec zmiennej. W tym celu należy użyć nawiasów klamrowych — {}. Aby wyświetlić wagę z przyrostkiem oznaczającym kilogramy lub funty, odpowiednia instrukcja po- winna przyjąć następującą postać: echo "Całkowita waga wynosi {$weight}kg"; Gdyby nie zostały zastosowane nawiasy klamrowe wokół zmiennej $weight, interpreter PHP próbowałby znaleźć zmienną $weightkg, która najprawdopo- dobniej nie występuje w skrypcie. Ten sam efekt można osiągnąć dzięki zastosowaniu operatora konkatenacji — symbolu kropki. Można go wykorzystać do połączenia ze sobą dwóch lub więk- szej liczby ciągów znaków, tak jak pokazano w następującym przykładzie: echo 'Całkowita waga wynosi ' . $weight . 'kg'; Trzy wartości — dwa literały znakowe i jedna zmienna $weight — są ze sobą łączone w kolejności, w jakiej występują w instrukcji. Warto zwrócić uwagę na to, że na końcu pierwszego ciągu znaków dodano spację, aby oddzielić słowo wynosi od wartości wagi. Gdyby zmienna $weight miała wartość 99, wykonanie przedstawionej wyżej instrukcji spowodowałoby wyświetlenie następującego wyniku: Całkowita waga wynosi 99kg Typy danych Każda zmienna, w której zapisano wartość, posiada typ danych. Typ danych definiuje rodzaje wartości, które mogą być zapisane w zmiennej. Podstawowe typy danych dostępne w PHP zestawiono w tabeli 2.2.
  • 10. Rozdział 2. ♦ Zmienne 29 Tabela 2.2. Typy danych w PHP Typ danych Opis Boolean Ocena logiczna; może mieć wartość TRUE (prawda) lub FALSE (fałsz). Integer Wartość numeryczna — dodatnia lub ujemna liczba całkowita. Double (lub float) Liczba zmiennoprzecinkowa — dowolna liczba dziesiętna. String Wartość alfanumeryczna — może zawierać dowolną liczbę znaków ASCII. W momencie przypisania wartości do zmiennej następuje ustalenie typu danych. PHP określa typ danych automatycznie, na podstawie przypisanej wartości. Aby sprawdzić typ danych zmiennej, można skorzystać z funkcji gettype. Wykonanie poniższego kodu pozwoli przekonać się, że typ danych liczby dzie- siętnej to double: $value = 7.2; echo gettype($value); Działanie odwrotne do gettype ma funkcja settype, która umożliwia przesło- nięcie typu danych zmiennej. Jeśli zapisana w zmiennej wartość nie może być zapisana przy użyciu nowego typu, jest modyfikowana do najbliższej możliwej wartości. Następujący kod jest próbą przekształcenia ciągu znaków na liczbę całkowitą: $value = "22nd January 2005"; settype($value, "integer"); echo $value; W tym przypadku ciąg znaków rozpoczyna się od cyfr, ale nie reprezentuje licz- by całkowitej. W wyniku konwersji przekształcone będą wszystkie znaki — od początku ciągu do pierwszego znaku, który nie jest liczbą. Pozostała część ciągu znaków będzie odrzucona, a zatem wykonanie tego kodu zwróci wartość 22. Analiza typów danych. W praktyce funkcji settype i gettype nie wykorzystuje się zbyt często, ponieważ nie ma zbyt wielu sytuacji, w których trzeba modyfikować typ danych zmiennej. Jak już powie- dziano, PHP automatycznie przypisuje typ danych do zmiennej. Żonglowanie typami Czasami interpreter PHP przeprowadza niejawną konwersję typów danych. Dzieje się tak w przypadku, gdy spodziewa się wartości określonego typu. Takie dzia- łanie określa się jako żonglowanie typami (ang. type juggling).
  • 11. 30 Część I ♦ Podstawy PHP Na przykład operator dodawania powinien znajdować się pomiędzy dwoma licz- bami. Przed wykonaniem operacji dodawania ciągi znaków są przekształcane na wartości typu double lub integer. Tak więc zaprezentowana poniżej operacja dodawania zwróci wynik w postaci liczby całkowitej: echo 100 + "10 cali"; Wykonanie kodu powoduje dodanie liczb 100 i 10, dlatego w wyniku wyświe- tlona zostanie liczba 110. Podobny mechanizm działa w przypadku zastosowania operatora znakowego dla danych liczbowych. W przypadku przeprowadzania operacji znakowej na da- nych liczbowych, wartości liczbowe są najpierw przekształcane na ciągi znaków. Z taką sytuacją zetknęliśmy się już przy okazji omawiania operatora konkatena- cji — wyświetlana zmienna $weight była liczbą. Wynikiem działania operacji wykonywanych na ciągach znaków zawsze jest ciąg znaków, nawet wtedy, kiedy przypomina liczbę. Wykonanie kodu zaprezento- wanego w zamieszczonym niżej przykładzie zwraca wynik 69, ale — jak poka- zuje wynik działania funkcji gettype — zmienna $number zawiera ciąg znaków: $number = 6.9; echo $number; echo gettype($number); Rozbudowaną listę operatorów liczbowych i tekstowych przedstawimy w roz- działach 5., „Przetwarzanie liczb”, oraz 6., „Przetwarzanie ciągów znaków”. Zmienne do przechowywania nazw zmiennych W PHP wartość zapisaną w zmiennej można wykorzystać jako nazwę innej zmiennej. Jeśli to nie brzmi zbyt zrozumiale, spróbujemy objaśnić to za pomocą następującego przykładu: $my_age = 21; $varname = "my_age"; echo "Wartość zmiennej $varname wynosi ${$varname}"; Wynik działania powyższego skryptu jest następujący: Wartość zmiennej my_age wynosi 21 Ponieważ ciąg znaków jest ujęty w cudzysłów, znak dolara oznacza, że wartość zmiennej stanie się częścią ciągu znaków. Konstrukcja ${$varname} spowodu- je, że wartość zmiennej, której nazwę zapisano w zmiennej $varname, stanie się częścią ciągu znaków.
  • 12. Rozdział 2. ♦ Zmienne 31 Nawiasy klamrowe wokół nazwy $varname są obowiązkowe wewnątrz ciągów znaków, ale w innych wywołaniach ich użycie nie jest konieczne. Kod zasto- sowany w naszym kolejnym, zamieszczonym poniżej przykładzie, w którym zastosowano operator konkatenacji, zwraca dokładnie taki sam wynik jaki uzy- skaliśmy poprzednio: echo 'Wartość zmiennej ' . $varname . ' wynosi ' . $$varname; Podsumowanie W tym rozdziale mogliśmy zobaczyć, jak posługiwać się zmiennymi w PHP. W następnym dowiemy się, w jaki sposób korzystać z instrukcji warunkowych i instrukcji pętli do zarządzania przepływem sterowania w skryptach.