Head First PHP & MySQL. Edycja polska - Helion

Tytuł oryginału: Head First PHP & MySQL
Tłumaczenie: Tomasz Walczak
ISBN: 978-83-246-6051-3
stron: 800, Format: ebook
Data wydania: 2012-10-22
Księgarnia: Helion
Cena książki: 74,25 zł (poprzednio: 99,00 zł)
Oszczędzasz: 25% (-24,75 zł)
- Odkryj tajniki tworzenia dynamicznych witryn opartych na bazach danych
 - Uniknij kompromitujących wpadek przy korzystaniu z formularzy
 - Wczytaj wszystkie kluczowe elementy składni prosto do swego mózgu
 - Zainstaluj kod PHP i MySQL
 - Sprawdź swą wiedzę na temat skryptów, wykonując dziesiątki ćwiczeń
 
PHP wraz z MySQL stanowią najpopularniejszy zespół, służący do szybkiego tworzenia aplikacji internetowych o różnym stopniu złożoności. Dzięki dużym możliwościom, wydajności oraz optymalnemu podejściu do wielu zagadnień tworzą prawdopodobnie najpopularniejszą platformę do wprowadzania atrakcyjnych rozwiązań. Na temat wykorzystania możliwości PHP i MySQL napisano już wiele książek, jednak ta jest wyjątkowa — należy do popularnej i przyjaznej Czytelnikowi serii Head First!
"Head First PHP & MySQL. Edycja polska" nie jest kolejnym trudnym i nudnym podręcznikiem do nauki PHP i MySQL. Autorzy wykorzystują tu innowacyjne oraz niezwykle skuteczne techniki przyswajania wiedzy szybko i bezboleśnie. Z pomocą licznych ilustracji i ciekawych skojarzeń nauczą Cię, jak stosować PHP wraz z MySQL w Twojej codziennej pracy. Dzięki temu bez najmniejszych problemów przygotujesz formularz, przetworzysz dane wprowadzone przez użytkownika, a następnie zapiszesz je w bazie MySQL. Ponadto zostaniesz wtajemniczony w szczegóły języka PHP oraz SQL. Zapoznasz się z zagrożeniami oraz dowiesz się, jak chronić swoją aplikację przed atakami z zewnątrz. To wszystko sprawi, że pewnym krokiem wejdziesz w świat profesjonalnych aplikacji internetowych!
- Tworzenie i obsługa formularzy
 - Zastosowanie zmiennej $_POST
 - Wysyłanie wiadomości e-mail z poziomu PHP
 - Wykonywanie zapytań SQL
 - Pobieranie i wykorzystywanie danych z MySQL w PHP
 - Elementarz języka PHP
 - Przesyłanie plików
 - Bezpieczeństwo danych w PHP
 - Zastosowanie sesji oraz ciasteczek
 - Sortowanie wyników
 - Obsługa kanałów RSS
 - Zamieszczanie materiałów multimedialnych
 - Zastosowanie formatu XML
 - Instalacja i konfiguracja serwera Apache
 
 Wykorzystaj nowoczesne metody nauki
 i opanuj możliwości duetu PHP–MySQL! 
Osoby które kupowały "Head First PHP & MySQL. Edycja polska", wybierały także:
- Scala for Machine Learning - Second Edition 186,88 zł, (29,90 zł -84%)
 - QlikView for Developers 186,88 zł, (29,90 zł -84%)
 - Oracle Business Intelligence Enterprise Edition 12c - Second Edition 186,88 zł, (29,90 zł -84%)
 - SQL Server 2016 Developer's Guide 186,88 zł, (29,90 zł -84%)
 - Blockchain Development with Hyperledger 175,88 zł, (29,90 zł -83%)
 
Spis treści
Head First PHP & MySQL. Edycja polska eBook -- spis treści
Wprowadzenie
 
- Dla kogo przeznaczona jest ta książka?   (28)
 - Kto prawdopodobnie powinien zrezygnować z tej książki?   (28)
 - Wiemy, co sobie myślisz   (29)
 - Wiemy, co sobie myśli Twój mózg   (29)
 - Metapoznanie: myślenie o myśleniu   (31)
 - Oto, co MY zrobiliśmy   (32)
 - A oto, co TY możesz zrobić, aby zmusić mózg do posłuszeństwa   (33)
 - Przeczytaj koniecznie   (34)
 - Zespół recenzentów technicznych   (36)
 - Podziękowania (37)
 
