Książka jest NOWA, w stanie IDEALNYM. Niezależnie od ilości zakupionych książek płacisz tylko jednorazowy koszt wysyłki. PHP i MySQL. Tworzenie stron WWW. Vademecum profesjonalisty. Wydanie trzecie
Wydawnictwo: Helion Tandem PHP i MySQL to niewątpliwie najpopularniejsze i najpowszechniej rozpoznawane narzędzia do tworzenia dynamicznych witryn WWW i aplikacji internetowych. Ich popularność jest wynikiem nie tylko ogromnych możliwości, ale także bezpłatnego dostępu do obu narzędzi. Za pomocą PHP i MySQL tworzone są proste skrypty, mechanizmy zarządzania treścią serwisów WWW, sklepy internetowe i tysiące innych aplikacji. Społeczność programistów korzystających z PHP i MySQL stale się powiększa, a producenci tych narzędzi nieustannie pracują nad ich udoskonalaniem.
PHP i MySQL. Tworzenie stron WWW. Vademecum profesjonalisty. Wydanie trzecie to kolejne wydanie bestsellerowego podręcznika opisującego wszystkie aspekty projektowania stron i aplikacji internetowych z wykorzystaniem PHP i MySQL.W trzecim wydaniu książki znaleźć można szczegółowe omówienie możliwości najnowszych wersji obu narzędzi -- programowania obiektowego, obsługi wyjątków, biblioteki SimpleXML oraz procedur składowanych. Książka zawiera przykłady demonstrujące wykorzystanie PHP i MySQL do realizacji różnych zadań związanych z funkcjonowaniem dynamicznych witryn WWW. Może to być uwierzytelnianie użytkowników, tworzenie koszyka na zakupy, dynamiczne generowanie obrazków oraz dokumentów w formacie PDF, wysyłanie poczty elektronicznej i zarządzanie nią oraz łączenie się z usługami WWW za pomocą XML-a. - Podstawy języka PHP w wersji 5.0
- Programowanie obiektowe w PHP
- Praca z MySQL
- Projektowanie bazy danych
- Operacje na danych zgromadzonych w tabelach
- Administrowanie bazą danych
- Projektowanie komercyjnych witryn WWW
- Bezpieczeństwo witryn WWW
- Metody uwierzytelniania użytkowników
- Interakcja aplikacji z serwerem
- Mechanizmy kontroli sesji
- Dynamiczne generowanie grafiki i plików PDF
- Personalizacja witryny
- Korzystanie z usług sieciowych za pomocą protokołu SOAP
Jeśli chcesz nauczyć się wszystkiego, co związane jest z tworzeniem dynamicznych witryn WWW, koniecznie przeczytaj tę książkę.
Spis treści: O Autorach (21)
Wprowadzenie (23)
Część I Stosowanie PHP (33)
Rozdział 1. Podstawowy kurs PHP (35)
- Zastosowanie PHP (36)
- Tworzenie przykładowej aplikacji: "Części samochodowe Janka" (36)
- Formularz zamówienia (36)
- Przetwarzanie formularza (38)
- Osadzanie PHP w HTML (38)
- Zastosowanie znaczników PHP (39)
- Style znaczników PHP (40)
- Instrukcje PHP (40)
- Odstępy (41)
- Komentarze (41)
- Dodawanie zawartości dynamicznej (42)
- Wywoływanie funkcji (43)
- Używanie funkcji date() (43)
- Dostęp do zmiennych formularza (44)
- Zmienne formularza (44)
- Łączenie ciągów (47)
- Zmienne i ciągi znaków (48)
- Identyfikatory (48)
- Tworzenie zmiennych zadeklarowanych przez użytkownika (49)
- Przypisywanie wartości zmiennym (49)
- Typy zmiennych (49)
- Typy danych w PHP (50)
- Siła typu (50)
- Rzutowanie typu (51)
- Zmienne zmiennych (51)
- Deklarowanie i używanie stałych (51)
- Zasięg zmiennych (52)
- Używanie operatorów (53)
- Operatory arytmetyczne (54)
- Operatory ciągów (55)
- Operatory przypisania (55)
- Operatory porównań (57)
- Operatory logiczne (58)
- Operatory bitowe (59)
- Pozostałe operatory (59)
- Stosowanie operatorów: obliczanie sum w formularzu (62)
- Pierwszeństwo i kolejność: wyznaczanie wartości wyrażeń (63)
- Zarządzanie zmiennymi (65)
- Sprawdzanie i ustawianie typów zmiennych (65)
- Sprawdzanie stanu zmiennej (66)
- Reinterpretacja zmiennych (67)
- Implementowanie struktur kontrolujących (67)
- Podejmowanie decyzji za pomocą instrukcji warunkowych (67)
- Instrukcja if (67)
- Bloki kodu (68)
- Instrukcja else (68)
- Instrukcja elseif (69)
- Instrukcja switch (70)
- Porównanie różnych instrukcji warunkowych (71)
- Powtarzanie działań przy użyciu iteracji (72)
- Pętle while (73)
- Pętle for i foreach (74)
- Pętle do..while (75)
- Wyłamywanie się ze struktury skryptu (76)
- Używanie alternatywnych składni struktur sterujących (76)
- Używanie struktury declare (77)
- W następnym rozdziale (77)
Rozdział 2. Przechowywanie i wyszukiwanie danych (79)
- Zapisywanie danych do późniejszego użycia (79)
- Przechowywanie i wyszukiwanie zamówień Janka (80)
- Przetwarzanie plików (81)
- Otwieranie pliku (81)
- Tryby otwarcia pliku (81)
- Stosowanie funkcji fopen() do otwarcia pliku (82)
- Otwieranie pliku przez protokół FTP lub HTTP (84)
- Problemy z otwieraniem plików (85)
- Zapisywanie danych w pliku (87)
- Parametry funkcji fwrite() (88)
- Formaty plików (88)
- Zamykanie pliku (89)
- Odczyt z pliku (91)
- Otwieranie pliku w celu odczytu - fopen() (92)
- Wiedzieć, kiedy przestać - feof() (92)
- Odczytywanie pliku wiersz po wierszu - fgets(), fgetss() i fgetcsv() (92)
- Odczyt całego pliku - readfile(), fpassthru(), file() (93)
- Odczyt pojedynczego znaku - fgetc() (94)
- Odczytywanie zadanej długości - fread() (95)
- Inne przydatne funkcje plikowe (95)
- Sprawdzanie istnienia pliku - file_exists() (95)
- Określanie wielkości pliku - filesize() (96)
- Kasowanie pliku - unlink() (96)
- Poruszanie się wewnątrz pliku - rewind(), fseek() i ftell() (96)
- Blokowanie pliku (97)
- Lepszy sposób obróbki danych - systemy zarządzania bazami danych (99)
- Problemy związane ze stosowaniem plików jednorodnych (99)
- Jak RDBMS rozwiązują powyższe problemy? (99)
- Propozycje dalszych lektur (100)
- W następnym rozdziale (100)
Rozdział 3. Stosowanie tablic (101)
- Czym są tablice? (101)
- Tablice indeksowane numerycznie (102)
- Inicjowanie tablic indeksowanych numerycznie (102)
- Dostęp do zawartości tablicy (103)
- Dostęp do tablic przy zastosowaniu pętli (104)
- Tablice z innymi indeksami (105)
- Inicjowanie tablicy (105)
- Dostęp do elementów tablicy (105)
- Stosowanie pętli (105)
- Operatory tablicowe (107)
- Tablice wielowymiarowe (108)
- Sortowanie tablic (112)
- Stosowanie funkcji sort() (112)
- Stosowanie funkcji asort() i ksort() do porządkowania tablic (112)
- Sortowanie odwrotne (113)
- Sortowanie tablic wielowymiarowych (113)
- Typy sortowań definiowane przez użytkownika (113)
- Odwrotne sortowanie zdefiniowane przez użytkownika (115)
- Zmiany kolejności elementów w tablicach (115)
- Stosowanie funkcji shuffle() (116)
- Stosowanie funkcji array_reverse() (117)
- Ładowanie tablic z plików (118)
- Wykonywanie innych działań na tablicach (121)
- Poruszanie się wewnątrz tablicy - funkcje each(), current(), reset(), end(), next(), pos() i prev() (121)
- Dołączanie dowolnej funkcji do każdego elementu tablicy - funkcja array_walk() (122)
- Liczenie elementów tablicy: count(), sizeof() i array_count_values() (123)
- Konwersja tablic na zmienne skalarne - funkcja extract() (124)
- Propozycje dalszych lektur (125)
- W następnym rozdziale (125)
Rozdział 4. Manipulowanie ciągami i wyrażenia regularne (127)
- Przykładowa aplikacja - Inteligentny Formularz Pocztowy (127)
- Formatowanie ciągów (129)
- Przycinanie ciągów - funkcje chop(), ltrim() i trim() (130)
- Formatowanie ciągów w celu ich prezentacji (130)
- Formatowanie ciągów do przechowania - funkcje addslashes() i stripslashes() (134)
- Łączenie i rozdzielanie ciągów za pomocą funkcji ciągów (135)
- Stosowanie funkcji explode(), implode() i join() (136)
- Stosowanie funkcji strtok() (136)
- Stosowanie funkcji substr() (137)
- Porównywanie ciągów (138)
- Porządkowanie ciągów - funkcje strcmp(), strcasecmp() i strnatcmp() (138)
- Sprawdzanie długości ciągu za pomocą funkcji strlen() (139)
- Dopasowywanie i zamiana podciągów za pomocą funkcji ciągów (139)
- Znajdowanie ciągów w ciągach - funkcje strstr(), strchr(), strrchr() i stristr() (140)
- Odnajdywanie pozycji podciągu - funkcje strpos() i strrpos() (140)
- Zamiana podciągów - funkcje str_replace() i substr_replace() (141)
- Wprowadzenie do wyrażeń regularnych (142)
- Podstawy (143)
- Zbiory i klasy znaków (143)
- Powtarzalność (145)
- Podwyrażenia (145)
- Podwyrażenia policzalne (145)
- Kotwiczenie na początku lub na końcu ciągu (145)
- Rozgałęzianie (146)
- Dopasowywanie specjalnych znaków literowych (146)
- Podsumowanie znaków specjalnych (146)
- Umieszczanie wszystkiego razem (Inteligentny Formularz) (147)
- Odnajdywanie podciągów za pomocą wyrażeń regularnych (148)
- Zamiana podciągów za pomocą wyrażeń regularnych (149)
- Rozdzielanie ciągów za pomocą wyrażeń regularnych (149)
- Porównanie funkcji ciągów i funkcji wyrażeń regularnych (150)
- Propozycje dalszych lektur (150)
- W następnym rozdziale (150)
Rozdział 5. Ponowne wykorzystanie kodu i tworzenie funkcji (151)
- Ponowne stosowanie kodu (151)
- Koszt (152)
- Niezawodność (152)
- Spójność (152)
- Stosowanie funkcji require() i include() (152)
- Funkcja require() (153)
- Rozszerzenia plików i require() (154)
- Znaczniki PHP i require() (154)
- Stosowanie require() w szablonach stron WWW (154)
- Stosowanie funkcji include() (159)
- Stosowanie funkcji require_once() i include_once() (159)
- Stosowanie opcji auto_prepend_file i auto_append_file (159)
- Stosowanie funkcji w PHP (160)
- Wywoływanie funkcji (160)
- Wywołanie niezdefiniowanej funkcji (162)
- Wielkość liter a nazwy funkcji (163)
- Dlaczego powinno się definiować własne funkcje? (163)
- Podstawowa struktura funkcji (164)
- Nadawanie nazwy funkcji (165)
- Parametry (166)
- Zasięg (168)
- Przekazanie przez referencję czy przekazanie przez wartość? (170)
- Powrót z funkcji (171)
- Zwracanie wartości przez funkcje (172)
- Implementacja rekurencji (174)
- Propozycje dalszych lektur (176)
- W następnym rozdziale (176)
Rozdział 6. Obiektowy PHP (177)
- Koncepcje programowania obiektowego (178)
- Klasy i obiekty (178)
- Polimorfizm (179)
- Dziedziczenie (180)
- Tworzenie klas, atrybutów i operacji w PHP (180)
- Struktura klasy (180)
- Konstruktory (181)
- Destruktory (181)
- Tworzenie egzemplarzy (182)
- Stosowanie atrybutów klasy (182)
- Kontrolowanie dostępu przy użyciu private i public (184)
- Wywoływanie operacji klas (185)
- Implementacja dziedziczenia w PHP (186)
- Kontrolowanie widoczności w trakcie dziedziczenia przy użyciu private i protected (187)
- Unieważnianie (188)
- Zapobieganie dziedziczeniu i unieważnianiu przy użyciu final (190)
- Wielodziedziczenie (190)
- Implementowanie interfejsów (191)
- Tworzenie klas (192)
- Tworzenie kodu dla własnej klasy (193)
- Zaawansowane i nowe mechanizmy obiektowe w PHP5 (200)
- PHP4 a PHP5 (200)
- Używanie stałych klasowych (201)
- Implementowanie metod statycznych (201)
- Sprawdzanie typu klasy i wskazywanie typu (201)
- Klonowanie obiektów (202)
- Używanie klas abstrakcyjnych (203)
- Przeciążanie metod przy użyciu __call() (203)
- Używanie metody __autoload() (204)
- Implementowanie iteratorów i iteracji (205)
- Przekształcanie klas w łańcuchy znaków (207)
- Używanie API Reflection (207)
- W następnym rozdziale (208)
Rozdział 7. Obsługa wyjątków (209)
- Koncepcja obsługi wyjątków (209)
- Klasa Exception (211)
- Wyjątki definiowane przez użytkownika (212)
- Wyjątki w Częściach samochodowych Janka (214)
- Wyjątki i inne mechanizmy obsługi błędów w PHP (217)
- Propozycje dalszych lektur (218)
- W następnym rozdziale (218)
Część II Stosowanie MySQL (219)
Rozdział 8. Projektowanie internetowej bazy danych (221)
- Koncepcje relacyjnych baz danych (222)
- Tabele (222)
- Kolumny (222)
- Wiersze (223)
- Wartości (223)
- Klucze (223)
- Schematy (224)
- Relacje (224)
- Jak zaprojektować internetową bazę danych? (225)
- Określ obiekty świata realnego, których model chcesz wykonać (225)
- Unikaj przechowywania redundantnych danych (226)
- Zapisuj atomowe wartości kolumn (228)
- Dobierz właściwe klucze (228)
- Pomyśl o zapytaniach, które zadasz bazie (229)
- Unikaj tworzenia tabel z wieloma pustymi polami (229)
- Typy tabel - podsumowanie (230)
- Architektura internetowej bazy danych (230)
- Propozycje dalszych lektur (232)
- W następnym rozdziale (232)
Rozdział 9. Tworzenie internetowej bazy danych (233)
- Użytkowanie monitora MySQL (235)
- Logowanie się do serwera MySQL (235)
- Tworzenie baz i rejestrowanie użytkowników (237)
- Tworzenie bazy danych (237)
- Definiowanie użytkowników i przywilejów (237)
- Wprowadzenie do systemu przywilejów MySQL (237)
- Zasada najmniejszego przywileju (238)
- Rejestrowanie użytkowników: polecenie GRANT (238)
- Typy i poziomy przywilejów (240)
- Polecenie REVOKE (242)
- Przykłady użycia poleceń GRANT i REVOKE (242)
- Rejestrowanie użytkownika łączącego się z Internetu (243)
- Wylogowanie się użytkownika root (244)
- Używanie odpowiedniej bazy danych (244)
- Tworzenie tabel bazy danych (244)
- Znaczenie dodatkowych atrybutów kolumn (246)
- Typy kolumn (246)
- Rzut oka na bazę danych - polecenia SHOW i DESCRIBE (249)
- Tworzenie indeksów (249)
- Uwaga na temat typów tabel (250)
- Identyfikatory MySQL (250)
- Wybór typów danych w kolumnach (251)
- Propozycje dalszych lektur (256)
- W następnym rozdziale (256)
Rozdział 10. Praca z bazą danych MySQL (257)
- Czym jest SQL? (257)
- Zapisywanie danych do bazy (258)
- Wyszukiwanie danych w bazie (260)
- Wyszukiwanie danych spełniających określone kryteria (262)
- Wyszukiwanie danych w wielu tabelach (263)
- Szeregowanie danych w określonym porządku (269)
- Grupowanie i agregowanie danych (269)
- Wskazanie wierszy, które mają być wyświetlone (271)
- Używanie podzapytań (272)
- Dokonywanie zmian rekordów w bazie danych (274)
- Zmiana struktury istniejących tabel (275)
- Usuwanie rekordów z bazy danych (277)
- Usuwanie tabel (278)
- Usuwanie całych baz danych (278)
- Propozycje dalszych lektur (278)
- W następnym rozdziale (278)
Rozdział 11. Łączenie się z bazą MySQL za pomocą PHP (279)
- Jak działa internetowa baza danych? (280)
- Wykonywanie zapytań do bazy danych z poziomu strony WWW (282)
- Sprawdzenie poprawności wpisanych danych (283)
- Ustanawianie połączenia z bazą danych (284)
- Wybór właściwej bazy danych (286)
- Wysyłanie zapytań do bazy danych (286)
- Odczytywanie rezultatów zapytań (287)
- Zamykanie połączenia z bazą danych (288)
- Wstawianie nowych danych do bazy (288)
- Używanie instrukcji przygotowywanych (292)
- Używanie innych interfejsów bazodanowych PHP (293)
- Stosowanie ogólnego interfejsu bazodanowego: PEAR DB (294)
- Propozycje dalszych lektur (297)
- W następnym rozdziale (297)
Rozdział 12. Administrowanie MySQL dla zaawansowanych (299)
- Szczegóły systemu przywilejów (299)
- Tabela user (300)
- Tabele db i host (302)
- Tabele tables_priv i columns_priv (302)
- Kontrola dostępu: w jaki sposób MySQL używa tabel przywilejów (304)
- Zmiana przywilejów: kiedy zmiany zostaną uwzględnione? (305)
- Ochrona bazy danych (305)
- MySQL z perspektywy systemu operacyjnego (305)
- Hasła (306)
- Przywileje użytkowników (307)
- MySQL i Internet (307)
- Uzyskiwanie szczegółowych informacji o bazie danych (308)
- Uzyskiwanie informacji poleceniem SHOW (308)
- Uzyskiwanie informacji o kolumnach za pomocą polecenia DESCRIBE (310)
- Jak wykonywane są zapytania: polecenie EXPLAIN (311)
- Przyspieszanie wykonania zapytań za pomocą indeksów (315)
- Optymalizowanie bazy danych (316)
- Optymalizacja projektu bazy danych (316)
- Przywileje (316)
- Optymalizacja tabel (316)
- Stosowanie indeksów (317)
- Używanie wartości domyślnych (317)
- Więcej wskazówek (317)
- Tworzenie kopii zapasowej bazy danych MySQL (317)
- Przywracanie bazy danych MySQL (318)
- Implementowanie replikacji (318)
- Konfigurowanie serwera nadrzędnego (319)
- Transfer danych początkowych (320)
- Konfigurowanie odbiorcy lub odbiorców (321)
- Propozycje dalszych lektur (321)
- W następnym rozdziale (321)
Rozdział 13. Zaawansowane programowanie w MySQL (323)
- Instrukcja LOAD DATA INFILE (323)
- Maszyny zapisu (324)
- Transakcje (325)
- Definicje dotyczące transakcji (325)
- Użycie transakcji w InnoDB (326)
- Klucze obce (327)
- Procedury składowane (328)
- Prosty przykład (329)
- Zmienne lokalne (331)
- Kursory i struktury sterujące (332)
- Propozycje dalszych lektur (335)
- W następnym rozdziale (335)
Część III E-commerce i bezpieczeństwo (337)
Rozdział 14. Komercyjne witryny internetowe (339)
- Co chcemy osiągnąć? (339)
- Rodzaje komercyjnych stron WWW (339)
- Publikowanie informacji w broszurach internetowych (340)
- Przyjmowanie zamówień na produkty i usługi (343)
- Dostarczanie usług lub wyrobów mających postać cyfrową (348)
- Zwiększanie wartości produktów i usług (348)
- Ograniczanie kosztów (349)
- Ryzyko i zagrożenia (350)
- Crackerzy (350)
- Przyciągnięcie niewystarczającej liczby klientów (351)
- Awarie sprzętu komputerowego (351)
- Awarie sieci elektrycznych, komunikacyjnych i komputerowych oraz systemu wysyłkowego (351)
- Silna konkurencja (352)
- Błędy w oprogramowaniu (352)
- Zmiany polityki rządowej (352)
- Ograniczenie pojemności systemów (353)
- Wybór strategii (353)
- W następnym rozdziale (353)
Rozdział 15. Bezpieczeństwo komercyjnych stron WWW (355)
- Jaką wagę mają posiadane przez nas informacje? (356)
- Zagrożenia bezpieczeństwa (356)
- Ujawnienie informacji poufnych (357)
- Utrata lub zniszczenie danych (359)
- Modyfikacje danych (360)
- Blokada usługi (361)
- Błędy w oprogramowaniu (362)
- Zaprzeczenie korzystania z usługi (363)
- Użyteczność, wydajność, koszty i bezpieczeństwo (364)
- Opracowanie polityki bezpieczeństwa (364)
- Zasady uwierzytelniania (365)
- Wykorzystanie mechanizmu uwierzytelniania (366)
- Podstawy szyfrowania (367)
- Szyfrowanie z kluczem prywatnym (368)
- Szyfrowanie z kluczem publicznym (369)
- Podpis cyfrowy (370)
- Certyfikaty cyfrowe (371)
- Bezpieczne serwery WWW (372)
- Monitorowanie i zapisywanie zdarzeń (373)
- Zapory sieciowe (374)
- Tworzenie kopii zapasowych (374)
- Tworzenie kopii zapasowych zwykłych plików (375)
- Tworzenie kopii zapasowych i odzyskiwanie baz danych MySQL (375)
- Bezpieczeństwo fizyczne (375)
- W następnym rozdziale (376)
Rozdział 16. Uwierzytelnianie przy użyciu PHP i MySQL (377)
- Identyfikacja użytkowników (377)
- Implementacja kontroli dostępu (378)
- Przechowywanie haseł dostępu (381)
- Szyfrowanie haseł (383)
- Zastrzeganie więcej niż jednej strony (385)
- Podstawowa metoda uwierzytelniania (386)
- Wykorzystanie podstawowej metody uwierzytelniania w PHP (387)
- Wykorzystanie podstawowej metody uwierzytelniania na serwerze Apache przy użyciu plików .htaccess (389)
- Wykorzystanie podstawowej metody uwierzytelniania na serwerze IIS (393)
- Wykorzystanie modułu mod_auth_mysql do celów uwierzytelniania (395)
- Instalacja modułu mod_auth_mysql (395)
- Zadziałało? (396)
- Praca z mod_auth_mysql (396)
- Implementacja własnej metody uwierzytelniania (397)
- Propozycje dalszych lektur (398)
- W następnym rozdziale (398)
Rozdział 17. Zabezpieczanie transakcji przy użyciu PHP i MySQL (399)
- Zapewnienie bezpieczeństwa transakcji (399)
- Komputer użytkownika (400)
- Internet (402)
- System docelowy (403)
- Wykorzystanie protokołu Secure Sockets Layer (SSL) (404)
- Kontrola danych pochodzących od użytkownika (407)
- Bezpieczne przechowywanie danych (408)
- Ustalanie, czy powinno się przechowywać numery kart kredytowych (410)
- Szyfrowanie danych w PHP (410)
- Propozycje dalszych lektur (419)
- W następnej części (419)
Część IV Zaawansowane techniki PHP (421)
Rozdział 18. Interakcja z systemem plików i serwerem (423)
- Wprowadzenie do wysyłania plików (423)
- Kod HTML służący do wysyłania plików (424)
- Uwaga na temat bezpieczeństwa (425)
- Tworzenie PHP obsługującego plik (425)
- Najczęściej spotykane problemy (429)
- Stosowanie funkcji katalogowych (430)
- Odczyt z katalogów (430)
- Otrzymywanie informacji na temat aktualnego katalogu (432)
- Tworzenie i usuwanie katalogów (432)
- Interakcja z systemem plików (433)
- Otrzymywanie informacji o pliku (433)
- Zmiana właściwości pliku (435)
- Tworzenie, usuwanie i przenoszenie plików (436)
- Stosowanie funkcji uruchamiających programy (437)
- Interakcja ze środowiskiem: funkcje getenv() i putenv() (439)
- Propozycje dalszych lektur (440)
- W następnym rozdziale (440)
Rozdział 19. Stosowanie funkcji sieci i protokołu (441)
- Przegląd protokołów (441)
- Wysyłanie i odczytywanie poczty elektronicznej (442)
- Korzystanie z innych usług WWW (442)
- Stosowanie funkcji połączeń sieciowych (446)
- Korzystanie z FTP (450)
- Stosowanie FTP w celu utworzenia kopii bezpieczeństwa lub kopii lustrzanej pliku (450)
- Wysyłanie plików (456)
- Unikanie przekroczenia dopuszczalnego czasu (457)
- Stosowanie innych funkcji FTP (457)
- Propozycje dalszych lektur (458)
- W następnym rozdziale (458)
Rozdział 20. Zarządzanie datą i czasem (459)
- Uzyskiwanie informacji o dacie i czasie w PHP (459)
- Stosowanie funkcji date() (459)
- Obsługa znaczników czasu Uniksa (461)
- Stosowanie funkcji getdate() (462)
- Sprawdzanie poprawności dat (463)
- Konwersja pomiędzy formatami daty PHP i MySQL (464)
- Obliczanie dat w PHP (465)
- Obliczanie dat w MySQL (466)
- Stosowanie mikrosekund (468)
- Stosowanie funkcji kalendarzowych (468)
- Propozycje dalszych lektur (469)
- W następnym rozdziale (469)
Rozdział 21. Generowanie obrazków (471)
- Konfigurowanie obsługi obrazków w PHP (472)
- Formaty obrazków (473)
- JPEG (473)
- PNG (473)
- WBMP (474)
- GIF (474)
- Tworzenie obrazków (475)
- Tworzenie kadru obrazka (476)
- Rysowanie lub umieszczanie tekstu w obrazku (476)
- Wyświetlanie ostatecznej grafiki (478)
- Końcowe czynności porządkujące (479)
- Stosowanie automatycznie generowanych obrazków na innych stronach (480)
- Stosowanie tekstu i czcionek do tworzenia obrazków (480)
- Konfiguracja podstawowego kadru (484)
- Dopasowanie tekstu do przycisku (484)
- Nadawanie tekstowi odpowiedniej pozycji (487)
- Wpisywanie tekstu do przycisku (488)
- Etap końcowy (488)
- Rysowanie figur i wykresów danych (488)
- Inne funkcje obrazków (495)
- Propozycje dalszych lektur (496)
- W następnym rozdziale (496)
Rozdział 22. Stosowanie kontroli sesji w PHP (497)
- Czym jest kontrola sesji? (497)
- Podstawowa zasada działania sesji (498)
- Czym jest cookie? (498)
- Konfiguracja cookies w PHP (498)
- Stosowanie cookies w sesji (499)
- Przechowywanie identyfikatora sesji (500)
- Implementacja prostych sesji (500)
- Rozpoczynanie sesji (500)
- Zgłaszanie zmiennych sesji (501)
- Stosowanie zmiennych sesji (501)
- Usuwanie zmiennych i niszczenie sesji (502)
- Przykład prostej sesji (502)
- Konfiguracja kontroli sesji (504)
- Implementacja uwierzytelniania w kontroli sesji (505)
- Propozycje dalszych lektur (511)
- W następnym rozdziale (511)
Rozdział 23. Inne przydatne własności (513)
- Stosowanie magicznych cudzysłowów (513)
- Wykonywanie ciągów - funkcja eval() (514)
- Zakończenie wykonania - die i exit (515)
- Serializacja zmiennych i obiektów (516)
- Pobieranie informacji na temat środowiska PHP (517)
- Uzyskiwanie informacji na temat załadowanych rozszerzeń (517)
- Identyfikacja właściciela skryptu (518)
- Uzyskiwanie informacji na temat daty modyfikacji skryptu (518)
- Dynamiczne dodawanie rozszerzeń (518)
- Czasowa zmiana środowiska wykonawczego (519)
- Podświetlanie źródeł (520)
- Używanie PHP w wierszu poleceń (520)
- W następnej części (521)
Część V Tworzenie praktycznych projektów PHP i MySQL (523)
Rozdział 24. Stosowanie PHP i MySQL w dużych projektach (525)
- Zastosowanie inżynierii oprogramowania w tworzeniu aplikacji WWW (526)
- Planowanie i prowadzenie projektu aplikacji WWW (526)
- Ponowne stosowanie kodu (527)
- Tworzenie kodu łatwego w utrzymaniu (528)
- Standardy kodowania (528)
- Dzielenie kodu (531)
- Stosowanie standardowej struktury katalogów (532)
- Dokumentacja i dzielenie wewnętrznych funkcji (532)
- Implementacja kontroli wersji (533)
- Wybór środowiska programistycznego (534)
- Dokumentacja projektów (534)
- Prototypowanie (535)
- Oddzielanie logiki i zawartości (536)
- Optymalizacja kodu (537)
- Stosowanie prostych optymalizacji (537)
- Stosowanie produktów firmy Zend (538)
- Testowanie (538)
- Propozycje dalszych lektur (540)
- W następnym rozdziale (540)
Rozdział 25. Usuwanie błędów (541)
- Błędy programistyczne (541)
- Błędy składni (542)
- Błędy wykonania (543)
- Błędy logiczne (548)
- Pomoc w usuwaniu błędów w zmiennych (550)
- Poziomy zgłaszania błędów (552)
- Zmiana ustawień zgłaszania błędów (553)
- Wyzwalanie własnych błędów (554)
- Elegancka obsługa błędów (555)
- W następnym rozdziale (557)
Rozdział 26. Tworzenie uwierzytelniania użytkowników i personalizacji (559)
- Problem (559)
- Składniki rozwiązania (560)
- Identyfikacja użytkownika i personalizacja (560)
- Przechowywanie zakładek (561)
- Rekomendowanie zakładek (561)
- Przegląd rozwiązania (561)
- Implementacja bazy danych (563)
- Implementacja podstawowej witryny (565)
- Implementacja uwierzytelniania użytkowników (567)
- Rejestracja (567)
- Logowanie (573)
- Wylogowanie (576)
- Zmiana hasła (577)
- Ustawianie zapomnianych haseł (579)
- Implementacja przechowywania i odczytywania zakładek (584)
- Dodawanie zakładek (584)
- Wyświetlanie zakładek (586)
- Usuwanie zakładek (587)
- Implementacja rekomendacji (589)
- Rozwijanie projektu i możliwe rozszerzenia (592)
- W następnym rozdziale (592)
Rozdział 27. Tworzenie koszyka na zakupy (593)
- Problem (593)
- Składniki rozwiązania (594)
- Tworzenie katalogu online (594)
- Śledzenie zakupów użytkownika podczas przeglądania (594)
- Implementacja systemu płatności (594)
- Interfejs administratora (595)
- Przegląd rozwiązania (595)
- Implementacja bazy danych (599)
- Implementacja katalogu online (601)
- Przedstawianie kategorii (603)
- Wyświetlanie książek danej kategorii (605)
- Przedstawianie szczegółowych danych książki (607)
- Implementacja koszyka na zakupy (608)
- Stosowanie skryptu pokaz_kosz.php (608)
- Podgląd koszyka (611)
- Dodawanie produktów do koszyka (614)
- Zapisywanie uaktualnionego koszyka (615)
- Wyświetlanie podsumowania w pasku nagłówka (616)
- Pobyt w kasie (616)
- Implementacja płatności (622)
- Implementacja interfejsu administratora (624)
- Rozwijanie projektu (631)
- Zastosowanie istniejącego systemu (632)
- W następnym rozdziale (632)
Rozdział 28. Tworzenie systemu zarządzania zawartością (633)
- Problem (633)
- Wymagania systemu (634)
- Istniejące systemy (634)
- Edycja zawartości (634)
- Umieszczanie zawartości w systemie (635)
- Bazy danych czy pliki? (636)
- Struktura dokumentu (636)
- Stosowanie metadanych (636)
- Formatowanie danych wyjściowych (637)
- Projekt/przegląd rozwiązania (638)
- Projektowanie bazy danych (639)
- Implementacja systemu zarządzania zawartością (641)
- Fronton systemu (641)
- Wnętrze systemu (648)
- Wyszukiwanie (656)
- Ekran redaktora naczelnego (659)
- Rozwijanie projektu (661)
- W następnym rozdziale (661)
Rozdział 29. Tworzenie serwisu poczty elektronicznej opartego na WWW (663)
- Problem (663)
- Składniki rozwiązania (664)
- Przegląd rozwiązania (666)
- Konfiguracja bazy danych (667)
- Architektura skryptu (669)
- Logowanie i wylogowanie (674)
- Konfiguracja kont (677)
- Tworzenie nowego konta (679)
- Modyfikacja istniejącego konta (681)
- Usuwanie konta (681)
- Odczytywanie poczty (682)
- Wybór konta (682)
- Przeglądanie zawartości skrzynki (684)
- Odczytywanie wiadomości pocztowych (687)
- Przeglądanie nagłówków wiadomości (690)
- Usuwanie wiadomości (690)
- Wysyłanie wiadomości (692)
- Wysyłanie nowej wiadomości (692)
- Odpowiadanie i przekazywanie poczty (694)
- Rozwijanie projektu (695)
- W następnym rozdziale (696)
Rozdział 30. Tworzenie menedżera list pocztowych (697)
- Problem (697)
- Składniki rozwiązania (698)
- Konfiguracja bazy danych list i abonentów (698)
- Wysyłanie plików (699)
- Wysyłanie wiadomości z załącznikami (699)
- Przegląd rozwiązania (699)
- Konfiguracja bazy danych (701)
- Architektura skryptu (704)
- Implementacja logowania (711)
- Tworzenie nowego konta (711)
- Logowanie (714)
- Implementacja funkcji użytkownika (716)
- Przeglądanie list (717)
- Przeglądanie informacji na temat listy (721)
- Przeglądanie archiwum listy (723)
- Zapisywanie i wypisywanie (724)
- Zmiana konfiguracji konta (726)
- Zmiana hasła (726)
- Wylogowanie (728)
- Implementacja funkcji administratora (728)
- Tworzenie nowej listy (729)
- Wysyłanie nowych wiadomości (731)
- Obsługa wysyłania wielu plików (734)
- Podgląd wiadomości (737)
- Rozsyłanie wiadomości (738)
- Rozwijanie projektu (744)
- W następnym rozdziale (745)
Rozdział 31. Tworzenie forum WWW (747)
- Problem (747)
- Składniki rozwiązania (748)
- Przegląd rozwiązania (749)
- Projektowanie bazy danych (751)
- Przeglądanie drzewa artykułów (753)
- Rozwijanie i zwijanie (755)
- Wyświetlanie artykułów (758)
- Korzystanie z klasy wezel_drzewa (759)
- Przeglądanie pojedynczych artykułów (765)
- Dodawanie nowych artykułów (767)
- Rozszerzenia (773)
- Wykorzystanie istniejącego systemu (773)
- W następnym rozdziale (774)
Rozdział 32. Tworzenie dokumentów spersonalizowanych w formacie PDF (775)
- Problem (775)
- Ocena formatów dokumentów (776)
- Składniki rozwiązania (780)
- System pytań i odpowiedzi (781)
- Oprogramowanie generujące dokumenty (781)
- Przegląd rozwiązania (784)
- Zadawanie pytań (785)
- Ocena odpowiedzi (786)
- Tworzenie certyfikatu RTF (789)
- Tworzenie certyfikatu PDF z szablonu (792)
- Generowanie dokumentu PDF za pomocą PDFlib (795)
- Skrypt "Witaj świecie" dla PDFlib (796)
- Tworzenie certyfikatu za pomocą PDFlib (800)
- Problemy związane z nagłówkami (807)
- Rozwijanie projektu (807)
- Propozycje dalszych lektur (807)
- W następnym rozdziale (808)
Rozdział 33. Korzystanie z usług sieciowych za pomocą XML i SOAP (809)
- Problem (809)
- Podstawy XML (810)
- Podstawy usług sieciowych (814)
- Składniki rozwiązania (816)
- Konstrukcja koszyka na zakupy (816)
- Korzystanie z interfejsu usług sieciowych Amazon.com (816)
- Wczytywanie dokumentów XML (817)
- Korzystanie z SOAP za pomocą PHP (817)
- Buforowanie (818)
- Opis rozwiązania (818)
- Aplikacja główna (821)
- Wyświetlanie listy książek z danej kategorii (827)
- Tworzenie obiektu klasy WynikiWyszukiwania (829)
- Korzystanie z REST/przesyłania dokumentów XML (835)
- Korzystanie z protokołu SOAP (840)
- Buforowanie danych (841)
- Konstrukcja koszyka na zakupy (843)
- Przejście do kasy na witrynie Amazon.com (846)
- Instalacja kodu źródłowego (847)
- Kierunki rozwoju (847)
- Literatura (848)
Dodatki (849)
Dodatek A Instalacja PHP i MySQL (851)
- Uruchamianie PHP jako CGI lub modułu serwera (852)
- Instalacja Apache, PHP i MySQL w systemie UNIX (852)
- Instalacja przy użyciu binariów (852)
- Instalacja przy użyciu kodów źródłowych (853)
- Plik httpd.conf - informacje końcowe (859)
- Czy obsługa PHP działa poprawnie? (860)
- Czy SSL działa poprawnie? (861)
- Instalacja Apache, PHP i MySQL w systemie Windows (862)
- Instalacja MySQL w systemie Windows (862)
- Instalacja serwera Apache w systemie Windows (866)
- Instalacja PHP w systemie Windows (868)
- Instalowanie PEAR (871)
- Inne konfiguracje (872)
Dodatek B Zasoby internetowe (873)
- Zasoby poświęcone PHP (873)
- Zasoby poświęcone MySQL i SQL (875)
- Zasoby poświęcone serwerowi Apache (876)
- Zasoby poświęcone tworzeniu stron WWW (876)
Skorowidz (877)
|