Arkusz E.14 : 2019 - styczeń - zad. 01 (php)
Oznaczenie: E.14-01-19.01 Limit czasu: 150 minut
Zadanie egzaminacyjne
Wykonaj aplikację internetową dla bazy danych filmów. Wykorzystaj pakiet XAMPP jako środowisko bazodanowo-aplikacyjne. Stronę internetową zbuduj przy wykorzystaniu edytora zaznaczającego składnię oraz programu do obróbki grafiki rastrowej i wektorowej.
Aby wykonać zadanie, zaloguj się na konto Egzamin bez hasła. Na pulpicie znajdziesz archiwum ZIP o nazwie pliki1.zip zabezpieczone hasłem: Baz@FilmY.
Archiwum należy rozpakować.
Na pulpicie konta egzamin utwórz folder. Jako nazwy folderu użyj swojego numeru PESEL. Rozpakowane pliki umieść w tym folderze. Po skończonej pracy wynikowe pliki zapisz w tym folderze.
Operacje na bazie danych
Baza danych jest zgodna ze strukturą przedstawioną na obrazie 1. Tabela filmy ma dwa klucze obce łączące ją z tabelami rezyserzy i gatunki.
Obraz 1. Struktura bazy danych

Uruchom usługi MySQL i Apache za pomocą XAMPP Control Panel. Za pomocą narzędzia phpMyAdmin wykonaj podane operacje na bazie danych:
- Utwórz nową bazę danych o nazwie
dane - Do bazy zaimportuj tabele z pliku
dane.sqlz rozpakowanego archiwum ZIP - Wykonaj zrzut ekranu po imporcie. Zrzut zapisz w folderze z numerem PESEL, w formacie PNG i nazwij
import. Nie kadruj zrzutu. Powinien on obejmować cały ekran, z widocznym paskiem zadań. Na zrzucie powinny być widoczne elementy wskazujące na poprawnie wykonany import tabel - Zapisz i wykonaj
zapytania SQLdziałające na bazie danychdane. Zapytania zapisz w plikukwerendy.txt, w folderze z numerem PESEL. Wykonaj zrzuty ekranu przedstawiające wyniki działania kwerend. Zrzuty zapisz w formacie JPG i nadaj im nazwykw1,kw2,kw3,kw4. Zrzuty powinny obejmować cały ekran monitora z widocznym paskiem zadań.- Zapytanie 1: wstawiające do tabeli
filmyjeden rekord o danych: filmSuburbiconz roku2017, gatunek filmu tokomedia, ocena jest równa5 - Zapytanie 2: wybierające jedynie pole
tytulz tabelifilmyoraz odpowiadające mu polenazwaz tabeligatunkidla filmów, dla których poleocenama wartość6. Należy posłużyć się relacją - Zapytanie 3: wybierające jedynie pola
tytulorazrokz tabelifilmytylko dla gatunkudramato ocenie równej5 - Zapytanie 4: tworzące tabelę o nazwie
aktorzyi polachidtypu numerycznego,imietypu tekstowego,nazwiskotypu tekstowego. Poleidnie może przyjmować wartościNULL
- Zapytanie 1: wstawiające do tabeli
Witryna internetowa
Obraz 2 przedstawia sytuację, w której kursor myszy znalazł się na obszarze formularza.
Obraz 2. Witryna internetowa

Przygotowanie grafiki
Grafikę kadr.jpg należy skadrować. Na obrazie widoczne są dwie czarne linie wyznaczające kadr. Zdjęcie powinno być wycięte tak, aby był widoczny tylko obszar pomiędzy liniami (linie nie mają być widoczne).
Grafika kadr.jpg