1. Ożywianie statycznych stron 
 
- Strony HTML są statyczne i nudne   (40)
 - PHP ożywia strony WWW   (41)
 - Formularz pomoże Markowi poznać całą historię   (43)
 - Formularze składają się z kodu HTML   (44)
 - Formularz HTML sprawia problemy   (46)
 - HTML działa po stronie KLIENTA   (48)
 - PHP działa po stronie SERWERA   (49)
 - Skrypty PHP działają na serwerze   (50)
 - Dostęp do danych z formularza w kodzie PHP   (54)
 - Skrypty PHP muszą działać na serwerze!   (56)
 - Przenoszenie skryptów PHP na serwer   (57)
 - Serwer przekształca kod PHP na HTML   (60)
 - Analiza skryptu PHP Marka   (62)
 - Kilka reguł pisania kodu związanych z językiem PHP   (63)
 - Ustalanie idealnych nazw dla zmiennych   (64)
 - Zmienne służą do przechowywania danych w skryptach   (69)
 - $_POST to specjalna zmienna na dane z formularza   (71)
 - Zmienna $_POST przesyła dane z formularza do skryptu   (72)
 - Tworzenie treści listu w kodzie PHP   (82)
 - Nawet zwykły tekst można (trochę) sformatować   (84)
 - Znaki nowego wiersza trzeba umieścić w cudzysłowach   (85)
 - Zbuduj e-mail do Marka   (86)
 - Zmienne przechowują fragmenty e-maila   (87)
 - Wysyłanie e-maili przy użyciu PHP   (88)
 - Marek zaczyna otrzymywać e-maile   (91)
 - Marek zaczyna gubić e-maile (92)
 
2. Łączenie się z bazą MySQL 
 
- Formularz PHP Marka działa dobrze - aż za dobrze...   (98)
 - MySQL doskonale nadaje się do przechowywania danych   (99)
 - Marek potrzebuje bazy danych MySQL   (100)
 - Utwórz bazę danych i tabelę MySQL   (102)
 - Instrukcja INSERT w akcji   (105)
 - Użyj instrukcji SELECT do pobrania danych z tabeli   (108)
 - Użyj PHP do obsługi żmudnych instrukcji SQL   (111)
 - PHP umożliwia przepływ danych z formularza Marka   (112)
 - Połącz się z bazą danych w skrypcie PHP   (114)
 - Wstawianie danych za pomocą skryptu PHP   (115)
 - Użyj funkcji PHP do komunikacji z bazą danych   (116)
 - Łączenie się z bazą za pomocą mysqli_connect()   (118)
 - Budowanie zapytań INSERT w kodzie PHP   (123)
 - Kierowanie zapytań do bazy MySQL w skryptach PHP   (124)
 - Zamykanie połączenia za pomocą funkcji mysqli_close()   (125)
 - Zmienna $_POST udostępnia dane z formularza   (129)
 - Marek potrzebuje pomocy przy filtrowaniu danych   (134)
 - Marek jest na dobrej drodze do znalezienia Kła (136)
 
3. Tworzenie i zapełnianie bazy danych 
 
- Sklep poświęcony Elvisowi otwiera podwoje   (142)
 - Edward potrzebuje aplikacji   (143)
 - Wizualizacja projektu aplikacji Edwarda   (144)
 - Wszystko zaczyna się od tabeli   (147)
 - Nawiąż kontakt z serwerem MySQL   (148)
 - Tworzenie bazy danych na adresy Edwarda   (149)
 - Tworzenie tabeli w bazie danych   (150)
 - Musimy zdefiniować dane   (151)
 - Poznaj wybrane typy danych języka MySQL   (152)
 - Tworzenie tabel przy użyciu zapytań   (155)
 - Wskaż bazę danych przed jej użyciem   (158)
 - Instrukcja DESCRIBE opisuje strukturę tabeli   (161)
 - Edward jest gotowy do zapisywania danych   (163)
 - Tworzenie skryptu do dodawania adresów   (164)
 - Druga strona aplikacji Edwarda   (171)
 - Mechanizmy skryptu do wysyłania wiadomości   (172)
 - Zacznijmy od początku - pobieranie danych   (173)
 - Funkcja mysqli_fetch_array() pobiera wyniki zapytania   (174)
 - Pętle WHILE   (177)
 - Przechodzenie po danych za pomocą pętli while   (178)
 - Otrzymałeś wiadomość od Edwarda!   (183)
 - Czasem użytkownicy chcą zrezygnować   (184)
 - Usuwanie danych za pomocą instrukcji DELETE   (185)
 - Użyj klauzuli WHERE, aby usunąć konkretne dane   (186)
 - Minimalizowanie ryzyka przypadkowych usunięć   (187)
 - ZrobZeMnieElvisa.com to aplikacja internetowa (192)
 
