E.14: Tworzenie aplikacji internetowych i baz danych oraz administrowanie bazami.

EGZAMIN PRAKTYCZNY E.14-02-17.01

STYCZEŃ 2017 ZADANIE 2

Zadanie egzaminacyjne

Wykonaj aplikację internetową wspomagającą pracę komisu samochodowego. Wykorzystaj pakiet XAMPP jako środowisko bazodanowo-aplikacyjne. Stronę internetową zbuduj przy wykorzystaniu edytora zaznaczającego składnię lub edytora WYSIWYG.
Aby wykonać zadanie, zaloguj się na konto Egzamin bez hasła. Na pulpicie znajdziesz archiwum ZIP o nazwie baza.zip zabezpieczone hasłem formul4rz!.
Plik należy rozpakować.

plik baza.sql z archiwum baza.zip
CREATE TABLE Konta (
  id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  login TEXT NULL,
  haslo TEXT NULL,
  PRIMARY KEY(id)
);

CREATE TABLE Uzytkownicy (
  id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  imie TEXT NULL,
  nazwisko TEXT NULL,
  adres TEXT NULL,
  telefon TEXT NULL,
  PRIMARY KEY(id)
);

Wyniki swojej pracy zapisz w folderze stworzonym na pulpicie konta Egzamin. Jako nazwy folderu użyj swojego numeru PESEL. Rozpakowane pliki umieś w tym folderze.

Operacje na bazie danych

Baza danych zgdna jest ze strukturą przedstawioną na rysunku 1.Tabele są ze sobą połączone za pomocą kluczy głównych relacją 1 do 1. Należy założyć, że hasła są przechowywane w sposób nieszyfrowany

E.14 egzamin praktyczny

Wybierz program XAMPP Control Panel i uruchom usługi MySQL i Apache, przejdź do narzędzie PHPMyAdmin. Następnie wykonaj operacje a bazie danych:

  • Utwórz nową bazę danych o nazwie Sklep;
  • Do bazy Sklep zaimportuj tabele z pliku baza.sql z wcześniej rozpakowanego archiwum;
  • Wykonaj zrzut ekranu po imporcie. Zrzut zapisz w folderze z Twoim numerem PESEL w formacie PNG i nazwij bazaSklep.png. Na zrzucie powinny być widoczne elementy wskazzujące na poprawnie wykonany import bazy;
  • stwórz nastepujące zapytania SQL do bazy Sklep i sprawdź poprawność ich działania:
    • zapytanie 1: wstawiające do tabeli Uzytkownicy rekord z danymi: imię: Jan; nazwisko: Nowak; adres: Warszawam Kopernika 4; telefon: 608111222
    • zapytanie 2: wstawiające do tabeli Konta rekord z danymi: login: janNowak; hasło: qwery,
    • zapytanie 3: wybierające jedynie imię i nazwisko ze wszystkich rekordów tabeli Uzytkownicy;
    • zapytanie 3: wybierające jedynie adres z tabeli Uzytkownicy, dla którego pole id jest równe 1;
  • Poprawnie działające zapytania zapisz w folderze z Twoim numerem PESEL, w pliku kwerendy.txt.
  • Zapytania ponumeruj, stosując format zapisu: "zapytanie 1: ... treść zapytania ...";
  • Wykonaj zrzuty ekranu przedstawiające wyniki działania kwerend. Zrzuty zapisz w formacie JPG. Nadaj im nazwy kwerenda1, kwerenda2, kwerenda3. Zrzuty powinny być czytelene.

Witryna internetowa

Witryna internetowa przedstawiona jest na rysunku 2.

E.14 egzamin praktyczny

Przygotowanie pliku pomocniczego:
  • utwórz plik tekstowy o nazwie regulamin.txt i umieść go w folderze z Twoim numerem PESEL. Wewnątrz pliku zapisz tekst "Regulamin sklepu muzycznego"

