Bazy danych i strony WWW
Obsługa baz danych poprzez strony WWW Niezbędne narzędzia: serwer baz danych np. MySQL serwer stron WWW np. Apache przeglądarka stron WWW interpretująca język HTML język skryptowy (parser) wyposażony w możliwości współpracy z systemem zarządzania bazą danych
MySQL MySQL jest relacyjnym systemem zarządzania bazami danych klasy Open Source stworzony i rozwijany przez firmę MySQL AB http://www.mysql.com/) MySQL jest serwerem baz danych - pozwala korzystać z zasobów danych wielu użytkownikom (klientom)
MySQL monitor
Apache Najpowszechniej stosowany serwer stron WWW Zarządza plikami, kieruje je do przeglądarek i parserów Zarządza klientami i ich uprawnieniami
PHP PHP (akronim rekursywny "PHP: Hypertext Preprocessor"), jest szeroko używanym językiem skryptowym ogólnego zastosowania, tworzonym na zasadach Open Source, dopasowanym do potrzeb aplikacji WWW, z możliwością zagnieżdżania w HTML
PHP PHP jest rozwijane pod kątem pisania skryptów server-side PHP potrafi odbierać dane z formularzy, generować dynamicznie zawartość strony, odbierać i wysyłać ciasteczka
PHP PHP jest parserem czyli analizatorem składni, który analizuje podany w źródle tekst i w oparciu o niego tworzy kod programowy w konkretnym języku (w tym przypadku HTML)
HTML i XHTML http://kurshtml.boo.pl/ XHTML to skrót od Extensible Hypertext Markup Language, czyli Rozszerzalny Hipertekstowy Język Oznaczania. Reformuje on zasady języka HTML 4 w taki sposób, aby były zgodne z XML (Extensible Markup Language - Rozszerzalny Język Oznaczania)
Struktura dokumentu XHTML
Edytowanie i przeglądanie dokumentów HTML Dokumenty HTML mogą być edytowane przez proste edytory tekstowe lub tzw. edytory znaczników np. ezhtml Zaawansowane edytory tekstowe np. Word widzą dokumenty HTML tak jak przeglądarki Przeglądarki internetowe pokazują dokumenty HTML także w trybie off line
Word
Notatnik
ezhtml
przeglądarka za pośrednictwem serwera stron www przeglądarka w trybie off line
Style CSS - Cascading Style Sheets (z ang. Kaskadowe Arkusze Stylów) język opracowany w celu stworzenia możliwości bardziej elastycznego zarządzania sposobem formatowania (wyglądem) elementów znajdujących się w dokumentach elektronicznych CSS nie może istnieć samodzielnie, gdyż jest ściśle powiązane z językiem opisu struktury dokumentów takim jak (X)HTML Style formatujące są wbudowane w praktycznie każdy bardziej zaawansowany edytor tekstu np. MS Word i Open Office
Style i znaczniki
Formularze Formularz w HTML stwarza użytkownikowi (klientowi) możliwość wprowadzania informacji do systemu i przekazywania ich dalej Formularz uruchamia akcję zapisaną jako argument parametru action
Akcje formularza Akcje uruchamiane przez formularz są obsługiwane przez przeglądarkę Jedną z możliwych akcji jest wysłanie wiadomości pocztowej
Obsługa programowa akcji Użytkownik może sam definiować akcje Do definiowania akcji wykonywanych przez przeglądarkę klienta służyć mogą skrypty wykonywane po stronie klienta (np.: JavaScript lub Visual Basic - VBScript) Mogą być one wykonywane przed wysłaniem strony ale nie potrafią zapamiętywać danych
JavaScript
Akcje po stronie serwera Przetwarzanie danych przesłanych przez klienta jest możliwe dzięki skryptom wykonywanym po stronie serwera (np. PHP i CGI) Argumentem action znacznika form jest wtedy adres dokumentu zawierającego odpowiedni skrypt Argument method określa sposób przesyłania danych
Przykład Przeglądarka WWW żąda dokumentu: dodawacz.html
po naciśnięciu przycisku Dodaj otwierany jest dokument Dodaj.php
Akcja po stronie serwera Serwer WWW rozpoznaje rozszerzenie (.php) i kieruje dokument do parsera PHP Parser interpretuje kod poczynając od symbolu <? i kończąc na znakach?>
Akcja po stronie serwera Parser wykonuje kod, a uzyskane wyniki umieszcza w pliku w miejscu uprzednio zajmowanym przez polecenia print lub echo
Powrót do klienta Nowy plik jest przesyłany do serwera WWW Serwer przesyła plik do przeglądarki Przeglądarka interpretuje kod HTML i wyświetla wyniki
Formularze - pole opcji
Formularze - pole opcji
Skrypt PHP i wynik jego działania
Widok z przeglądarki
Formularze pole wyboru
Formularze pole wyboru
Skrypt PHP i wynik jego działania
Widok z przeglądarki
Formularze lista rozwijalna
Formularze lista rozwijalna
Skrypt PHP i wynik jego działania
Widok z przeglądarki
Internetowy system sprzedaży Zamówienia składane są poprzez stronę WWW Przedmiotem sprzedaży są rury stalowe i złączki do rur System umożliwia przyjmowanie i edycję zamówień Efektem działania systemu są zestawienia ilości zamówionych produktów
Diagram ERD (baza danych Sprzedaż)
Dodawanie klienta Proste dodawanie rekordu do tabeli wymaga użycia strony utworzonej w HTML Formularz utworzony kodem <FORM METHOD="post" ACTION="dodajklienta.php"> pozwala pobrać dane i przekazać je w bloku POST do dokumentu dodajklienta.php
Dodawanie klienta Dokument dodajklienta.php jest interpretowany przez parser PHP Część kodowa dokumentu wykonuje połączenie z bazą danych i realizuje polecenie SQL Dane przekazywane są ze strony dodajklienta.html jako zmienne PHP (tabela $_PHP[nazwa_pola])
sprawdzamy czy wprowadzono nazwę klienta INSERT INTO klient (NazwaKlienta, Adres) VALUES ('Fabryka wózków dziecięcych', 'Krzeszowice ul, Krakowska 5')
Dodawanie klienta W tym samym dokumencie umieszczono kod HTML Kod HTML wyświetla wprowadzone dane i przekierowuje użytkownika do strony startowej lub strony dodawania klienta
Zestawianie zamówionych towarów Plik ZestawienieTowarow.html zawiera kod HTML otwierający formularz do określenia zakresu czasowego zestawienia
Zestawianie zamówionych towarów Plik Zestawienie.php zawiera kod PHP realizujący zapytanie oparte na tabelach: zamowienie, specyfikacja, JednostkiMiary i towary
Tak wygląda zapytanie SELECT zamowienie.datazamowienia, Towary.NazwaTowaru, SUM( Specyfikacja.Ilosc ) AS Suma, JednostkiMiary.JednostkaMiary FROM zamowienie INNER JOIN ( Towary INNER JOIN (JednostkiMiary INNER JOIN Specyfikacja ON JednostkiMiary.IdJednostki = Specyfikacja.IdJednostki ) ON Towary.IdTowaru = Specyfikacja.IdTowaru ) ON zamowienie.idzamowienia = Specyfikacja.IdZamowienia GROUP BY Towary.NazwaTowaru, JednostkiMiary.JednostkaMiary HAVING zamowienie.datazamowienia >= 2005-03-01 AND dayofyear(zamowienie.datazamowienia)<=dayofyear('2005-03-31') AND year(zamowienie.datazamowienia)<=year('2005-03-31') ORDER BY Towary.NazwaTowaru
Przygotowanie listy W pętli wykonywanej dopóty dopóki zwracane są niepuste wiersze ze złączenia przygotowywane są kolejne linie zestawienia Kolejne linie umieszczane są w tabeli formularza
Wyświetlanie zestawienia Dołączony do pliku Zestawienie.php kod HTML wraz ze wstawkami PHP powoduje wyświetlenie formularza i umożliwia powrót do strony głównej