4. Realistyczne i praktyczne aplikacje 
 
- Niektórzy klienci Edwarda są zirytowani   (196)
 - Zabezpiecz Edwarda przed nim samym   (199)
 - Sprawdzaj poprawność danych z formularza   (200)
 - Walidacja w skrypcie sendemail.php   (201)
 - Kod podejmuje decyzje dzięki instrukcji IF   (202)
 - Sprawdzanie warunku   (203)
 - Instrukcja IF sprawdza nie tylko równość   (204)
 - Walidacja w skrypcie sendemail.php   (207)
 - Funkcje PHP do sprawdzania zawartości zmiennych   (208)
 - Sprawdzanie wielu warunków przy użyciu I oraz LUB   (215)
 - Użytkownicy formularza potrzebują informacji zwrotnych   (219)
 - Wygodne otwieranie i zamykanie bloków PHP   (229)
 - Użyj flagi, aby uniknąć powielania kodu   (230)
 - Napisz kod formularza jeden raz   (231)
 - Formularz autoreferencyjny   (235)
 - Wskaż skrypt w atrybucie action   (236)
 - Sprawdzanie, czy użytkownik przesłał formularz   (238)
 - Niektórzy użytkownicy nadal są niezadowoleni   (242)
 - Wiersze tabeli powinny mieć niepowtarzalne identyfikatory   (244)
 - Klucze główne wymuszają niepowtarzalność   (246)
 - Od pól wyboru do identyfikatorów klientów   (251)
 - Przechodzenie po elementach tablicy za pomocą foreach (252)
 
5. Używanie danych przechowywanych w plikach 
 
- Wirtualni gitarzyści lubią współzawodnictwo   (260)
 - Rysunki to dowód prawdziwości wyniku   (261)
 - Aplikacja musi przechowywać rysunki   (262)
 - Planowanie przesyłania plików w aplikacji Gitarowe wojny   (267)
 - Trzeba zmodyfikować bazę rekordów za pomocą instrukcji ALTER   (268)
 - Jak pobrać rysunek od użytkownika?   (272)
 - Wstaw rysunki (nazwy plików) do bazy danych   (274)
 - Określanie nazwy przesłanego pliku   (275)
 - Gdzie znajdują się przesłane pliki?   (280)
 - Utwórz miejsce na przesłane pliki graficzne   (284)
 - Współużytkowane dane trzeba współdzielić   (290)
 - Dołączanie danych współużytkowanych przez skrypty   (291)
 - Traktuj instrukcję require_once jak polecenie "wstaw"   (292)
 - W przypadku rekordowych wyników najważniejszy jest porządek   (294)
 - Wyróżnianie najlepszego gitarowego wojownika   (297)
 - Sformatuj najlepszy wynik za pomocą kodu HTML i CSS   (298)
 - Przepuszczamy tylko małe rysunki   (303)
 - Walidacja pliku zwiększa niezawodność aplikacji   (304)
 - Projektowanie strony administracyjnej   (308)
 - Generowanie odsyłaczy do usuwania wyników na stronie administracyjnej   (311)
 - Skrypty mogą komunikować się ze sobą   (312)
 - O żądaniach GET i POST   (314)
 - GET, POST i usuwanie wyników   (316)
 - Znajdowanie usuwanych wyników   (319)
 - Kontrolowanie liczby usuwanych wierszy za pomocą klauzuli LIMIT (320)
 
6. Zabezpieczanie aplikacji 
 