Cechy witryny:
  • dwa pliki: sklep.html, formularz.php;
  • cechy wspólne dla obu stron witryny:
    • zastosowany standard kodowania polskich znaków;
    • tytuł strony widoczny na karcie przeglądarki: "Sklep Muzyczny"
    • arkusz stylów w pliku o nazwie muzyka.css prawidłowo połączony z kodem strony;
    • podział strony na bloki: baner, panel lewy, panel prawy zrealizoway z pomocą znaczników sekcji zgodnie z rysunkiem 2;
    • zawartość banera: nagłówek pierwszego stopnia o treści: "SKLEP MUZYCZNY"
    • zawartość panelu lewego:
      • nagłówek drugiego stopnia o treści: "NASZA OFERTA",
      • lista numerowana z elementami: Instrumenty muzyczne, Sprzęt audio, Płyty CD
  • zawartość panelu prawego tylko dla pliku sklep.html
    • nagłówek drugiego stopnia o treści: "FORMULARZ REJESTRACYJNY",
    • formularz powoązay z plikiem formularz.php metodą POST;
    • wygląd formularza jest zgodny z rysunkiem 2, zawiera on pola:
      • pogrubiony tekst paragrafu (akapitu) o treści "Dane osobowe"
      • pola tekstowe poprzedzone etyietami: "Imię:", "Nazwisko:", "Adres:", "Telefon:"
      • linia horyzontalna
      • pogrubiony tekst paragrafu o treści "Dane logowania"
      • pole tekstowe poprzedzone etykietą "Login:"
      • pole typu hasło poprzedzone etykietą "Hasło:". W czasie wpisywania tekstu przeglądarka wyświetla znaki kropki.
      • pole typu checkbox domyślnie zaznaczone oraz tekst "Akceptuję regulamin sklepu"
      • słowo "regulamin" jest odnośnikiem i prowadzi do pliku regulamin.txt. Odnośnik otwiera się w osobnym oknie przeglądarki.
      • dwa przyciski: do czyszczenia formularza z treścią "WYCZYŚĆ" oraz wysyłania formularza z treścią "REJESTRUJ"
    • cechy panelu prawego tylko dla pliku formularz.php
      • efekt dzialania sktyptu PHP

Styl CSS witryny internetowej

Plik muzyka.css zawiera formatowanie dla:
  • banera: kolor tła #812F8D, biały kolor czcionki, rozmiar czcionki 200%, wyrównanie tekstu do środka, marginesy wewnętrzne 10px;
  • panelu lewego: kolor tła #BB74C4, biały kolor czcionki, szerokość 25%, wysokość panelu zajmuje całe okno przeglądarki;
  • panelu prawego: szerokość 75%;
  • znacznika h2: wyrównanie tekstu do środka
  • znacznika formularza: margines zewnętrzny 20px
Niewymienione właściwości obiektów przyjmują wartości domyślne.

Skrypt połączenia z bazą

Skrypt napisany w języku PHP oraz uruchamiany za pomocą przycisku REJESTRUJ formularza, wykonuje następujące czynności:
  • pobiera dane formularza za pomocą metody POST
  • wyświetla w panelu prawym teksto treści "Konto zostało zarejestrowane w sklepie muzycznym", gdzie pola zapisane w nawiasach <> są pobierane z formularza.
  • łączy się z serwerem bazy danych na localhost, użytownik root bez hasła, baza danych o nazwie Sklep
  • wysyła do bazy zapytanie wstawiające do tabeli Uzytkownicy rekord danych pobranych z formularza: imię, nazwisko, adres oraz telefon
  • wysyła do bazy zapytanie wstawiwjące do tabeli Konta rekord danych pobranych z formularza: login oraz hasło
  • zamyka połączenie z serweren bazy

UWAGA!
Dla uproszczenia zadania nie jest wymagana kontrola kluczy głównych tak, aby spełniona była relacja łącząca wstawiane rekordy.

Czas przeznaczony na wykonanie zadania wynosi 150 minut.

Ocenie podlegać będą 4 rezultaty:
  • operacje na bazie danych,
  • witryna internetowa,
  • styl CSS witryny internetowej,
  • skrypt połączenia z bazą.