{"id":"e14-2019-styczen-egzamin-zawodowy-praktyczny/zad/PE","paper_id":"e14-2019-styczen-egzamin-zawodowy-praktyczny","number":"PE","points":null,"ptype":"open","subject":"e14","category":"egzamin-zawodowy","year":2019,"month":"styczen","level":null,"text":"Zadanie egzaminacyjne\nWykonaj aplikację internetową dla bazy danych filmów. Wykorzystaj pakiet XAMPP jako środowisko\nbazodanowo-aplikacyjne. Stronę internetową zbuduj przy wykorzystaniu edytora zaznaczającego składnię\noraz programu do obróbki grafiki rastrowej i wektorowej.\nAby wykonać zadanie, zaloguj się na konto Egzamin bez hasła. Na pulpicie znajdziesz archiwum ZIP\no nazwie pliki1.zip zabezpieczone hasłem: Baz@FilmY\nArchiwum należy rozpakować.\nNa pulpicie konta Egzamin utwórz folder. Jako nazwy folderu użyj swojego numeru PESEL. Rozpakowane\npliki umieść w tym folderze. Po skończonej pracy wyniki zapisz w tym folderze.\nOperacje na bazie danych\nBaza danych jest zgodna ze strukturą przedstawioną na obrazie 1. Tabela filmy ma dwa klucze obce łączące\nją z tabelami rezyserzy i gatunki.\nObraz 1. Baza danych oraz wartości tabeli gatunki\nUruchom usługi MySQL i Apache za pomocą XAMPP Control Panel. Za pomocą narzędzia phpMyAdmin\nwykonaj podane operacje na bazie danych:\n Utwórz nową bazę danych o nazwie dane\n Do bazy zaimportuj tabele z pliku dane.sql z rozpakowanego archiwum\n Wykonaj zrzut ekranu po imporcie. Zrzut zapisz w folderze z numerem PESEL, w formacie PNG\ni nazwij import. Nie kadruj zrzutu. Powinien on obejmować cały ekran, z widocznym paskiem zadań.\nNa zrzucie powinny być widoczne elementy wskazujące na poprawnie wykonany import tabel\n Zapisz i wykonaj zapytania SQL działające na bazie danych dane. Zapytania zapisz w pliku\nkwerendy.txt, w folderze z numerem PESEL. Wykonaj zrzuty ekranu przedstawiające wyniki działania\nkwerend. Zrzuty zapisz w formacie JPG i nadaj im nazwy kw1, kw2, kw3, kw4. Zrzuty powinny\nobejmować cały ekran monitora z widocznym paskiem zadań.\n Zapytanie 1: wstawiające do tabeli filmy jeden rekord o danych: film „Suburbicon” z roku 2017,\ngatunek filmu to komedia, ocena jest równa 5\n Zapytanie 2: wybierające jedynie pole tytul z tabeli filmy oraz odpowiadające mu pole nazwa\nz tabeli gatunki dla filmów, dla których pole ocena ma wartość 6 . Należy posłużyć się relacją\n Zapytanie 3: wybierające jedynie pola tytul oraz rok z tabeli filmy tylko dla gatunku dramatów\no ocenie równej 5\n Zapytanie 4: tworzące tabelę o nazwie aktorzy i polach id typu numerycznego, imie typu\ntekstowego, nazwisko typu tekstowego. Pole id nie może przyjmować wartości NULL\nWitryna internetowa\nObraz 2. Witryna internetowa. Kursor znalazł się na obszarze formularza.\nPrzygotowanie grafiki:\n Grafikę kadr.jpg należy skadrować. Na obrazie widoczne są dwie czarne linie wyznaczające kadr.\nZdjęcie powinno być wycięte tak, aby był widoczny tylko obszar pomiędzy liniami (linie nie mają być\nwidoczne).\nCechy witryny:\n Składa się ze strony o nazwie index.html\n Zastosowany właściwy standard kodowania polskich znaków\n Tytuł strony widoczny na karcie przeglądarki: „Filmy”\n Arkusz stylów w pliku o nazwie styl1.css prawidłowo połączony z kodem strony\n Podział strony na bloki: boczny panel po lewej stronie oraz trzy panele po prawej stronie - jeden pod\ndrugim, stopka pod wszystkimi panelami. Podział zrealizowany za pomocą znaczników sekcji, zgodnie\nz obrazem 2\n Zawartość lewego panelu:\n Nagłówek trzeciego stopnia o treści „Dostępne gatunki filmu”\n Lista numerowana (uporządkowana) z elementami o treści: „Sci-Fi”, „animacja”, „dramat”,\n„horror”, „komedia”\n Umieszczony w akapicie (paragrafie) odnośnik o treści „Pobierz obraz” prowadzący do obrazu\nkadr.jpg\n Umieszczony w akapicie odnośnik o treści „Sprawdź repertuar kin” prowadzący do strony\n„repertuar-kin.pl”, odnośnik otwiera się w osobnym oknie\n Zawartość pierwszego prawego panelu: nagłówek pierwszego stopnia o treści „FILMOTEKA”\n Zawartość drugiego prawego panelu: formularz wysyłający dane metodą POST do pliku dodaj.php\nz elementami umieszczonymi w osobnych wierszach:\n Tekst „Tytuł: ” oraz pole edycyjne typu tekstowego\n Tekst „Gatunek filmu: ” oraz pole edycyjne typu numerycznego\n Tekst „Rok produkcji: ” oraz pole edycyjne typu numerycznego\n Tekst „Ocena: ” oraz pole edycyjne typu numerycznego\n Przycisk o treści CZYŚĆ, po jego wciśnięciu dane z pól edycyjnych są usuwane\n Przycisk o treści DODAJ, po jego wciśnięciu dane są wysyłane do skryptu PHP\n Zawartość trzeciego prawego panelu: obraz kadr.jpg z tekstem alternatywnym „zdjęcia filmowe”\n Zawartość stopki:\n Akapit o treści „Autor strony: ”, dalej wstawiony numer PESEL zdającego\nStyl CSS witryny internetowej\nPlik styl1.css zawiera formatowanie:\n Domyślne dla całej strony: krój czcionki Helvetica\n Panelu lewego: kolor tła Navy, biały kolor czcionki, wysokość 700 px, szerokość 25%\n Pierwszego panelu prawego: kolor tła RoyalBlue, wysokość 100 px, szerokość 75%, wyrównanie\ntekstu do środka\n Drugiego panelu prawego: kolor tła SteelBlue, wysokość 300 px, szerokość 75%\n Trzeciego panelu prawego: kolor tła RoyalBlue, wysokość 300 px, szerokość 75%, wyrównanie tekstu\ndo środka\n Stopki: kolor tła SteelBlue, wyrównanie tekstu do środka, marginesy wewnętrzne 20 px\n Nagłówka pierwszego stopnia: odległość między literami wynosi 5 px\n Formularza: marginesy zewnętrzne 30 px, wysokość linii wynosi 3\n W momencie najechania kursorem na obszar formularza zmienia on kolor tła na DeepSkyBlue\nSkrypt połączenia z bazą\nWymagania dotyczące skryptów:\n Napisany w języku PHP, umieszczony w pliku dodaj.php (w pliku znajduje się tylko skrypt)\n Skrypt łączy się z serwerem bazodanowym na localhost, użytkownik root bez hasła, baza danych\no nazwie dane\n Pobiera dane z formularza ze wszystkich pól edycyjnych\n Dodaje dane do tabeli filmy za pomocą zmodyfikowanego zapytania 1\n Wypisuje tekst „Film <tytul> został dodany do bazy”, gdzie <tytul> oznacza tytuł wpisany do\nformularza\n Zamyka połączenie z bazą\nW tabeli 1 podano wybór funkcji PHP do obsługi bazy danych.\nTabela 1. Wybór funkcji języka PHP do obsługi bazy MySQL i MariaDB\nUWAGA: po zakończeniu pracy utwórz plik tekstowy. Zapisz w nim nazwę przeglądarki internetowej,\nw której weryfikowałeś poprawność działania witryny, zapisz go w folderze z numerem PESEL jako\nprzeglądarka.txt. Nagraj płytę z rezultatami pracy. W folderze z numerem PESEL powinny się znajdować\npliki: dodaj.php, import.png, index.html, kadr.jpg, kw1.jpg, kw2.jpg, kw3.jpg, kw4.jpg, kwerendy.txt,\nprzeglądarka.txt, styl1.css, ewentualnie inne przygotowane pliki. Po nagraniu płyty sprawdź poprawność\nnagrania. Opisz płytę swoim numerem PESEL i pozostaw na stanowisku, zapakowaną w pudełku wraz\nz arkuszem egzaminacyjnym.\nCzas przeznaczony na wykonanie zadania wynosi 150 minut.\nOcenie będzie podlegać 5 rezultatów:\n operacje na bazie danych,\n wygląd witryny internetowej,\n działanie witryny internetowej,\n styl CSS witryny internetowej,\n skrypt połączenia z bazą.\nFunkcje bilioteki mysqli\nZwracana wartość\nmysqli_connect(serwer, użytkownik, hasło, nazwa_bazy)\nid połączenia lub FALSE, gdy niepowodzenie\nmysqli_select_db(id_polaczenia, nazwa_bazy)\nTRUE/FALSE w zależności od stanu operacji\nmysqli_error(id_polaczenia)\nTekst komunikatu błędu\nmysqli_close(id_polaczenia)\nTRUE/FALSE w zależności od stanu operacji\nmysqli_query(id_polaczenia, zapytanie)\nWynik zapytania\nmysqli_fetch_row(wynik_zapytania)\nTablica numeryczna odpowiadająca wierszowi zapytania\nmysqli_fetch_array(wynik_zapytania)\nTablica zawierająca kolejny wiersz z podanych w wyniku\nzapytania lub FALSE, jeżeli nie ma więcej wierszy\nw wyniku zapytania\nmysqli_num_rows(wynik_zapytania)\nLiczba wierszy w podanym zapytaniu\nmysqli_num_fields(wynik_zapytania)\nLiczba kolumn w podanym zapytaniu\nWypełnia zdający\nDo arkusza egzaminacyjnego dołączam płytę CD opisaną numerem PESEL\nktórej jakość nagrania została przeze mnie sprawdzona.\nWypełnia Przewodniczący ZN\nPotwierdzam, że do arkusza egzaminacyjnego dołączona jest płyta CD, opisana numerem PESEL zdającego.\nCzytelny podpis Przewodniczącego ZN\n,","answer":null,"answer_text":"Nazwa\nkwalifikacji:\nTworzenie aplikacji internetowych i baz danych oraz administrowanie bazami\nOznaczenie\nkwalifikacji:\nE.14\nNumer zadania: 01\nKod arkusza:\nE.14-01-01_zo\nLp.\nElementy podlegające ocenie/kryteria oceny\nR.1\nRezultat 1: Operacje na bazie danych\nUwaga: W przypadku oceny zrzutów ekranu należy uznać za prawidłowe jeżeli widoczny jest cały obszar ekranu, a\nzapytanie ma charakter uniwersalny dla każdego zestawu danych. Nie należy oceniać wykadrowanych zrzutów ekranów\nR.1.1\nWykonano import tabel do bazy danych dane , czynność udokumentowano plikiem o nazwie import w formacie\nPNG. Zrzut zawiera cały obszar ekranu z widocznym paskiem zadań\nR.1.2\nZapisano plik kwerendy.txt z zapytaniami SQL oraz zapisano przynajmniej jeden zrzut ekranu w formacie JPG\nR.1.3\nUtworzono zapytanie 1 wstawiające do tabeli filmy jeden rekord o danych: film „Suburbicon” z roku 2017,\ngatunek filmu to komedia, ocena jest równa 5 np.:\nINSERT INTO filmy(gatunki_id, tytul, rok, ocena) VALUES (5, 'Suburbicon', 2017,\n5); lub\nINSERT INTO filmy VALUES (lista wartości) w tym przypadku muszą być podane wszystkie\nwartości lub\nINSERT INTO filmy SET (lista_przypisań) lub\nwynik działania udokumentowano zrzutem, na którym widoczna jest kwerenda i komunikat: \"Wstawionych\nrekordów: 1\" lub efekt działania kwerendy.\nR.1.4\nUtworzono zapytanie 2 wybierające jedynie pole tytul z tabeli filmy oraz odpowiadające mu pole nazwa z tabeli\ngatunki dla filmów, które są ocenione wartością 6. W pliku z kwerendami istnieje zapis np.:\nSELECT tytul, nazwa FROM filmy JOIN gatunki ON filmy.gatunki_id = gatunki.id WHERE\nocena = 6; możliwe również INNER JOIN lub\nSELECT tytul, nazwa FROM filmy, gatunki WHERE filmy.gatunki_id = gatunki.id AND\nocena = 6; lub\nwynik działania udokumentowano zrzutem, na którym widoczne są dokładnie dwa rekordy: Milczenie i W\nstarym, dobrym stylu, jedynie pola tytul i nazwa\nR.1.5\nUtworzono zapytanie 3 wybierające jedynie pola tytul oraz rok z tabeli filmy jedynie dla dramatów o ocenie\nrównej 5. W pliku z kwerendami istnieje zapis np.:\nSELECT tytul, rok FROM filmy WHERE gatunki_id = 3 AND ocena = 5;\nlub wynik działania udokumentowano zrzutem, na którym widoczny jest tylko jeden rekord: Sully, 2016\nR.1.6\nUtworzono zapytanie 4 tworzące tabelę o nazwie aktorzy i polach id typu numerycznego, imie typu tekstowego,\nnazwisko typu tekstowego. Pole id nie może przyjmować wartości NULL. W pliku z kwerendami istnieje zapis\nnp.:\nCREATE TABLE aktorzy (id int NOT NULL, imie text, nazwisko text); możliwe różne typy\ncałkowite: int, tinyint, smallint, mediumint, bigint, decimal oraz różne typy tekstowe:char(), varchar(), tinytext,\ntext, mediumtext, longtext, możliwe różne atrybuty lub wynik działania udokumentowano zrzutem, na którym\nwidoczna jest kwerenda i komunikat \"MySQL zwrócił pusty wynik \" lub efekt działania kwerendy\nR.2\nRezultat 2: Wygląd witryny internetowej\nUwaga: W napisach widocznych na stronie dopuszcza się drobne błędy literowe (nie zmieniające sensu tekstu), błędy\nwielkości liter i znaków diakrytycznych, tekst może być pisany w cudzysłowach lub bez\nJeśli witryna nie uruchamia się z powodu błędów PHP - sprawdzić wg kryteriów w kodzie źródłowym strony\nR.2.1\nWitrynę internetową zapisano w pliku index.html oraz zastosowano właściwy standard kodowania polskich\nznaków\nR.2.2\nNadano tytuł strony: \"Filmy”, jest on widoczny na karcie przeglądarki\nR.2.3\nWygląd strony zdefiniowano dzieląc ją na bloki: boczny panel po lewej stronie oraz trzy panele po prawej\nstronie - jeden pod drugim, stopka pod wszystkimi panelami. Zastosowano znaczniki sekcji\nR.2.4\nW lewym panelu zapisano nagłówek h3: \"Dostępne gatunki filmu\" oraz w panelu prawym pierwszym zapisano\nnagłówek h1: \"FILMOTEKA\" oraz przynajmniej raz zastosowano paragraf: dla odnośnika w panelu lewym lub\ndla tekstu w stopce\nR.2.5\nW panelu lewym umieszczono listę numerowaną o elementach: „Sci-Fi”, „animacja”, „dramat”, „horror”,\n„komedia”. Zastosowano znaczniki ol i li oraz je zamknięto\nR.2.6\nW panelu prawym drugim umieszczono formularz z czterema polami do wprowadzania danych oraz dwoma\nprzyciskami opisanymi: CZYŚĆ i DODAJ\nR.2.7\nW panelu prawym trzecim umieszczono obraz kadr.jpg z tekstem alternatywnym \"zdjęcia filmowe\"\nR.2.8\nSkadrowano obraz kadr.jpg tak, że jest widoczny obszar znajdujący się pomiędzy dwoma czarnymi liniami\nobrazu pierwotnego, linie nie są widoczne\nR.3\nRezultat 3: Działanie witryny internetowej\nUwaga: Jeśli witryna nie uruchamia się z powodu błędów PHP - sprawdzić wg kryteriów w kodzie źródłowym strony\nR.3.1\nUkład bloków po uruchomieniu strony w przeglądarce jest w pełni zgodny z obrazem 2 w arkuszu\negzaminacyjnym\nR.3.2\nDane z formularza przesyłane są za pomocą metody POST do skryptu w pliku dodaj.php\nR.3.3\nWciśnięcie przycisku CZYŚĆ powoduje czyszczenie formularza oraz przycisk DODAJ jest typu submit\nR.3.4\nPrzynajmniej jedno pole wprowadzania danych jest typu number\nR.3.5\nKliknięcie odnośnika \"Pobierz obraz\" pobiera / otwiera plik kadr.jpg oraz kliknięcie odnośnika \"Sprawdź\nrepertuar kin\" inicjuje próbę otworzenia strony \"repertuar-kin.pl\"\nR.3.6\nStrona repertuar-kin.pl jest otwierana w osobnym oknie / zakładce przeglądarki\nR.3.7\nStrona zawiera działające połączenie z zewnętrznym arkuszem stylów o nazwie styl1.css lub styll.css\nformatowanie pochodzi jedynie od CSS\nR.4\nRezultat 4: Styl CSS witryny internetowej\nUwaga: W przypadku, gdy nie jest spełnione kryterium 3.7, kryteria w rezultacie R.4 należy ocenić w kodzie CSS.\nSkładnia musi być zgodna ze specyfikacją CSS\nR.4.1\nUstawiono domyślny (*) krój czcionki dla całej strony na Helvetica\nR.4.2\nUstawiono kolor tła Navy dla panelu lewego, RoyalBlue dla prawego pierwszego i trzeciego oraz SteelBlue dla\nprawego drugiego i stopki\nR.4.3\nUstawiono biały kolor czcionki dla panelu lewego\nR.4.4\nUstawiono wysokość 700px dla panelu lewego oraz dla paneli prawych kolejno: 100px, 300px, 300px\nR.4.5\nUstawiono szerokość 25% dla panelu lewego oraz 75% dla paneli prawych\nR.4.6\nUstawiono wyrównanie tekstu do środka dla panelu prawego pierwszego i trzeciego oraz stopki\nR.4.7\nUstawiono marginesy wewnętrzne 20px dla stopki\nR.4.8\nUstawiono styl nagłówka pierwszego stopnia: odległość między literami 5px (np. letter-spacing)\nR.4.9\nUstawiono styl formularza: marginesy zewnętrzne 30px, wysokość linii - 3 (np. line-height: 3)\nR.4.10\nW momencie najechania kursorem na obszar formularza zmienia on kolor tła na DeepSkyBlue, np.\npseudoklasa hover. Dopuszcza się alternatywne rozwiązanie np. za pomocą skryptu\nR.5\nRezultat 5: Skrypt połączenia z bazą\nUwaga: dopuszcza się możliwość stosowania biblioteki PDO. W przypadku gdy witryna nie uruchamia się z powodu\nbłędów w skrypcie rezultaty 5.1 ÷ 5.4 należy sprawdzić w kodzie strony\nR.5.1\nSkrypt napisano w języku PHP i umieszczono w pliku dodaj.php\nR.5.2\nSkrypt realizuje połączenie z serwerem bazy danych i wybór bazy dane\nR.5.3\nPo wykonaniu operacji na bazie zastosowano funkcję zamknięcia bazy\nR.5.4\nSkrypt pobiera dane z formularza za pomocą tablicy $_POST\nR.5.5\nSkrypt wysyła do bazy danych zapytanie wstawiające dane do tabeli filmy zgodnie z wypełnionym formularzem.\nNależy wypełnić formularz, zatwierdzić, a następnie sprawdzić za pomocą PHPMyAdmin czy dane zostały\nwstawione do tabeli\nR.5.6\nSkrypt Wypisuje tekst „Film <tytul> został dodany do bazy”, gdzie <tytul> oznacza tytuł wpisany do formularza","solution":null,"image":"img/e14-2019-styczen-egzamin-zawodowy-praktyczny/zad-PE.webp","solution_image":null,"topics":null,"page_from":2,"source":"ocr","answer_source":null,"answer_text_source":"ocr","solution_source":null,"text_source":"ocr","source_label":"E14 · Egzamin zawodowy · styczeń 2019","subject_label":"e14","category_label":"Egzamin zawodowy","text_html":"<p>Zadanie egzaminacyjne<br>Wykonaj aplikację internetową dla bazy danych filmów. Wykorzystaj pakiet XAMPP jako środowisko<br>bazodanowo-aplikacyjne. Stronę internetową zbuduj przy wykorzystaniu edytora zaznaczającego składnię<br>oraz programu do obróbki grafiki rastrowej i wektorowej.<br>Aby wykonać zadanie, zaloguj się na konto Egzamin bez hasła. Na pulpicie znajdziesz archiwum ZIP<br>o nazwie pliki1.zip zabezpieczone hasłem: Baz@FilmY<br>Archiwum należy rozpakować.<br>Na pulpicie konta Egzamin utwórz folder. Jako nazwy folderu użyj swojego numeru PESEL. Rozpakowane<br>pliki umieść w tym folderze. Po skończonej pracy wyniki zapisz w tym folderze.<br>Operacje na bazie danych<br>Baza danych jest zgodna ze strukturą przedstawioną na obrazie 1. Tabela filmy ma dwa klucze obce łączące<br>ją z tabelami rezyserzy i gatunki.<br>Obraz 1. Baza danych oraz wartości tabeli gatunki<br>Uruchom usługi MySQL i Apache za pomocą XAMPP Control Panel. Za pomocą narzędzia phpMyAdmin<br>wykonaj podane operacje na bazie danych:<br> Utwórz nową bazę danych o nazwie dane<br> Do bazy zaimportuj tabele z pliku dane.sql z rozpakowanego archiwum<br> Wykonaj zrzut ekranu po imporcie. Zrzut zapisz w folderze z numerem PESEL, w formacie PNG<br>i nazwij import. Nie kadruj zrzutu. Powinien on obejmować cały ekran, z widocznym paskiem zadań.<br>Na zrzucie powinny być widoczne elementy wskazujące na poprawnie wykonany import tabel<br> Zapisz i wykonaj zapytania SQL działające na bazie danych dane. Zapytania zapisz w pliku<br>kwerendy.txt, w folderze z numerem PESEL. Wykonaj zrzuty ekranu przedstawiające wyniki działania<br>kwerend. Zrzuty zapisz w formacie JPG i nadaj im nazwy kw1, kw2, kw3, kw4. Zrzuty powinny<br>obejmować cały ekran monitora z widocznym paskiem zadań.<br> Zapytanie 1: wstawiające do tabeli filmy jeden rekord o danych: film „Suburbicon” z roku 2017,<br>gatunek filmu to komedia, ocena jest równa 5<br> Zapytanie 2: wybierające jedynie pole tytul z tabeli filmy oraz odpowiadające mu pole nazwa<br>z tabeli gatunki dla filmów, dla których pole ocena ma wartość 6 . Należy posłużyć się relacją<br> Zapytanie 3: wybierające jedynie pola tytul oraz rok z tabeli filmy tylko dla gatunku dramatów<br>o ocenie równej 5<br> Zapytanie 4: tworzące tabelę o nazwie aktorzy i polach id typu numerycznego, imie typu<br>tekstowego, nazwisko typu tekstowego. Pole id nie może przyjmować wartości NULL<br>Witryna internetowa<br>Obraz 2. Witryna internetowa. Kursor znalazł się na obszarze formularza.<br>Przygotowanie grafiki:<br> Grafikę kadr.jpg należy skadrować. Na obrazie widoczne są dwie czarne linie wyznaczające kadr.<br>Zdjęcie powinno być wycięte tak, aby był widoczny tylko obszar pomiędzy liniami (linie nie mają być<br>widoczne).<br>Cechy witryny:<br> Składa się ze strony o nazwie index.html<br> Zastosowany właściwy standard kodowania polskich znaków<br> Tytuł strony widoczny na karcie przeglądarki: „Filmy”<br> Arkusz stylów w pliku o nazwie styl1.css prawidłowo połączony z kodem strony<br> Podział strony na bloki: boczny panel po lewej stronie oraz trzy panele po prawej stronie - jeden pod<br>drugim, stopka pod wszystkimi panelami. Podział zrealizowany za pomocą znaczników sekcji, zgodnie<br>z obrazem 2<br> Zawartość lewego panelu:<br> Nagłówek trzeciego stopnia o treści „Dostępne gatunki filmu”<br> Lista numerowana (uporządkowana) z elementami o treści: „Sci-Fi”, „animacja”, „dramat”,<br>„horror”, „komedia”<br> Umieszczony w akapicie (paragrafie) odnośnik o treści „Pobierz obraz” prowadzący do obrazu<br>kadr.jpg<br> Umieszczony w akapicie odnośnik o treści „Sprawdź repertuar kin” prowadzący do strony<br>„repertuar-kin.pl”, odnośnik otwiera się w osobnym oknie<br> Zawartość pierwszego prawego panelu: nagłówek pierwszego stopnia o treści „FILMOTEKA”<br> Zawartość drugiego prawego panelu: formularz wysyłający dane metodą POST do pliku dodaj.php<br>z elementami umieszczonymi w osobnych wierszach:<br> Tekst „Tytuł: ” oraz pole edycyjne typu tekstowego<br> Tekst „Gatunek filmu: ” oraz pole edycyjne typu numerycznego<br> Tekst „Rok produkcji: ” oraz pole edycyjne typu numerycznego<br> Tekst „Ocena: ” oraz pole edycyjne typu numerycznego<br> Przycisk o treści CZYŚĆ, po jego wciśnięciu dane z pól edycyjnych są usuwane<br> Przycisk o treści DODAJ, po jego wciśnięciu dane są wysyłane do skryptu PHP<br> Zawartość trzeciego prawego panelu: obraz kadr.jpg z tekstem alternatywnym „zdjęcia filmowe”<br> Zawartość stopki:<br> Akapit o treści „Autor strony: ”, dalej wstawiony numer PESEL zdającego<br>Styl CSS witryny internetowej<br>Plik styl1.css zawiera formatowanie:<br> Domyślne dla całej strony: krój czcionki Helvetica<br> Panelu lewego: kolor tła Navy, biały kolor czcionki, wysokość 700 px, szerokość 25%<br> Pierwszego panelu prawego: kolor tła RoyalBlue, wysokość 100 px, szerokość 75%, wyrównanie<br>tekstu do środka<br> Drugiego panelu prawego: kolor tła SteelBlue, wysokość 300 px, szerokość 75%<br> Trzeciego panelu prawego: kolor tła RoyalBlue, wysokość 300 px, szerokość 75%, wyrównanie tekstu<br>do środka<br> Stopki: kolor tła SteelBlue, wyrównanie tekstu do środka, marginesy wewnętrzne 20 px<br> Nagłówka pierwszego stopnia: odległość między literami wynosi 5 px<br> Formularza: marginesy zewnętrzne 30 px, wysokość linii wynosi 3<br> W momencie najechania kursorem na obszar formularza zmienia on kolor tła na DeepSkyBlue<br>Skrypt połączenia z bazą<br>Wymagania dotyczące skryptów:<br> Napisany w języku PHP, umieszczony w pliku dodaj.php (w pliku znajduje się tylko skrypt)<br> Skrypt łączy się z serwerem bazodanowym na localhost, użytkownik root bez hasła, baza danych<br>o nazwie dane<br> Pobiera dane z formularza ze wszystkich pól edycyjnych<br> Dodaje dane do tabeli filmy za pomocą zmodyfikowanego zapytania 1<br> Wypisuje tekst „Film &lt;tytul&gt; został dodany do bazy”, gdzie &lt;tytul&gt; oznacza tytuł wpisany do<br>formularza<br> Zamyka połączenie z bazą<br>W tabeli 1 podano wybór funkcji PHP do obsługi bazy danych.<br>Tabela 1. Wybór funkcji języka PHP do obsługi bazy MySQL i MariaDB<br>UWAGA: po zakończeniu pracy utwórz plik tekstowy. Zapisz w nim nazwę przeglądarki internetowej,<br>w której weryfikowałeś poprawność działania witryny, zapisz go w folderze z numerem PESEL jako<br>przeglądarka.txt. Nagraj płytę z rezultatami pracy. W folderze z numerem PESEL powinny się znajdować<br>pliki: dodaj.php, import.png, index.html, kadr.jpg, kw1.jpg, kw2.jpg, kw3.jpg, kw4.jpg, kwerendy.txt,<br>przeglądarka.txt, styl1.css, ewentualnie inne przygotowane pliki. Po nagraniu płyty sprawdź poprawność<br>nagrania. Opisz płytę swoim numerem PESEL i pozostaw na stanowisku, zapakowaną w pudełku wraz<br>z arkuszem egzaminacyjnym.<br>Czas przeznaczony na wykonanie zadania wynosi 150 minut.<br>Ocenie będzie podlegać 5 rezultatów:<br> operacje na bazie danych,<br> wygląd witryny internetowej,<br> działanie witryny internetowej,<br> styl CSS witryny internetowej,<br> skrypt połączenia z bazą.<br>Funkcje bilioteki mysqli<br>Zwracana wartość<br>mysqli_connect(serwer, użytkownik, hasło, nazwa_bazy)<br>id połączenia lub FALSE, gdy niepowodzenie<br>mysqli_select_db(id_polaczenia, nazwa_bazy)<br>TRUE/FALSE w zależności od stanu operacji<br>mysqli_error(id_polaczenia)<br>Tekst komunikatu błędu<br>mysqli_close(id_polaczenia)<br>TRUE/FALSE w zależności od stanu operacji<br>mysqli_query(id_polaczenia, zapytanie)<br>Wynik zapytania<br>mysqli_fetch_row(wynik_zapytania)<br>Tablica numeryczna odpowiadająca wierszowi zapytania<br>mysqli_fetch_array(wynik_zapytania)<br>Tablica zawierająca kolejny wiersz z podanych w wyniku<br>zapytania lub FALSE, jeżeli nie ma więcej wierszy<br>w wyniku zapytania<br>mysqli_num_rows(wynik_zapytania)<br>Liczba wierszy w podanym zapytaniu<br>mysqli_num_fields(wynik_zapytania)<br>Liczba kolumn w podanym zapytaniu<br>Wypełnia zdający<br>Do arkusza egzaminacyjnego dołączam płytę CD opisaną numerem PESEL<br>której jakość nagrania została przeze mnie sprawdzona.<br>Wypełnia Przewodniczący ZN<br>Potwierdzam, że do arkusza egzaminacyjnego dołączona jest płyta CD, opisana numerem PESEL zdającego.<br>Czytelny podpis Przewodniczącego ZN<br>,</p>","answer_text_html":"<p>Nazwa<br>kwalifikacji:<br>Tworzenie aplikacji internetowych i baz danych oraz administrowanie bazami<br>Oznaczenie<br>kwalifikacji:<br>E.14<br>Numer zadania: 01<br>Kod arkusza:<br>E.14-01-01_zo<br>Lp.<br>Elementy podlegające ocenie/kryteria oceny<br>R.1<br>Rezultat 1: Operacje na bazie danych<br>Uwaga: W przypadku oceny zrzutów ekranu należy uznać za prawidłowe jeżeli widoczny jest cały obszar ekranu, a<br>zapytanie ma charakter uniwersalny dla każdego zestawu danych. Nie należy oceniać wykadrowanych zrzutów ekranów<br>R.1.1<br>Wykonano import tabel do bazy danych dane , czynność udokumentowano plikiem o nazwie import w formacie<br>PNG. Zrzut zawiera cały obszar ekranu z widocznym paskiem zadań<br>R.1.2<br>Zapisano plik kwerendy.txt z zapytaniami SQL oraz zapisano przynajmniej jeden zrzut ekranu w formacie JPG<br>R.1.3<br>Utworzono zapytanie 1 wstawiające do tabeli filmy jeden rekord o danych: film „Suburbicon” z roku 2017,<br>gatunek filmu to komedia, ocena jest równa 5 np.:<br>INSERT INTO filmy(gatunki_id, tytul, rok, ocena) VALUES (5, &#x27;Suburbicon&#x27;, 2017,<br>5); lub<br>INSERT INTO filmy VALUES (lista wartości) w tym przypadku muszą być podane wszystkie<br>wartości lub<br>INSERT INTO filmy SET (lista_przypisań) lub<br>wynik działania udokumentowano zrzutem, na którym widoczna jest kwerenda i komunikat: &quot;Wstawionych<br>rekordów: 1&quot; lub efekt działania kwerendy.<br>R.1.4<br>Utworzono zapytanie 2 wybierające jedynie pole tytul z tabeli filmy oraz odpowiadające mu pole nazwa z tabeli<br>gatunki dla filmów, które są ocenione wartością 6. W pliku z kwerendami istnieje zapis np.:<br>SELECT tytul, nazwa FROM filmy JOIN gatunki ON filmy.gatunki_id = gatunki.id WHERE<br>ocena = 6; możliwe również INNER JOIN lub<br>SELECT tytul, nazwa FROM filmy, gatunki WHERE filmy.gatunki_id = gatunki.id AND<br>ocena = 6; lub<br>wynik działania udokumentowano zrzutem, na którym widoczne są dokładnie dwa rekordy: Milczenie i W<br>starym, dobrym stylu, jedynie pola tytul i nazwa<br>R.1.5<br>Utworzono zapytanie 3 wybierające jedynie pola tytul oraz rok z tabeli filmy jedynie dla dramatów o ocenie<br>równej 5. W pliku z kwerendami istnieje zapis np.:<br>SELECT tytul, rok FROM filmy WHERE gatunki_id = 3 AND ocena = 5;<br>lub wynik działania udokumentowano zrzutem, na którym widoczny jest tylko jeden rekord: Sully, 2016<br>R.1.6<br>Utworzono zapytanie 4 tworzące tabelę o nazwie aktorzy i polach id typu numerycznego, imie typu tekstowego,<br>nazwisko typu tekstowego. Pole id nie może przyjmować wartości NULL. W pliku z kwerendami istnieje zapis<br>np.:<br>CREATE TABLE aktorzy (id int NOT NULL, imie text, nazwisko text); możliwe różne typy<br>całkowite: int, tinyint, smallint, mediumint, bigint, decimal oraz różne typy tekstowe:char(), varchar(), tinytext,<br>text, mediumtext, longtext, możliwe różne atrybuty lub wynik działania udokumentowano zrzutem, na którym<br>widoczna jest kwerenda i komunikat &quot;MySQL zwrócił pusty wynik &quot; lub efekt działania kwerendy<br>R.2<br>Rezultat 2: Wygląd witryny internetowej<br>Uwaga: W napisach widocznych na stronie dopuszcza się drobne błędy literowe (nie zmieniające sensu tekstu), błędy<br>wielkości liter i znaków diakrytycznych, tekst może być pisany w cudzysłowach lub bez<br>Jeśli witryna nie uruchamia się z powodu błędów PHP - sprawdzić wg kryteriów w kodzie źródłowym strony<br>R.2.1<br>Witrynę internetową zapisano w pliku index.html oraz zastosowano właściwy standard kodowania polskich<br>znaków<br>R.2.2<br>Nadano tytuł strony: &quot;Filmy”, jest on widoczny na karcie przeglądarki<br>R.2.3<br>Wygląd strony zdefiniowano dzieląc ją na bloki: boczny panel po lewej stronie oraz trzy panele po prawej<br>stronie - jeden pod drugim, stopka pod wszystkimi panelami. Zastosowano znaczniki sekcji<br>R.2.4<br>W lewym panelu zapisano nagłówek h3: &quot;Dostępne gatunki filmu&quot; oraz w panelu prawym pierwszym zapisano<br>nagłówek h1: &quot;FILMOTEKA&quot; oraz przynajmniej raz zastosowano paragraf: dla odnośnika w panelu lewym lub<br>dla tekstu w stopce<br>R.2.5<br>W panelu lewym umieszczono listę numerowaną o elementach: „Sci-Fi”, „animacja”, „dramat”, „horror”,<br>„komedia”. Zastosowano znaczniki ol i li oraz je zamknięto<br>R.2.6<br>W panelu prawym drugim umieszczono formularz z czterema polami do wprowadzania danych oraz dwoma<br>przyciskami opisanymi: CZYŚĆ i DODAJ<br>R.2.7<br>W panelu prawym trzecim umieszczono obraz kadr.jpg z tekstem alternatywnym &quot;zdjęcia filmowe&quot;<br>R.2.8<br>Skadrowano obraz kadr.jpg tak, że jest widoczny obszar znajdujący się pomiędzy dwoma czarnymi liniami<br>obrazu pierwotnego, linie nie są widoczne<br>R.3<br>Rezultat 3: Działanie witryny internetowej<br>Uwaga: Jeśli witryna nie uruchamia się z powodu błędów PHP - sprawdzić wg kryteriów w kodzie źródłowym strony<br>R.3.1<br>Układ bloków po uruchomieniu strony w przeglądarce jest w pełni zgodny z obrazem 2 w arkuszu<br>egzaminacyjnym<br>R.3.2<br>Dane z formularza przesyłane są za pomocą metody POST do skryptu w pliku dodaj.php<br>R.3.3<br>Wciśnięcie przycisku CZYŚĆ powoduje czyszczenie formularza oraz przycisk DODAJ jest typu submit<br>R.3.4<br>Przynajmniej jedno pole wprowadzania danych jest typu number<br>R.3.5<br>Kliknięcie odnośnika &quot;Pobierz obraz&quot; pobiera / otwiera plik kadr.jpg oraz kliknięcie odnośnika &quot;Sprawdź<br>repertuar kin&quot; inicjuje próbę otworzenia strony &quot;repertuar-kin.pl&quot;<br>R.3.6<br>Strona repertuar-kin.pl jest otwierana w osobnym oknie / zakładce przeglądarki<br>R.3.7<br>Strona zawiera działające połączenie z zewnętrznym arkuszem stylów o nazwie styl1.css lub styll.css<br>formatowanie pochodzi jedynie od CSS<br>R.4<br>Rezultat 4: Styl CSS witryny internetowej<br>Uwaga: W przypadku, gdy nie jest spełnione kryterium 3.7, kryteria w rezultacie R.4 należy ocenić w kodzie CSS.<br>Składnia musi być zgodna ze specyfikacją CSS<br>R.4.1<br>Ustawiono domyślny (*) krój czcionki dla całej strony na Helvetica<br>R.4.2<br>Ustawiono kolor tła Navy dla panelu lewego, RoyalBlue dla prawego pierwszego i trzeciego oraz SteelBlue dla<br>prawego drugiego i stopki<br>R.4.3<br>Ustawiono biały kolor czcionki dla panelu lewego<br>R.4.4<br>Ustawiono wysokość 700px dla panelu lewego oraz dla paneli prawych kolejno: 100px, 300px, 300px<br>R.4.5<br>Ustawiono szerokość 25% dla panelu lewego oraz 75% dla paneli prawych<br>R.4.6<br>Ustawiono wyrównanie tekstu do środka dla panelu prawego pierwszego i trzeciego oraz stopki<br>R.4.7<br>Ustawiono marginesy wewnętrzne 20px dla stopki<br>R.4.8<br>Ustawiono styl nagłówka pierwszego stopnia: odległość między literami 5px (np. letter-spacing)<br>R.4.9<br>Ustawiono styl formularza: marginesy zewnętrzne 30px, wysokość linii - 3 (np. line-height: 3)<br>R.4.10<br>W momencie najechania kursorem na obszar formularza zmienia on kolor tła na DeepSkyBlue, np.<br>pseudoklasa hover. Dopuszcza się alternatywne rozwiązanie np. za pomocą skryptu<br>R.5<br>Rezultat 5: Skrypt połączenia z bazą<br>Uwaga: dopuszcza się możliwość stosowania biblioteki PDO. W przypadku gdy witryna nie uruchamia się z powodu<br>błędów w skrypcie rezultaty 5.1 ÷ 5.4 należy sprawdzić w kodzie strony<br>R.5.1<br>Skrypt napisano w języku PHP i umieszczono w pliku dodaj.php<br>R.5.2<br>Skrypt realizuje połączenie z serwerem bazy danych i wybór bazy dane<br>R.5.3<br>Po wykonaniu operacji na bazie zastosowano funkcję zamknięcia bazy<br>R.5.4<br>Skrypt pobiera dane z formularza za pomocą tablicy $_POST<br>R.5.5<br>Skrypt wysyła do bazy danych zapytanie wstawiające dane do tabeli filmy zgodnie z wypełnionym formularzem.<br>Należy wypełnić formularz, zatwierdzić, a następnie sprawdzić za pomocą PHPMyAdmin czy dane zostały<br>wstawione do tabeli<br>R.5.6<br>Skrypt Wypisuje tekst „Film &lt;tytul&gt; został dodany do bazy”, gdzie &lt;tytul&gt; oznacza tytuł wpisany do formularza</p>","solutions":[]}