- Dzień, w którym umarła muzyka   (330)
 - Gdzie się podziały wyniki?   (331)
 - Zabezpieczenia przed dzikimi hordami   (333)
 - Zabezpieczanie strony administracyjnej Gitarowych wojen   (334)
 - Uwierzytelnianie HTTP wymaga nagłówków   (336)
 - Kontrolowanie nagłówków za pomocą PHP   (339)
 - Uwierzytelnianie za pomocą nagłówków   (340)
 - Tworzenie skryptu do obsługi uwierzytelniania   (348)
 - Gitarowe wojny. Część II: Atak klonów rekordów   (352)
 - Odejmowanie przez dodawanie   (353)
 - Bezpieczeństwo wymaga interwencji człowieka   (354)
 - Planowanie obsługi moderowania w Gitarowych wojnach   (355)
 - Użyj instrukcji ALTER, aby zrobić miejsce na zatwierdzanie wyników   (356)
 - Niezatwierdzone wyniki nie są potrzebne   (361)
 - Oszustwo za milion punktów   (364)
 - Czy jest tu moderator?   (365)
 - Jak Ela to zrobiła?   (367)
 - Oszukiwanie bazy MySQL za pomocą komentarzy   (368)
 - Do formularza do dodawania wyników wstrzyknięto kod SQL   (369)
 - Chroń dane przed wstrzyknięciem kodu SQL   (370)
 - Bezpieczniejsza instrukcja INSERT (z parametrami)   (371)
 - Walidacji formularza nigdy za wiele   (373)
 - Wstrzymać ogień! (375)
 
7. Tworzenie spersonalizowanych aplikacji sieciowych 
 
- Podobno przeciwieństwa się przyciągają   (380)
 - Niedopasowanie opiera się na prywatnych danych   (381)
 - Witryna Niedopasowani potrzebuje loginów   (382)
 - Przygotowanie bazy do zapisywania loginów   (385)
 - Tworzenie interfejsu logowania   (387)
 - Szyfrowanie haseł za pomocą funkcji SHA()   (388)
 - Porównywanie haseł   (389)
 - Uwierzytelnianie użytkowników za pomocą HTTP   (392)
 - Logowanie się użytkowników za pomocą uwierzytelniania HTTP   (395)
 - Formularz do rejestracji nowych użytkowników   (399)
 - Co zawierają pliki cookie?   (409)
 - Zastosuj ciasteczka w kodzie PHP   (410)
 - Modyfikowanie przebiegu logowania   (413)
 - Logowanie oparte na plikach cookie   (414)
 - Wylogowanie to efekt usunięcia plików cookie   (419)
 - Sesje nie są zależne od klienta   (423)
 - Śledzenie danych sesji   (425)
 - Usprawnij aplikację Niedopasowani za pomocą sesji   (426)
 - Wylogowywanie przy użyciu sesji   (427)
 - Dokończ wprowadzanie sesji   (432)
 - Użytkownicy nie czują się mile witani   (438)
 - Sesje nie żyją długo...   (440)
 - ...ale pliki cookie mogą trwać wiecznie!   (441)
 - Sesje + pliki cookie = większa trwałość logowania (443)
 
7 1/2. Eliminowanie powtórzeń w kodzie 
 
- Aplikacja Niedopasowani w kawałkach   (455)
 - Przebudowywanie aplikacji Niedopasowani przy użyciu szablonu   (456)
 - Przebudowa aplikacji Niedopasowani z wykorzystaniem szablonów   (458)
 - Zupełnie nowa i dużo lepiej uporządkowana aplikacja Niedopasowani (460)
 
8. Kontroluj dane - kontroluj swój świat 
 
- Idealnie niedopasowani   (462)
 - Aplikacja Niedopasowani opiera się na danych   (463)
 - Utwórz model bazy danych za pomocą schematu   (465)
 - Łączenie kilku tabel   (470)
 - Klucze zewnętrzne w praktyce   (471)
 - Jeden wiersz pasuje do jednego wiersza   (472)
 - Jeden wiersz łączy się z wieloma   (473)
 - Wiersze w relacji wiele do wielu   (474)
 - Tworzenie kwestionariusza na potrzeby aplikacji Niedopasowani   (479)
 - Zapisywanie odpowiedzi w bazie danych   (480)
 - Możemy sterować formularzem za pomocą danych   (484)
 - Generowanie formularza z kwestionariuszem w aplikacji Niedopasowani   (490)
 - Droga do normalności   (496)
 - W czasie normalizacji myśl w kategoriach atomów   (497)
 - Trzy kroki do znormalizowanej bazy danych   (499)
 - Modyfikowanie bazy aplikacji Niedopasowani   (503)
 - Czy baza aplikacji Niedopasowani jest naprawdę znormalizowana?   (504)
 - Zapytanie w zapytaniu wewnątrz zapytania...   (506)
 - Złączmy tabele   (507)
 - Łączenie za pomocą kropek   (508)
 - To jeszcze nie wszystkie możliwości złączeń wewnętrznych   (509)
 - Pseudonimy tabel i kolumn   (511)
 - Pomoc ze strony złączeń   (512)
 - Pięć kroków do udanego niedopasowania   (519)
 - Porównywanie osób pod kątem niedopasowania   (521)
 - Potrzebujemy pętli FOR (522)
 