Cechy witryny
- Składa się ze strony o nazwie
index.html - Zastosowany właściwy standard kodowania polskich znaków
- Tytuł strony widoczny na karcie przeglądarki: "Filmy"
- Arkusz stylów w pliku o nazwie
styl1.cssprawidłowo połączony z kodem strony - Podział strony na bloki:
boczny panelpolewejstronie oraztrzy panelepoprawejstronie - jeden pod drugim,stopkapod wsystkimi panelami. Podział zrealizowany za pomocą znaczników sekcji, zgodnie zobrazem 2 - Zawartość lewego panelu:
- Nagłówek
trzeciegostopnia o treści "Dostępne gatunki filmu" - Lista
numerowana(uporządkowana) z elementami o treści: "Sci-Fi", "animacja", "dramat", "horror", "komedia" - Umieszczony w akapicie (paragrafie)
odnośniko treści "Pobierz obraz" prowadzący do obrazukadr.jpg - Umieszczony w akapicie
odnośniko treści "Sprawdź repertuar kin" prowadzący do stronyrepertuar-kin.pl, odnośnik otwiera się wosobnym oknie
- Nagłówek
- Zawartość pierwszego prawego panelu: nagłówek
pierwszegostopnia o treści "FILMOTEKA" - Zawartość drugiego prawego panelu: formularz wysyłający dane
metodą POSTdo plikudodaj.phpz elementami umieszczonymi w osobnych wierszach:- Tekst "Tytuł:" oraz pole edycyjne typu
tekstowego - Tekst "Gatunek filmu: " oraz pole edycyjne typu
numerycznego - Tekst "Rok produkcji: " oraz pole edycyjne typu
numerycznego - Tekst "Ocena: " oraz pole edycyjne typu
numerycznego - Przycisk o treści CZYŚĆ, po jego wciśnięciu dane z pól edycyjnych są usuwane
- Przycisk o treści DODAJ, po jego wciśnięciu dane są wysyłane do skryptu PHP
- Tekst "Tytuł:" oraz pole edycyjne typu
- Zawartość trzeciego prawego panelu: obraz
kadr.jpgz tekstem alternatywnym "zdjęcia filmowe" - Zawartość stopki: akapit o treści "Autor strony: ", zaś dalej wstawiony
numer PESELzdającego
Styl CSS witryny internetowej
Plik styl1.css zawiera formatowanie:
- Domyślne dla całej strony: krój czcionki
Helvetica - Panelu lewego: kolor tła
Navy, kolor czcionkibiały, szerokość25%, wysokość700px - Pierwszego panelu prawego: kolor tła
RoyalBlue, wysokość100px, szerokość75%, wyrównanie tekstudo środka - Drugiego panelu prawego: kolor tła
SteelBlue, wysokość300px, szerokość75% - Trzeciego panelu prawego: kolor tła
RoyalBlue, wysokosć300px, szerokość75%, wyrównanie tekstudo środka - Stopki: kolor tła
SteelBlue, wyrównanie tekstudo środka, marginesy wewnętrzne20px - Nagłówka pierwszego stopnia: odległość między literami wynosi
5px - Formularza: marginesy zewnętrzne
30px, wysokość linii wynosi3 - W momencie najechania kursorem na obszar formularza zmienia on kolor tła na
DeepSkyBlue
Skrypt połączenia z bazą
W tabeli 1 podano wybór funkcji PHP do obsługi bazy danych.
Wymagania dotyczące skryptów:
- Napisany w języku PHP, umieszczony w pliku
dodaj.php(w pliku znajduje się tylko skrypt) - Skrypt łączy się z serwerem bazodanowym na
localhost, użytkownikrootbez hasła, baza danych o nazwiedane - Pobiera dane z formularza ze wszystkich pól edycyjnych
- Dodaje dane do tabeli
filmyza pomocą zmodyfikowanegozapytania nr 1 - Wypisuje tekst "Film
tytułzostał dodany do bazy", gdzietytułoznacza tytuł wpisany do formularza. - Zamyka połączenie z bazą
Tabela 1. Wybór funkcji języka PHP do obsługi bazy MySQL i MariaDB
| Funkcje biblioteki mysql | Funkcje bilioteki mysqli | Zwracana wartość |
|---|---|---|
| mysql_connect(serwer, użytkownik, hasło) | mysqli_connect(serwer, uzytkownik, haslo, nazwa_bazy) | id połączenia lub FALSE, gdy niepowodzenie |
| mysql_select_db ('nazwa_bazy' [,id_polaczenia]) | mysqli_select_db(id_polaczenia, nazwa_bazy) | TRUE / FALSE, w zależności od stanu operacji |
| mysql_error([id_polaczenia]) | mysqli_error(id_polaczenia) | Tekst komunikatu błędu |
| mysql_close([id_polaczenia]) | mysqli_close(id_polaczenia) | TRUE / FALSE, w zależności od stanu operacji |
| mysql_query(zapytanie [,id_polaczenia]) | mysqli_query(id_polaczenia, zapytanie) | Wynik zapytania |
| mysql_fetch_row (wynik_zapytania) | mysqli_fetch_row(wynik_zapytania) | Tablica numeryczna odpowiadająca wierszowi zapytania |
| mysql_fetch_array (wynik_zapytania) | mysqli_fetch_array(wynik_zapytania) | Tablica zawierająca kolejny wiersz z podanych w wyniku zapytania lub FALSE, jeżeli nie ma więcej wierszy w wyniku zapytania |
| mysql_num_rows (wynik_zapytania) | mysqli_num_rows(wynik_zapytania) | Liczba wierszy w podanym zapytaniu |
| mysql_num_fields (wynik_zapytania) | mysqli_num_fields (wynik_zapytania) | Liczba kolumn w podanym zapytaniu |
- UWAGA!
- Po zakończeniu pracy utwórz plik tekstowy. Zapisz w nim nazwę przeglądarki internetowej, w której weryfikowałeś poprawność działania witryny, zapisz go w folderze z numerem PESEL jako przeglądarka.txt.
- Nagraj płytę z rezultatami pracy. W folderze z numerem PESEL powinny się znajdować pliki: dodaj.php, import.png, index.html, kadr.jpg, kw1.jpg, kw2.jpg, kw3.jpg, kw4.jpg, kwerendy.txt, przeglądarka.txt, styl1.css, ewentualnie inne przygotowane pliki.
- Po nagraniu płyty sprawdź poprawność nagrania. Opisz płytę swoim numerem PESEL i pozostaw na stanowisku, zapakowaną w pudełku wraz z arkuszem egzaminacyjnym.
Czas przeznaczony na wykonanie zadania wynosi 150 minut.
Ocenie będzie podlegać 5 rezultatów:
- operacje na bazie danych
- wygląd witryny internetowej
- działanie witryny internetowej
- styl CSS witryny internetowej
- skrypt połączenia z bazą.

Komentarze
Czy macie jakieś pytania, sugestie, uwagi? A może zauważyliście literówkę albo błąd? Dajcie koniecznie znać: kontakt@pasja-informatyki.pl. Dziękujemy za poświęcony czas - to dzięki Wam serwis staje się coraz lepszy!
Kody zniżkowe - kup taniej
Mamy fajne rabaty dla widzów naszego kanału YouTube - otóż można zamówić dwa tomy książek "Wprowadzenie do bezpieczeństwa IT" (15% taniej) oraz książkę "Twierdza Linux. Bezpieczeństwo dla dociekliwych" (10% taniej) - użyjcie odpowiedniego kodu, wpisując go w specjalne pole w koszyku:
KOD: pasja
Dostajesz rabat -15%
KOD: pasja
Dostajesz rabat -15%
KOD: pasja-linux
Dostajesz rabat -10%
Pomóż dzieciom
Polska Akcja Humanitarna od wielu lat dożywia dzieci. Proszę, poświęć teraz dosłownie chwilę i pomóż klikając w oznaczony strzałką zielony brzuszek Pajacyka. Dziękujemy!