EBOOKI WYDAWCY
Autor:
Wydawca:
Format:
mobi, epub, ibuk
Celem tej książki jest jak najszybsze wdrożenie czytelnika w rzeczywiste aplikacje. Autorzy odchodzą od podejścia stosowanego w klasycznych podręcznikach i zamiast opisu poszczególnych fragmentów kodu, przedstawiają pełne, praktyczne projekty, oparte na bazie danych MySQL/MariaDB wbudowane w rzeczywiste witryny internetowe.
Zamiast prezentowania PHP, SQL i MySQL/MariaDB jako całkiem oddzielnych tematów, są one wyjaśniane w kontekście każdego projektu. Każdy z nich został bogato zilustrowany, aby można było wyraźnie zobaczyć rezultaty uzyskiwane w miarę tworzenia własnej strony opartej na bazach danych.
W książce pokazujemy:
• Jak tworzyć bezpłatne środowisko testowania stron internetowych opartych na bazach danych.
• Jak umieścić PHP i interaktywne bazy danych w rzeczywistych stronach internetowych. Jest to wiodący temat w całej książce.
• Jak PHP, HTML i MySQL/MariaDB współpracują przy tworzeniu i utrzymywaniu bazy danych oraz zawartych w niej danych.
• Jak utworzyć przyjazny interfejs, tak aby administrator o minimalnych umiejętnościach informatycznych mógł monitorować bazę danych.
Liczba stron | 640 |
---|---|
Wydawca | Wydawnictwo Naukowe PWN |
ISBN-13 | 978-83-01-20991-9 |
Numer wydania | 1 |
Język publikacji | polski |
Informacja o sprzedawcy | ePWN sp. z o.o. |
EBOOKI WYDAWCY
POLECAMY
Ciekawe propozycje
Spis treści
O autorach | 17 |
Podziękowania | 18 |
Wprowadzenie 19 | |
Co nowego w tym wydaniu? | 19 |
Metoda nauczania | 19 |
Dla kogo jest ta książka? | 20 |
Mit „uczymy się szybko i łatwo” | 21 |
Geneza książki | 21 |
Potrzebne oprogramowanie | 22 |
Konwencje stosowane w tej książce | 22 |
Interakcja a dynamika | 23 |
Kod źródłowy | 23 |
Rozdział 1. Tworzenie i testowanie bazy danych i tabeli | 25 |
Definiowanie pojęć administratora, dewelopera i użytkownika | 25 |
Definiowanie witryn interaktywnych | 26 |
Używanie MariaDB lub MySQL tylko do interaktywnych tabel bazy danych | 27 |
Metody tworzenia i utrzymywania baz danych | 28 |
Krótkie spojrzenie do wnętrza komunikacji serwera sieciowego | 28 |
Bezpłatna platforma programistyczna do testowania | 30 |
Używanie XAMPP na swoim komputerze | 30 |
Czy będzie można przesłać bazę danych z XAMPP lub EasyPHP na zdalny host? | 31 |
Pobranie i instalacja XAMPP | 31 |
Uruchomienie XAMPP | 34 |
Zamykanie XAMPP | 35 |
Gdzie są MariaDB i MySQL 8? | 36 |
Używanie EasyPHP na naszym komputerze | 37 |
Pobranie i instalacja EasyPHP | 37 |
Uruchomienie EasyPHP | 38 |
Zamykanie EasyPHP | 39 |
Bezpieczeństwo phpMyAdmin | 39 |
Bezpośredni dostęp do phpMyAdmin | 42 |
Znane fragmenty | 44 |
Planowanie bazy danych – pierwszy krok | 45 |
Tworzenie bazy danych za pomocą phpMyAdmin | 46 |
Tworzenie tabeli za pomocą phpMyAdmin | 49 |
Alternatywa z zastosowaniem SQL | 53 |
Usuwanie baz danych i tabel | 56 |
Podsumowanie | 57 |
Rozdział 2. Tworzenie witryn internetowych, które mają interakcję z użytkownikami | 59 |
Tworzenie folderu do przechowywania stron bazy danych | 60 |
Tworzenie tymczasowego szablonu | 60 |
Wprowadzenie do funkcji PHP include( ) | 63 |
Dołączany plik nagłówka | 64 |
Dołączony plik menu | 66 |
Dołączona kolumna informacyjna | 67 |
Dołączony plik stopki | 68 |
Jak serwer przetwarza stronę? | 69 |
Interaktywna wersja szablonu | 69 |
Połączenie z bazą danych | 71 |
Objaśnienie kodu | 72 |
Strona rejestracji | 75 |
Objaśnienie kodu | 78 |
Objaśnienie kodu | 83 |
Słowo kluczowe PHP – echo | 87 |
Strona z podziękowaniem | 88 |
Wyświetlanie komunikatów o błędach, które zostały zebrane w tablicy | 90 |
Mieszanie hasła | 91 |
Przeglądanie rekordów użytkowników | 91 |
Strona przeglądania użytkowników | 92 |
Objaśnienie kodu | 94 |
Strona zmiany hasła | 95 |
Objaśnienie kodu | 98 |
Objaśnienie kodu | 101 |
Potwierdzenie udanej zmiany hasła | 103 |
Testowanie stron podręcznika | 104 |
Więcej informacji o tablicach | 105 |
Podsumowanie | 106 |
Rozdział 3. Tworzenie funkcji logowania i wylogowania dla członków i administratora | 107 |
Tworzenie bazy danych logindb i tabeli users | 108 |
Usuwanie lub zastępowanie zbędnych przycisków menu w nagłówkach | 110 |
Dodawanie przycisku logowania w nagłówku strony domowej | 110 |
Usuwanie nadmiarowych przycisków z nagłówków rejestracji i nowego hasła | 111 |
Zmieniona strona rejestracji | 112 |
Nowy nagłówek strony nowego hasła | 113 |
Nowy nagłówek menu dla strony członków | 115 |
Dołączamy nagłówek do strony z podziękowaniem | 116 |
Strona rejestracji i niepożądane znaki | 117 |
Objaśnienie kodu | 120 |
Rejestrowanie członków | 121 |
Rozróżnianie dwóch rodzajów członkostwa | 122 |
Tworzenie poziomów użytkowników, aby ograniczyć dostęp do prywatnych stron | 123 |
Logowanie | 126 |
Nagłówek strony logowania | 126 |
Strona logowania | 127 |
Objaśnienie kodu | 130 |
Objaśnienie kodu | 132 |
Sesje | 135 |
Strona tylko dla członków | 138 |
Objaśnienie kodu | 140 |
Planowanie roli administratora | 141 |
Nowy nagłówek strony administratora | 142 |
Strona administratora | 143 |
Objaśnienie kodu | 145 |
Strona wylogowania | 145 |
Objaśnienie kodu | 146 |
Testowanie funkcji Login/Logout | 147 |
Modyfikacja i usuwanie pojedynczych rekordów | 147 |
Podsumowanie | 148 |
Rozdział 4. Tworzenie interfejsu administratora | 149 |
Baza danych administratora | 149 |
Tabela users | 151 |
Zmiana strony wyświetlania użytkowników (View Users) w celu dołączenia edycji i usuwania | 153 |
Objaśnienie kodu | 158 |
Wyświetlanie rekordów stronami (stronicowanie) | 161 |
Objaśnienie kodu | 165 |
Planowanie kryteriów wyszukiwania | 169 |
Tymczasowa strona wyszukiwania do wyświetlania wybranych członków | 170 |
Objaśnienie kodu | 173 |
Formularz wyszukiwania | 174 |
Objaśnienie kodu | 177 |
Końcowy program obsługi formularza do otrzymywania danych do wyszukiwania | 178 |
Objaśnienie kodu | 181 |
Edytowanie rekordów | 182 |
Objaśnienie kodu | 186 |
Usuwanie rekordów | 189 |
Objaśnienie kodu | 193 |
Podsumowanie | 195 |
Rozdział 5. Rozwinięcie i wzbogacenie naszej witryny | 197 |
Tworzenie nowej bazy danych z tabelą o 15 kolumnach i tabelą z cenami | 197 |
Tworzenie pliku do łączenia się z bazą danych | 198 |
Tworzenie tabel | 199 |
Korzystanie z ENUM | 201 |
Znaczenie dokumentacji | 201 |
Rozszerzenie formularza rejestracji i dodanie rozwijanego menu | 203 |
Ceny i informacje o opłatach podajemy zawsze na początku | 204 |
Objaśnienie kodu | 210 |
Objaśnienie kodu | 216 |
Dodawanie obrazów PayPal i karty debetowej/kredytowej | 217 |
Dołączanie PayPal do strony z podziękowaniem | 218 |
Objaśnienie kodu | 222 |
Rejestrowanie członków | 223 |
Małe uzupełnienie strony logowania | 225 |
Uzupełnianie nagłówka administratora | 225 |
Dodawanie Class i Paid do tabeli admin_view_users | 227 |
Objaśnienie kodu | 231 |
Wyszukiwanie i edycja rekordów | 232 |
Objaśnienie kodu | 236 |
Modyfikowanie formularza w celu edycji rekordów | 236 |
Podsumowanie | 242 |
Rozdział 6. Dodajemy ostatnie poprawki: bezpieczeństwo i weryfikacja | 243 |
Tworzenie bazy danych | 244 |
Tworzenie pliku do łączenia z bazą danych | 244 |
Tworzenie tabeli users przez importowanie pliku zrzutu SQL | 245 |
Ręczne rejestrowanie niektórych użytkowników | 247 |
Dodawanie kolumny tytułu do tabeli users | 249 |
Tworzenie tabeli Prices przez import pliku SQL Dump | 251 |
Czyszczenie folderów i systemów plików | 251 |
Stopnie bezpieczeństwa | 252 |
Dodawanie warstwy bezpieczeństwa | 252 |
Zwiększona warstwa ochronna | 254 |
Weryfikacja i oczyszczanie | 255 |
Funkcja filter_var() | 255 |
Weryfikacja | 255 |
Oczyszczanie | 257 |
Weryfikacja numerów telefonicznych | 258 |
Bezpieczniejsza strona rejestracji | 259 |
Objaśnienie kodu | 268 |
Objaśnienie kodu | 276 |
Szukanie tytułu, adresu lub numeru telefonu | 278 |
Objaśnienie kodu | 281 |
Oglądanie pobranego tytułu, adresu i numeru telefonu | 281 |
Objaśnienie kodu | 284 |
Edycja tytułów, adresów i telefonów | 285 |
Objaśnienie kodu | 294 |
Podsumowanie | 294 |
Rozdział 7. Migracja na host i tworzenie kopii zapasowej bazy danych witryny | 295 |
Dokonywanie zmian w ostatniej chwili | 295 |
Tworzenie nowej bazy danych | 296 |
Szczegóły pobranego pliku do łączenia z bazą danych | 297 |
Umożliwienie zmiany swoich danych przez członków | 298 |
Objaśnienie kodu | 311 |
Bezpieczny formularz kontaktowy | 312 |
Jak wygląda odpowiedź zwrotna? | 313 |
Formularz kontaktowy | 314 |
Objaśnienie kodu | 320 |
Objaśnienie kodu | 325 |
Strona z podziękowaniem i komunikaty o błędach | 327 |
Uniwersalny nagłówek | 330 |
Objaśnienie kodu | 333 |
Rejestrowanie wyjątków i błędów | 334 |
Migracja bazy danych i tabel na zdalny host | 337 |
Zagadkowy komunikat o błędzie | 337 |
Tworzenie i eksportowanie pliku SQL | 337 |
Tworzyć plik zrzutu tabeli czy tabelę | 338 |
Jak wygląda plik zrzutu SQL? | 339 |
Badanie serwera zdalnego hosta | 342 |
Korzystanie z interfejsów GUI na serwerze zdalnego hosta | 344 |
Łączenie z bazą danych na zdalnym hoście | 345 |
Bezpieczne przesyłanie pliku mysqli_connection.php | 345 |
Przesyłanie stron interaktywnych na host | 347 |
Tworzenie kopii zapasowej bazy danych | 348 |
Podsumowanie | 349 |
Rozdział 8. Tworzenie katalogu produktów 351 | |
Przygotowanie bazy danych i planu administracyjnego | 352 |
Tworzenie bazy danych | 353 |
Tworzenie pliku w celu połączenia z bazą danych | 354 |
Bezpieczeństwo | 355 |
Tworzenie strony domowej z funkcją wyszukiwania | 356 |
Nagłówek dla większości stron | 358 |
Kod strony domowej | 358 |
Wyświetlanie katalogu | 361 |
Objaśnienie kodu | 368 |
Nagłówek strony wyników wyszukiwania | 369 |
Tworzenie strony ze szczegółowymi informacjami o domu | 370 |
Objaśnienie kodu | 374 |
Tworzenie strony administratora/dodawania domów | 375 |
Nagłówek strony administracyjnej | 386 |
Widok administratora z całą ofertą domów do sprzedaży | 387 |
Administracyjne strony wyszukiwania | 393 |
Wynik wyszukiwania | 395 |
Strona do kontaktu | 397 |
Podsumowanie | 403 |
Rozdział 9. Łączenie wielu tabel i inne ulepszenia | 405 |
Wprowadzenie do wielu tabel | 405 |
Normalizacja | 406 |
Tworzenie bazy danych i tabel | 407 |
Spojrzenie na plik połączenia | 408 |
Tworzenie drugiej tabeli | 409 |
Klucze obce | 410 |
Przygotowywanie tabel do złączenia | 410 |
Wypełnianie dwóch tabel | 411 |
Łączenie danych z dwóch tabel | 413 |
Tworzenie trzeciej tabeli | 415 |
Tworzenie stron do wyświetlania danych ze złączonych tabel | 418 |
Strona domowa | 418 |
Główne menu dla stron | 421 |
Nagłówek dla wszystkich stron | 422 |
Strona do przeglądania tabeli birds | 423 |
Objaśnienie kodu | 426 |
Strona przeglądania lokalizacji i siedlisk rezerwatów | 427 |
Wyświetlanie danych ze złączonych tabel | 430 |
Tworzenie strony do wyświetlania trzech złączonych tabel | 434 |
Objaśnienie kodu | 438 |
Płatności czekiem | 439 |
Wybór sposobu płatności | 440 |
Płatność czekiem | 445 |
Objaśnienie kodu | 448 |
Drukowanie formularzy online | 449 |
Podsumowanie | 450 |
Rozdział 10. Tworzenie tablicy ogłoszeń | 451 |
Plan | 452 |
Tworzenie bazy danych | 452 |
Tworzenie tabel | 453 |
Tworzenie drugiej tabeli | 454 |
Tworzenie strony domowej tablicy ogłoszeń | 455 |
Tworzenie formularza rejestracji | 460 |
Strona z podziękowaniem | 469 |
Wypełnianie tabeli członków | 471 |
Strona logowania | 472 |
Objaśnienie kodu | 475 |
Wylogowywanie | 477 |
Tworzenie strony powitalnej do wyboru cytatów | 478 |
Formularz do publikowania cytatów | 480 |
Objaśnienie kodu | 483 |
Przetwarzanie publikowania | 485 |
Objaśnienie kodu | 486 |
Publikowanie cytatów | 487 |
Strona z zabawnymi cytatami | 489 |
Objaśnienie kodu | 491 |
Nagłówek strony zabawnych cytatów | 492 |
Strona mądrych cytatów | 493 |
Objaśnienie kodu | 496 |
Nagłówek dla strony mądrych cytatów | 496 |
Dodawanie narzędzi wyszukiwania | 498 |
Objaśnienie kodu | 501 |
Nagłówek ViewPosts.php | 501 |
Wyszukiwanie określonych słów lub fraz | 503 |
Formularz wyszukiwania pełnotekstowego | 503 |
Wyświetlanie wyników wyszukiwania | 505 |
Objaśnienie kodu | 508 |
Nagłówek strony quotes_found | 509 |
Ulepszanie tablicy ogłoszeń | 510 |
Przekształcanie tablicy ogłoszeń na forum | 511 |
Podsumowanie | 512 |
Rozdział 11. E-commerce: krótkie wprowadzenie | 513 |
Ostrzeżenia dotyczące bezpieczeństwa | 515 |
Plan | 515 |
Tworzenie witryny koszyka PayPal | 516 |
Tworzenie bazy danych i tabel koszyka PayPal | 516 |
Przeglądanie pliku połączenia | 517 |
Wypełnianie tabel koszyka PayPal | 517 |
Strona domowa koszyka PayPal | 520 |
Używanie strony domowej koszyka PayPal do wyszukiwania obrazów | 523 |
Objaśnienie kodu | 526 |
Integrowanie z przyciskami koszyka PayPal | 526 |
Objaśnienie kodu | 533 |
Tworzenie niestandardowego koszyka | 534 |
Strona domowa niestandardowego koszyka | 535 |
Tworzenie bazy danych i tabel niestandardowego koszyka | 536 |
Analiza niestandardowego koszyka | 537 |
Strona logowania niestandardowego koszyka | 540 |
Objaśnienie kodu | 544 |
Odzyskiwanie zapomnianego hasła | 544 |
Objaśnienie kodu | 548 |
Strona wyszukiwania w niestandardowym koszyku | 549 |
Dodawanie obrazów do tabeli dla niestandardowego koszyka | 550 |
Objaśnienie kodu | 553 |
Objaśnienie kodu | 557 |
Objaśnienie kodu | 561 |
Strona finalizacji zakupów | 562 |
Dodatkowe narzędzia administracyjne | 563 |
Podsumowanie | 563 |
Rozdział 12. Krótkie omówienie Oracle MySQL 8 | 565 |
Zalety aktualizacji | 565 |
Instalowanie MySQL 8 Community Server | 567 |
Analiza funkcji MySQL Workbench | 574 |
Łączenie PHP 7 z MySQL 8 Community Server | 580 |
Migracja na MySQL 8 Community Server | 583 |
Używanie naszych plików PHP z MySQL 8 Community Server | 587 |
Podsumowanie | 590 |
Dodatek A. Rozwiązywanie problemów | 591 |
Kaprysy przeglądarki | 592 |
Tabele się nie wyświetlają | 592 |
Zmiana stylu nie daje efektu | 593 |
Dołączonych elementów nie ma na ekranie | 593 |
Nie można zweryfikować strony | 594 |
Rozwijane menu PayPal nie działa | 594 |
Odmowa dostępu | 594 |
Poziomy błędów PHP | 595 |
Call to an Undefined Function (Odwołanie do niezdefiniowanej funkcji) | 595 |
Cannot Redeclare Function (Nie można ponownie zadeklarować funkcji) | 595 |
Undefined Index or Undefined Variable (Niezdefiniowany indeks | |
lub niezdefiniowana zmienna) | 596 |
Empty Variable Value (Pusta wartość zmiennej) | 596 |
Headers Already Sent (Nagłówki już wysłane) | 596 |
Blank Screen (Pusty ekran) | 596 |
Unexpected End of File in Line xxx (Nieoczekiwany koniec pliku w wierszu xxx) | 597 |
Parse Error and Unexpected Characters (Błąd analizy składniowej i nieoczekiwane znaki) | 597 |
Unexpected T_STRING (Nieoczekiwany T_STRING) | 598 |
Unexpected T_ELSE (Nieoczekiwany T_ELSE) | 598 |
Wrong Equal Sign (Nieodpowiedni znak równości) | 599 |
Failed to Open Stream (Nieudane otwarcie strumienia) | 599 |
Syntax Errors (Błędy składni) | 599 |
Warning: Division by Zero (Ostrzeżenie: dzielenie przez zero) | 600 |
Display Is Not What Was Expected (Ekran inny niż spodziewany) | 600 |
Reference to a Primary Key Could Not Be Created (Nie można utworzyć | |
odwołania do klucza głównego) | 600 |
Element <style> Not Allowed as Child of Element <div> (Element <style> | |
niedozwolony jako podrzędny dla elementu <div>) | 600 |
Problem with Prepared Statement (Problem z gotową instrukcją) | 601 |
Błędy logiczne | 601 |
Internet to nasz przyjaciel | 602 |
Podsumowanie | 602 |
Dodatek B. Zasoby | 603 |
Krótki przewodnik PHP | 603 |
E-maile w PHP | 603 |
Objaśnienie kodu | 605 |
Filtry weryfikacji i oczyszczania | 605 |
Funkcje | 606 |
include( ) oraz require( ) | 606 |
if, else oraz elseif | 606 |
Objaśnienie kodu | 608 |
Komentarze | 608 |
Konkatenacja | 609 |
Liczby | 609 |
Operator trójargumentowy | 609 |
Pętle | 610 |
Pętla while | 610 |
Pętla for | 611 |
Pętla foreach | 611 |
Pętla do while | 612 |
Przygotowane instrukcje | 613 |
Sesje | 614 |
Logowanie za pomocą sesji | 615 |
Wylogowywanie | 616 |
Stałe | 617 |
Tablice | 617 |
Tablice asocjacyjne | 618 |
Używanie Try/Catch | 620 |
Zmienne | 622 |
Zmienne: predefiniowane | 622 |
Zmienne: łańcuchy | 623 |
Szablon Bootstrap | 623 |
Przegląd działania MySQL i phpMyAdmin | 624 |
date_time | 625 |
INSERT | 626 |
SELECT | 626 |
UPDATE | 626 |
Mechanizmy pamięci i phpMyAdmin | 626 |
Zmiana mechanizmu przechowywania dla istniejącej, wypełnionej tabeli | 627 |
Co dalej? | 627 |
Zasoby | 627 |
Zasoby internetowe związane z PHP i MySQL | 628 |
Zasoby z dziedziny e-commerce | 628 |
Podręcznik online | 628 |
Zasoby do tworzenia forów | 628 |
Fora PayPal | 628 |
Koszyki innych firm | 629 |
Podsumowanie | 629 |
Indeks | 631 |