9. Funkcje niestandardowe i do obsługi łańcuchów znaków 
 
- Trudno jest znaleźć dobrą ryzykowną pracę   (534)
 - Wyszukiwanie nie daje możliwości popełnienia błędu   (536)
 - Dzięki słowu kluczowemu LIKE zapytania SQL mogą być elastyczne   (537)
 - Podziel łańcuch znaków na pojedyncze słowa   (542)
 - Funkcja implode() tworzy łańcuch znaków przy użyciu podłańcuchów   (545)
 - Wstępne przetwarzanie szukanego łańcucha znaków   (551)
 - Zastępowanie niepotrzebnych znaków w szukanym tekście   (552)
 - Potrzebujemy poprawnych szukanych łańcuchów   (556)
 - Kopiowanie niepustych elementów do nowej tablicy   (557)
 - Czasem potrzebny jest tylko fragment łańcucha   (560)
 - Pobieranie podłańcuchów z obu stron tekstu   (561)
 - Można posortować wyniki w kilku zapytaniach   (564)
 - Funkcje umożliwiają wielokrotne wykorzystanie kodu   (568)
 - Zbuduj zapytanie za pomocą niestandardowej funkcji   (569)
 - SWITCH obsługuje więcej decyzji niż IF   (574)
 - Sortowanie w funkcji build_query()   (577)
 - Możemy podzielić wyniki na strony   (580)
 - Pobieranie tylko potrzebnych wierszy dzięki klauzuli LIMIT   (581)
 - Zarządzanie odnośnikami związanymi z klauzulą LIMIT   (582)
 - Kontrolowanie danych potrzebnych do obsługi stronicowania   (583)
 - Konfigurowanie zmiennych używanych do stronicowania   (584)
 - Poprawianie zapytania, które pobiera stronicowane wyniki   (585)
 - Generowanie odnośników do nawigacji po stronach   (586)
 - Tworzenie kompletnego skryptu do wyszukiwania ofert   (589)
 - Kompletny skrypt do wyszukiwania ofert - ciąg dalszy (590)
 
10. Wyrażenia regularne 
 
- Użytkownicy serwisu Ryzykowne prace mogą zamieszczać w nim życiorysy   (594)
 - Określ, jaki format powinny mieć dane   (598)
 - Utwórz wzorzec numerów telefonów   (601)
 - Dopasuj dane do wzorca za pomocą wyrażeń regularnych   (602)
 - Tworzenie wzorców za pomocą metaznaków   (604)
 - Dopracuj wzorce za pomocą klas znaków   (611)
 - Wyszukiwanie wzorców za pomocą funkcji preg_match()   (616)
 - Ustandaryzuj numery telefonów   (623)
 - Usuwanie niepożądanych znaków   (624)
 - Dopasowywanie adresów e-mail może być trudne   (628)
 - Przyrostki domen są wszędzie   (630)
 - Użyj języka PHP do walidacji domeny   (631)
 - Walidacja adresów e-mail - łączenie wszystkich elementów (632)
 
11. Wizualizowanie danych i inne zagadnienia 
 
- Powrót Gitarowych wojen: narodziny maszyn   (638)
 - Żaden formularz na dane wejściowe nie jest bezpieczny   (639)
 - Musimy oddzielić ludzi od maszyn   (640)
 - Możemy pokonać automatyzację automatyzacją   (643)
 - Generowanie tekstu hasła w teście CAPTCHA   (645)
 - Generowanie rysunku z testem CAPTCHA   (646)
 - Funkcje graficzne biblioteki GD   (648)
 - Wyświetlanie tekstu za pomocą innych czcionek   (652)
 - Generowanie losowych rysunków z testami CAPTCHA   (655)
 - Przywracanie normalności w Gitarowych wojnach   (657)
 - Dodawanie testu CAPTCHA do skryptu do dodawania wyników   (659)
 - Pięć wymiarów niedopasowania   (662)
 - Diagramy niedopasowania   (663)
 - Zapisywanie danych na potrzeby wykresu   (664)
 - Od jednej tablicy do drugiej   (668)
 - Tworzenie tablicy niedopasowanych tematów   (670)
 - Plan tworzenia wykresu   (671)
 - Analizowanie kategorii   (672)
 - Określanie liczby kategorii   (673)
 - Podstawy rysowania wykresów   (676)
 - Rysowanie i wyświetlanie rysunku z wykresem słupkowym   (679)
 - Osobne rysunki z wykresami dla wszystkich   (682)
 - Użytkownicy serwisu Niedopasowani polubili wykresy (685)
 
12. Rozpowszechnianie danych i usługi sieciowe 
 
- Marek musi poinformować świat o zaginięciu Kła   (688)
 - Przesyłanie danych o porwaniach do użytkowników   (689)
 - RSS pozwala przesyłać zawartość witryny do użytkowników   (690)
 - RSS to w rzeczywistości XML   (691)
 - Z bazy danych do czytnika kanałów RSS   (696)
 - Wizualizowanie kodu RSS   (699)
 - Dynamiczne generowanie kanału RSS   (702)
 - Odnośnik do kanału RSS   (706)
 - Jeden film jest wart miliona słów   (708)
 - Pobieranie materiałów od innych   (710)
 - Rozpowszechnianie filmów z YouTube   (711)
 - Przesyłanie żądania danych o filmach do serwisu YouTube   (712)
 - Marek jest gotów do utworzenia żądania REST   (716)
 - YouTube komunikuje się w języku XML   (720)
 - Analiza kodu XML odpowiedzi z serwisu YouTube   (724)
 - Wizualizowanie danych XML z opisem filmów   (725)
 - Dostęp do danych XML za pomocą obiektów   (726)
 - Od elementów XML do obiektów PHP   (727)
 - Pobieranie danych XML za pomocą obiektów   (728)
 - Nie zapominaj o przestrzeniach nazw!   (729)
 - Obserwatorzy zauważyli Kła   (731)
 - Rozmieść wyświetlane filmy   (732)
 - Formatowanie danych o filmach w celu ich wyświetlenia (733)
 
A Dziesięć najważniejszych tematów (których nie poruszyliśmy) 
 
- Numer 1. Dopasowywanie kodu do języka PHP 4 i funkcji mysql   (744)
 - Numer 2. Uprawnienia użytkowników w MySQL   (746)
 - Numer 3. Zgłaszanie błędów w MySQL   (748)
 - Numer 4. Obsługa wyjątków w kodzie PHP   (749)
 - Numer 5. Obiektowy język PHP   (751)
 - Numer 6. Zabezpieczanie aplikacji PHP   (753)
 - Numer 7. Zabezpieczanie aplikacji przed atakami XSS   (755)
 - Numer 8. Pierwszeństwo operatorów   (757)
 - Numer 9. Czym różni się język PHP 5 od PHP 6?   (758)
 - Numer 10. Wykorzystanie kodu PHP innych osób (760)
 
B Konfigurowanie środowiska programistycznego 
 
- Utwórz środowisko do programowania w języku PHP   (762)
 - Sprawdź dostępne komponenty   (762)
 - Czy masz serwer WWW?   (763)
 - Czy masz PHP? W której wersji?   (763)
 - Czy masz zainstalowany serwer MySQL? Którą wersję?   (764)
 - Zacznij od serwera WWW   (765)
 - Instalowanie serwera Apache - zakończenie   (766)
 - Instalowanie PHP   (766)
 - Etapy instalowania PHP   (767)
 - Etapy instalowania PHP - zakończenie   (768)
 - Instalowanie MySQL   (768)
 - Etapy instalowania serwera MySQL w systemie Windows   (769)
 - Włączanie PHP w systemie Mac OS X   (772)
 - Etapy instalowania MySQL w systemie Mac OS X   (772)
 - Przenoszenie kodu ze środowiska produkcyjnego do publicznie dostępnej witryny   (774)
 - Zrób zrzut danych (i tabel)   (775)
 - Przygotowania do użycia zrzutu danych   (775)
 - Przenoszenie zrzuconych danych na serwer publiczny   (776)
 - Łączenie się z serwerem publicznym (777)
 
C Rozszerzanie PHP 
 
- Rozszerzanie języka PHP   (780)
 - A w komputerach Mac... (783)
 
Skorowidz   (785)
    





