{"id":"e14-2018-czerwiec-egzamin-zawodowy-praktyczny/zad/PE","paper_id":"e14-2018-czerwiec-egzamin-zawodowy-praktyczny","number":"PE","points":null,"ptype":"open","subject":"e14","category":"egzamin-zawodowy","year":2018,"month":"czerwiec","level":null,"text":"Zadanie egzaminacyjne\nWykonaj aplikację internetową restauracji. Wykorzystaj pakiet XAMPP oraz edytor tekstowy zaznaczający\nskładnię.\nAby wykonać zadanie, zaloguj się na konto Egzamin bez hasła. Na pulpicie znajdziesz archiwum ZIP\no nazwie zad1.zip zabezpieczone hasłem: Wykon@jTo\nArchiwum należy rozpakować.\nPo skończonej pracy wyniki zapisz w folderze stworzonym na pulpicie konta Egzamin. Jako nazwy folderu\nużyj swojego numeru PESEL. Rozpakowane pliki umieść w tym folderze.\nOperacje na bazie danych\nTabele wykorzystane w zadaniu są przedstawione na obrazie 1.\nObraz 1. Baza danych\nPole typ z tabeli dania odpowiada rodzajom dań: 1 - zupy, 2 - mięsne, 3 - przekąski, 4 - napoje.\nPole stanowisko z tabeli pracownicy odpowiada stanowiskom: 1 - kucharz, 2 - pomoc, 3 - kelner, 4-barman.\nUruchom usługi MySQL i Apache z XAMPP Control Panel. Za pomocą narzędzia phpMyAdmin wykonaj\noperacje na bazie danych:\n Utwórz nową bazę danych o nazwie baza\n Zaimportuj do bazy tabele z pliku baza.sql, z wcześniej rozpakowanego archiwum\n Wykonaj zrzut ekranu po imporcie. Zrzut zapisz w folderze z numerem PESEL, w formacie\nJPEG i nazwij zad1. Nie kadruj zrzutu. Zrzut powinien obejmować cały ekran, z widocznym paskiem\nzadań. Na zrzucie powinny być widoczne elementy wskazujące na poprawnie wykonany import tabel\n Zapisz i wykonaj zapytania SQL działające na bazie. Wykonaj zrzuty ekranu przedstawiające wyniki\ndziałania kwerend. Zrzuty zapisz w folderze z numerem PESEL, w formacie JPEG i nadaj im nazwy\nkw1, kw2, kw3, kw4. Zrzuty powinny obejmować cały ekran monitora z widocznym paskiem zadań.\nZapytania zapisz w pliku kwerendy.txt, w folderze z numerem PESEL\n Zapytanie 1: wstawiające do tabeli rezerwacje rekord z danymi: numer stolika = 1,\ndata=„2017-07-04”, liczba osób = 4, numer telefonu = „111222333”\n Zapytanie 2: wybierające z tabeli dania jedynie pola nazwa i cena dla dań mięsnych\n Zapytanie 3: wybierające z tabeli dania jedynie pole nazwa dla takich przekąsek, których cena jest\nmniejsza od 15 zł\n Zapytanie 4: edytujące dane w tabeli pracownicy. Dla wszystkich pracowników, którzy zatrudnieni\nsą jako kelner, należy dokonać zmiany stanowiska na barman\nWitryna internetowa\nObraz 2. Witryna internetowa\nCechy witryny:\n Nazwa pliku: restauracja.html lub restauracja.php\n Zastosowany właściwy standard kodowania polskich znaków\n Tytuł strony widoczny na karcie przeglądarki: „Restauracja Wszystkie Smaki”\n Arkusz stylów w pliku o nazwie styl1.css prawidłowo połączony z kodem strony\n Podział strony na bloki: baner, panele lewy i prawy, dolny, stopka zrealizowany za pomocą znaczników\nsekcji tak, aby po uruchomieniu w przeglądarce wygląd był zgodny z obrazem 2\n Zawartość banera: nagłówek pierwszego stopnia o treści: Witamy w restauracji „Wszystkie Smaki”\n Zawartość panelu lewego: obraz menu.jpg (wypakowany z archiwum) z tekstem alternatywnym\no treści: „Nasze danie”\n Zawartość panelu prawego:\n Nagłówek czwartego stopnia o treści: „U nas dobrze zjesz!”\n Lista punktowana z trzema elementami: Obiady od 40 zł; Przekąski od 10 zł; Kolacje od 20 zł\n Zawartość panelu dolnego:\n Nagłówek drugiego stopnia o treści: „Zarezerwuj stolik on-line”\n Formularz zgodny z obrazem 2, wysyłający dane do pliku rezerwacja.php metodą POST. Zawiera\npodpisy i pola:\n „Data (format rrrr-mm-dd)”, poniżej pole tekstowe\n „Ile osób?”, poniżej pole typu numerycznego\n „Twój numer telefonu:”, poniżej pole tekstowe\n Pole typu checkbox z napisem: „Zgadzam się na przetwarzanie moich danych osobowych”\n Przycisk „WYCZYŚĆ”, po jego wciśnięciu formularz jest czyszczony\n Przycisk „REZERWUJ”, po jego wciśnięciu dane przesyłane są z formularza do skryptu\n Zawartość stopki: napis o treści: „Stronę internetową opracował: ”, dalej wstawiony Twój numer\nPESEL, numer PESEL powinien być zapisany pochyloną czcionką\nStyl CSS witryny internetowej\nPlik styl1.css zawiera formatowanie:\n Całej strony: kolor tła #F6E5DC, krój czcionki Tahoma\n Banera: kolor tła #2F180C, wyrównanie tekstu do środka, biały kolor czcionki, wysokość 60 px\n Panelu lewego: szerokość 60%\n Panelu prawego: rozmiar czcionki 200%, marginesy wewnętrzne 50 px\n Panelu dolnego: kolor tła #D0B6A8, wyrównanie tekstu do środka, marginesy wewnętrzne 30 px\n Stopki: kolor tła #2F180C, biały kolor czcionki, wysokość 60 px\n Obrazu: wysokość 400 px\n Listy punktowanej: okrąg jako styl punktora\nSkrypt połączenia z bazą\nW tabeli 1 podano wybór funkcji PHP do obsługi bazy danych. Wymagania dotyczące skryptu:\n Napisany w języku PHP, w osobnym pliku o nazwie rezerwacja.php. Skrypt jest uruchamiany po\nwypełnieniu formularza i wciśnięciu przycisku REZERWUJ. Nie jest wymagane sprawdzenie\npoprawności wpisanych w formularz danych\n Skrypt wypisuje tekst „Dodano rezerwację do bazy”\n Skrypt łączy się z serwerem bazodanowym na localhost, użytkownik root bez hasła, baza danych\no nazwie baza\n Nie jest wymagane sprawdzenie, czy operacja na bazie danych powiodła się\n Skrypt pobiera dane z formularza\n Skrypt wysyła do bazy danych zapytanie wstawiające rekord do tabeli rezerwacje z danymi pobranymi\nz formularza bez wypełnionego numeru stolika (zmodyfikowane zapytanie 1, patrz punkt „Operacje na\nbazie danych\")\n Na końcu działania skrypt zamyka połączenie z serwerem\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. Plik zapisz w folderze z Twoim numerem PESEL jako\nprzeglądarka.txt. Nagraj płytę z rezultatami pracy. W folderze z numerem PESEL powinny się znajdować\npliki: kw1.jpg, kw2.jpg, kw3.jpg, kw4.jpg, kwerendy.txt, menu.jpg, przeglądarka.txt, restauracja.php (lub\nrestauracja.html), rezerwacja.php, styl1.css, zad1.jpg, ewentualnie inne przygotowane pliki. Po nagraniu\npłyty sprawdź poprawność nagrania. Opisz płytę swoim numerem PESEL i pozostaw na stanowisku,\nzapakowaną w pudełku wraz z arkuszem egzaminacyjnym.\nCzas przeznaczony na wykonanie zadania wynosi 150 minut.\nOcenie będą podlegać 4 rezultaty:\n operacje na bazie danych,\n witryna internetowa,\n styl CSS witryny internetowej,\n skrypt połączenia z bazą.\nFunkcje biblioteki mysql\nFunkcje bilioteki mysqli\nZwracana wartość\nmysql_connect(serwer, użytkownik,\nhasło)\nmysqli_connect(serwer, użytkownik,\nhasło, nazwa_bazy)\nid połączenia lub FALSE, gdy\nniepowodzenie\nmysql_select_db\n('nazwa_bazy' [,id_polaczenia])\nmysqli_select_db(id_polaczenia,\nnazwa_bazy)\nTRUE/FALSE w zależności od stanu\noperacji\nmysql_error([id_polaczenia])\nmysqli_error(id_polaczenia)\nTekst komunikatu błędu\nmysql_close([id_polaczenia])\nmysqli_close(id_polaczenia)\nTRUE/FALSE w zależności od stanu\noperacji\nmysql_query(zapytanie [,id_polaczenia]) mysqli_query(id_polaczenia,\nzapytanie)\nWynik zapytania\nmysql_fetch_row(wynik_zapytania)\nmysqli_fetch_row(wynik_zapytania)\nTablica numeryczna odpowiadająca\nwierszowi zapytania\nmysql_fetch_array(wynik_zapytania)\nmysqli_fetch_array(wynik_zapytania) Tablica zawierająca kolejny wiersz\nz podanych w wyniku zapytania lub\nFALSE, jeżeli nie ma więcej wierszy\nw wyniku zapytania\nmysql_num_rows(wynik_zapytania)\nmysqli_num_rows(wynik_zapytania)\nLiczba wierszy /kolumn w podanym\nzapytaniu\nmysql_num_fields (wynik_zapytania)\nmysqli_num_fields(wynik_zapytania)\nLiczba wierszy /kolumn w podanym\nzapytaniu\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:\n01\nKod arkusza:\nE.14-01-18.06\nLp.\nElementy podlegające ocenie/kryteria oceny\nR.1\nRezultat 1: Operacje na bazie danych\nW przypadku oceny zrzutów ekranu należy uznać za prawidłowe, jeżeli widoczny jest cały obszar ekranu, a zapytanie ma charakter uniwersalny dla\nkażdego zestawu danych.\nNie należy oceniać wykadrowanych zrzutów ekranu\nR.1.1\nWykonano import tabel do bazy danych o nazwie baza, czynność udokumentowano plikiem o nazwie zad1 w formacie JPEG\nR.1.2\nZapisano plik tekstowy kwerendy z zapytaniami SQL\nR.1.3\nUtworzono zapytanie 1 wstawiające do tabeli rezerwacje rekord z danymi: 1, '2017-07-04', 4, 111222333\nINSERT INTO rezerwacje (lista pól) VALUES (lista wartości) albo INSERT INTO rezerwacje VALUES\n(lista wartości) albo INSERT INTO rezerwacje SET (lista_przypisań) lub\nwynik działania udokumentowano zrzutem, na którym widoczne są zapytanie i komunikat o pomyślnym jego zrealizowaniu\nZapytanie INSERT INTO uznaje się za prawidłowe również w przypadku, gdy w polu Id nie uwzględniono autonumerowania, a\nprzypisano stałą wartość liczbową.\nR.1.4\nUtworzono zapytanie 2 wybierające z tabeli dania jedynie pola nazwa i cena dla dań mięsnych\n(typ = 2). W pliku z kwerendami istnieje zapis np.:\nSELECT nazwa, cena FROM dania WHERE typ = 2\nlub wynik działania udokumentowano zrzutem, na którym widoczne są jedynie pola nazwa i cena dla rekordów: Kaczka i owoc,\nKurczak pieczony, wieprzowy przysmak, Mintaj w panierce, Alle kotlet\nR.1.5\nUtworzono zapytanie 3 wybierające z tabeli dania jedynie pole nazwa dla przekąsek (typ=3), których cena jest mniejsza od 15 zł.\nW pliku z kwerendami istnieje zapis np.:\nSELECT nazwa FROM dania WHERE typ = 3 and cena < 15\nlub wynik działania udokumentowano zrzutem, na którym widoczne sa jedynie nazwy: Orzechy i chipsy, Bukiet warzyw\nR.1.6\nUtworzono zapytanie 4 edytujące dane w tabeli pracownicy. Dla wszystkich pracowników, którzy zatrudnieni są jako kelner\n(stanowisko = 3), należy dokonać zmiany stanowiska na barman (stanowisko = 4). W pliku z kwerendami istnieje zapis np.:\nUPDATE pracownicy SET stanowisko = 4 WHERE pracownicy.stanowisko = 3\nlub wynik działania udokumentowano zrzutem, na którym widoczny jest komunikat o zmodyfikowaniu dwóch rekordów oraz\nprawidłowe zapytanie\nR.2\nRezultat 2: Witryna internetowa\nUwaga: W napisach widocznych na stronie dopuszcza się drobne błędy literowe (nie zmieniające sensu tekstu), błędy wielkości liter i znaków\ndiakrytycznych, 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\nW przypadku, gdy R.2.3 nie jest spełniony, w rezultatach R.2.4, R.2.5, R.2.7, R.2.8, R.2.10 wystarczy, że nazwy bloków zgadzają się z kodem źródłowym, a\nnie z wyglądem witryny np. <div id=\"baner\">\nR.2.1\nWitrynę internetową zapisano w pliku restauracja oraz w kodzie strony zastosowano standard kodowania polskich znaków\nR.2.2\nNadano tytuł strony: \"Restauracja Wszystkie Smaki”\nR.2.3\nWygląd strony zdefiniowano dzieląc stronę na baner, panele lewy i prawy, dolny oraz stopkę. Zastosowano znaczniki sekcji (div, section,\nheader, nav, aside, footer, article, ) i strona po uruchomieniu w przeglądarce ma układ bloków zgodny z układem na obrazie 2 w arkuszu\nR.2.4\nW banerze zapisano nagłówek h1: \"Witamy w restauracji \"Wszystkie Smaki\"”, w panelu prawym zapisano nagłówek h4 \"U nas dobrze zjesz!\",\nw panelu dolnym zapisano nagłówek h2 o treści \"Zarezerwuj stolik on-line\"\nR.2.5\nW panelu lewym umieszczono obraz menu.jpg\nR.2.6\nZdefiniowano dla obrazu tekst alternatywny \"Nasze danie\"\nR.2.7\nW panelu prawym zapisano listę punktowaną (znaczniki <ul>, </ul> i <li>) z trzema elementami: Obiady od 40 zł; Przekąski od 10 zł; Kolacje\nod 20 zł\nR.2.8\nW panelu dolnym zapisano formularz odwołujący się do pliku rezerwacja.php oraz zawierający dwa przyciski typu reset i submit (dopuszcza\nsię dowolną inną, działającą implementację przycisku czyszczącego formularz)\nR.2.9\nNa stronie umieszczono cztery pola z podpisami, kolejno: \"Data (format rrrr-mm-dd):\" - pole tekstowe; \"Ile osób?\" - pole numeryczne; \"Twój\nnumer telefonu:\" - pole tekstowe; pole checkbox z napisem: „Zgadzam się na przetwarzanie moich danych osobowych”\nR.2.10\nW stopce zapisano napis o treści: „Stronę internetową opracował: ”, dalej wstawiony numer PESEL, przynajmniej numer PESEL jest\npochylony\nR.3\nRezultat 3: Styl CSS witryny internetowej\nW kryteriach od R.3.2 do R.3.10 należy ocenić styl CSS z pliku.\nStyl musi działać na stronie. W przypadku nie spełnienia R.3.1 kryteria od R.3.2 do R.3.10 należy ocenić w kodzie CSS. Składnia CSS musi być\nprawidłowa.\nR.3.1\nStyl CSS zapisano w pliku styl1.css (lub styll.css) , formatowanie witryny z rezultatów R.3.2 do R.3.10 pochodzi wyłącznie od stylów\nzdefiniowanych w pliku CSS\nR.3.2\nUstawiono kolor tła dla całej strony (lub kontenera wszystkich sekcji) na #F6E5DC, banera i stopki na #2F180C; panelu dolnego: #D0B6A8.\nDopuszcza się zapis dziesiętny kolorów.\nR.3.3\nUstawiono wyrównanie tekstu do środka dla banera i panelu dolnego\nR.3.4\nUstawiono biały kolor czcionki dla banera i stopki\nR.3.5\nUstawiono krój czcionki Tahoma dla całej strony lub kontenera wszystkich sekcji lub wszystkich bloków\nR.3.6\nUstawiono wysokość banera i stopki na 60px, obrazu na 400px\nR.3.7\nUstawiono szerokość panelu lewego na 60%\nR.3.8\nUstawiono marginesy wewnętrzne dla panelu prawego na 50px, dla panelu dolnego na 30px\nR.3.9\nUstawiono rozmiar czcionki na 200% dla panelu prawego\nR.3.10\nUstawiono styl listy punktowanej na circle\nR.4\nRezultat 4: Skrypt połączenia z bazą\nJeśli skrypt nie wykonuje się z powodu błędów, kryteria od R.4.1 do R.4.6 należy ocenić w kodzie strony\nR.4.1\nSkrypt napisano w języku PHP\nR.4.2\nSkrypt realizuje połączenie z serwerem bazy danych na localhost, użytkownik root, bez hasła\nR.4.3\nSkrypt realizuje wybór bazy danych o nazwie baza\nR.4.4\nPo wykonaniu operacji na bazie zastosowano funkcję zamknięcia bazy\nR.4.5\nSkrypt wypisuje tekst: \"Dodano rezerwację do bazy\"\nR.4.6\nUżyto metody POST do pobierania danych z formularza np. $telefon = $_POST['tel'];\nR.4.7\nSkrypt wysyła do bazy zapytanie wstawiające rekord w tabeli rezerwacje o wartościach podanych w formularzu. Należy sprawdzić czy rekord\nzostał dodany do bazy w phpMyAdmin","solution":null,"image":"img/e14-2018-czerwiec-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 · czerwiec 2018","subject_label":"e14","category_label":"Egzamin zawodowy","text_html":"<p>Zadanie egzaminacyjne<br>Wykonaj aplikację internetową restauracji. Wykorzystaj pakiet XAMPP oraz edytor tekstowy zaznaczający<br>składnię.<br>Aby wykonać zadanie, zaloguj się na konto Egzamin bez hasła. Na pulpicie znajdziesz archiwum ZIP<br>o nazwie zad1.zip zabezpieczone hasłem: Wykon@jTo<br>Archiwum należy rozpakować.<br>Po skończonej pracy wyniki zapisz w folderze stworzonym na pulpicie konta Egzamin. Jako nazwy folderu<br>użyj swojego numeru PESEL. Rozpakowane pliki umieść w tym folderze.<br>Operacje na bazie danych<br>Tabele wykorzystane w zadaniu są przedstawione na obrazie 1.<br>Obraz 1. Baza danych<br>Pole typ z tabeli dania odpowiada rodzajom dań: 1 - zupy, 2 - mięsne, 3 - przekąski, 4 - napoje.<br>Pole stanowisko z tabeli pracownicy odpowiada stanowiskom: 1 - kucharz, 2 - pomoc, 3 - kelner, 4-barman.<br>Uruchom usługi MySQL i Apache z XAMPP Control Panel. Za pomocą narzędzia phpMyAdmin wykonaj<br>operacje na bazie danych:<br> Utwórz nową bazę danych o nazwie baza<br> Zaimportuj do bazy tabele z pliku baza.sql, z wcześniej rozpakowanego archiwum<br> Wykonaj zrzut ekranu po imporcie. Zrzut zapisz w folderze z numerem PESEL, w formacie<br>JPEG i nazwij zad1. Nie kadruj zrzutu. Zrzut powinien obejmować cały ekran, z widocznym paskiem<br>zadań. Na zrzucie powinny być widoczne elementy wskazujące na poprawnie wykonany import tabel<br> Zapisz i wykonaj zapytania SQL działające na bazie. Wykonaj zrzuty ekranu przedstawiające wyniki<br>działania kwerend. Zrzuty zapisz w folderze z numerem PESEL, w formacie JPEG i nadaj im nazwy<br>kw1, kw2, kw3, kw4. Zrzuty powinny obejmować cały ekran monitora z widocznym paskiem zadań.<br>Zapytania zapisz w pliku kwerendy.txt, w folderze z numerem PESEL<br> Zapytanie 1: wstawiające do tabeli rezerwacje rekord z danymi: numer stolika = 1,<br>data=„2017-07-04”, liczba osób = 4, numer telefonu = „111222333”<br> Zapytanie 2: wybierające z tabeli dania jedynie pola nazwa i cena dla dań mięsnych<br> Zapytanie 3: wybierające z tabeli dania jedynie pole nazwa dla takich przekąsek, których cena jest<br>mniejsza od 15 zł<br> Zapytanie 4: edytujące dane w tabeli pracownicy. Dla wszystkich pracowników, którzy zatrudnieni<br>są jako kelner, należy dokonać zmiany stanowiska na barman<br>Witryna internetowa<br>Obraz 2. Witryna internetowa<br>Cechy witryny:<br> Nazwa pliku: restauracja.html lub restauracja.php<br> Zastosowany właściwy standard kodowania polskich znaków<br> Tytuł strony widoczny na karcie przeglądarki: „Restauracja Wszystkie Smaki”<br> Arkusz stylów w pliku o nazwie styl1.css prawidłowo połączony z kodem strony<br> Podział strony na bloki: baner, panele lewy i prawy, dolny, stopka zrealizowany za pomocą znaczników<br>sekcji tak, aby po uruchomieniu w przeglądarce wygląd był zgodny z obrazem 2<br> Zawartość banera: nagłówek pierwszego stopnia o treści: Witamy w restauracji „Wszystkie Smaki”<br> Zawartość panelu lewego: obraz menu.jpg (wypakowany z archiwum) z tekstem alternatywnym<br>o treści: „Nasze danie”<br> Zawartość panelu prawego:<br> Nagłówek czwartego stopnia o treści: „U nas dobrze zjesz!”<br> Lista punktowana z trzema elementami: Obiady od 40 zł; Przekąski od 10 zł; Kolacje od 20 zł<br> Zawartość panelu dolnego:<br> Nagłówek drugiego stopnia o treści: „Zarezerwuj stolik on-line”<br> Formularz zgodny z obrazem 2, wysyłający dane do pliku rezerwacja.php metodą POST. Zawiera<br>podpisy i pola:<br> „Data (format rrrr-mm-dd)”, poniżej pole tekstowe<br> „Ile osób?”, poniżej pole typu numerycznego<br> „Twój numer telefonu:”, poniżej pole tekstowe<br> Pole typu checkbox z napisem: „Zgadzam się na przetwarzanie moich danych osobowych”<br> Przycisk „WYCZYŚĆ”, po jego wciśnięciu formularz jest czyszczony<br> Przycisk „REZERWUJ”, po jego wciśnięciu dane przesyłane są z formularza do skryptu<br> Zawartość stopki: napis o treści: „Stronę internetową opracował: ”, dalej wstawiony Twój numer<br>PESEL, numer PESEL powinien być zapisany pochyloną czcionką<br>Styl CSS witryny internetowej<br>Plik styl1.css zawiera formatowanie:<br> Całej strony: kolor tła #F6E5DC, krój czcionki Tahoma<br> Banera: kolor tła #2F180C, wyrównanie tekstu do środka, biały kolor czcionki, wysokość 60 px<br> Panelu lewego: szerokość 60%<br> Panelu prawego: rozmiar czcionki 200%, marginesy wewnętrzne 50 px<br> Panelu dolnego: kolor tła #D0B6A8, wyrównanie tekstu do środka, marginesy wewnętrzne 30 px<br> Stopki: kolor tła #2F180C, biały kolor czcionki, wysokość 60 px<br> Obrazu: wysokość 400 px<br> Listy punktowanej: okrąg jako styl punktora<br>Skrypt połączenia z bazą<br>W tabeli 1 podano wybór funkcji PHP do obsługi bazy danych. Wymagania dotyczące skryptu:<br> Napisany w języku PHP, w osobnym pliku o nazwie rezerwacja.php. Skrypt jest uruchamiany po<br>wypełnieniu formularza i wciśnięciu przycisku REZERWUJ. Nie jest wymagane sprawdzenie<br>poprawności wpisanych w formularz danych<br> Skrypt wypisuje tekst „Dodano rezerwację do bazy”<br> Skrypt łączy się z serwerem bazodanowym na localhost, użytkownik root bez hasła, baza danych<br>o nazwie baza<br> Nie jest wymagane sprawdzenie, czy operacja na bazie danych powiodła się<br> Skrypt pobiera dane z formularza<br> Skrypt wysyła do bazy danych zapytanie wstawiające rekord do tabeli rezerwacje z danymi pobranymi<br>z formularza bez wypełnionego numeru stolika (zmodyfikowane zapytanie 1, patrz punkt „Operacje na<br>bazie danych&quot;)<br> Na końcu działania skrypt zamyka połączenie z serwerem<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. Plik zapisz w folderze z Twoim numerem PESEL jako<br>przeglądarka.txt. Nagraj płytę z rezultatami pracy. W folderze z numerem PESEL powinny się znajdować<br>pliki: kw1.jpg, kw2.jpg, kw3.jpg, kw4.jpg, kwerendy.txt, menu.jpg, przeglądarka.txt, restauracja.php (lub<br>restauracja.html), rezerwacja.php, styl1.css, zad1.jpg, ewentualnie inne przygotowane pliki. Po nagraniu<br>płyty sprawdź poprawność nagrania. Opisz płytę swoim numerem PESEL i pozostaw na stanowisku,<br>zapakowaną w pudełku wraz z arkuszem egzaminacyjnym.<br>Czas przeznaczony na wykonanie zadania wynosi 150 minut.<br>Ocenie będą podlegać 4 rezultaty:<br> operacje na bazie danych,<br> witryna internetowa,<br> styl CSS witryny internetowej,<br> skrypt połączenia z bazą.<br>Funkcje biblioteki mysql<br>Funkcje bilioteki mysqli<br>Zwracana wartość<br>mysql_connect(serwer, użytkownik,<br>hasło)<br>mysqli_connect(serwer, użytkownik,<br>hasło, nazwa_bazy)<br>id połączenia lub FALSE, gdy<br>niepowodzenie<br>mysql_select_db<br>(&#x27;nazwa_bazy&#x27; [,id_polaczenia])<br>mysqli_select_db(id_polaczenia,<br>nazwa_bazy)<br>TRUE/FALSE w zależności od stanu<br>operacji<br>mysql_error([id_polaczenia])<br>mysqli_error(id_polaczenia)<br>Tekst komunikatu błędu<br>mysql_close([id_polaczenia])<br>mysqli_close(id_polaczenia)<br>TRUE/FALSE w zależności od stanu<br>operacji<br>mysql_query(zapytanie [,id_polaczenia]) mysqli_query(id_polaczenia,<br>zapytanie)<br>Wynik zapytania<br>mysql_fetch_row(wynik_zapytania)<br>mysqli_fetch_row(wynik_zapytania)<br>Tablica numeryczna odpowiadająca<br>wierszowi zapytania<br>mysql_fetch_array(wynik_zapytania)<br>mysqli_fetch_array(wynik_zapytania) Tablica zawierająca kolejny wiersz<br>z podanych w wyniku zapytania lub<br>FALSE, jeżeli nie ma więcej wierszy<br>w wyniku zapytania<br>mysql_num_rows(wynik_zapytania)<br>mysqli_num_rows(wynik_zapytania)<br>Liczba wierszy /kolumn w podanym<br>zapytaniu<br>mysql_num_fields (wynik_zapytania)<br>mysqli_num_fields(wynik_zapytania)<br>Liczba wierszy /kolumn w podanym<br>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:<br>01<br>Kod arkusza:<br>E.14-01-18.06<br>Lp.<br>Elementy podlegające ocenie/kryteria oceny<br>R.1<br>Rezultat 1: Operacje na bazie danych<br>W przypadku oceny zrzutów ekranu należy uznać za prawidłowe, jeżeli widoczny jest cały obszar ekranu, a zapytanie ma charakter uniwersalny dla<br>każdego zestawu danych.<br>Nie należy oceniać wykadrowanych zrzutów ekranu<br>R.1.1<br>Wykonano import tabel do bazy danych o nazwie baza, czynność udokumentowano plikiem o nazwie zad1 w formacie JPEG<br>R.1.2<br>Zapisano plik tekstowy kwerendy z zapytaniami SQL<br>R.1.3<br>Utworzono zapytanie 1 wstawiające do tabeli rezerwacje rekord z danymi: 1, &#x27;2017-07-04&#x27;, 4, 111222333<br>INSERT INTO rezerwacje (lista pól) VALUES (lista wartości) albo INSERT INTO rezerwacje VALUES<br>(lista wartości) albo INSERT INTO rezerwacje SET (lista_przypisań) lub<br>wynik działania udokumentowano zrzutem, na którym widoczne są zapytanie i komunikat o pomyślnym jego zrealizowaniu<br>Zapytanie INSERT INTO uznaje się za prawidłowe również w przypadku, gdy w polu Id nie uwzględniono autonumerowania, a<br>przypisano stałą wartość liczbową.<br>R.1.4<br>Utworzono zapytanie 2 wybierające z tabeli dania jedynie pola nazwa i cena dla dań mięsnych<br>(typ = 2). W pliku z kwerendami istnieje zapis np.:<br>SELECT nazwa, cena FROM dania WHERE typ = 2<br>lub wynik działania udokumentowano zrzutem, na którym widoczne są jedynie pola nazwa i cena dla rekordów: Kaczka i owoc,<br>Kurczak pieczony, wieprzowy przysmak, Mintaj w panierce, Alle kotlet<br>R.1.5<br>Utworzono zapytanie 3 wybierające z tabeli dania jedynie pole nazwa dla przekąsek (typ=3), których cena jest mniejsza od 15 zł.<br>W pliku z kwerendami istnieje zapis np.:<br>SELECT nazwa FROM dania WHERE typ = 3 and cena &lt; 15<br>lub wynik działania udokumentowano zrzutem, na którym widoczne sa jedynie nazwy: Orzechy i chipsy, Bukiet warzyw<br>R.1.6<br>Utworzono zapytanie 4 edytujące dane w tabeli pracownicy. Dla wszystkich pracowników, którzy zatrudnieni są jako kelner<br>(stanowisko = 3), należy dokonać zmiany stanowiska na barman (stanowisko = 4). W pliku z kwerendami istnieje zapis np.:<br>UPDATE pracownicy SET stanowisko = 4 WHERE pracownicy.stanowisko = 3<br>lub wynik działania udokumentowano zrzutem, na którym widoczny jest komunikat o zmodyfikowaniu dwóch rekordów oraz<br>prawidłowe zapytanie<br>R.2<br>Rezultat 2: Witryna internetowa<br>Uwaga: W napisach widocznych na stronie dopuszcza się drobne błędy literowe (nie zmieniające sensu tekstu), błędy wielkości liter i znaków<br>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>W przypadku, gdy R.2.3 nie jest spełniony, w rezultatach R.2.4, R.2.5, R.2.7, R.2.8, R.2.10 wystarczy, że nazwy bloków zgadzają się z kodem źródłowym, a<br>nie z wyglądem witryny np. &lt;div id=&quot;baner&quot;&gt;<br>R.2.1<br>Witrynę internetową zapisano w pliku restauracja oraz w kodzie strony zastosowano standard kodowania polskich znaków<br>R.2.2<br>Nadano tytuł strony: &quot;Restauracja Wszystkie Smaki”<br>R.2.3<br>Wygląd strony zdefiniowano dzieląc stronę na baner, panele lewy i prawy, dolny oraz stopkę. Zastosowano znaczniki sekcji (div, section,<br>header, nav, aside, footer, article, ) i strona po uruchomieniu w przeglądarce ma układ bloków zgodny z układem na obrazie 2 w arkuszu<br>R.2.4<br>W banerze zapisano nagłówek h1: &quot;Witamy w restauracji &quot;Wszystkie Smaki&quot;”, w panelu prawym zapisano nagłówek h4 &quot;U nas dobrze zjesz!&quot;,<br>w panelu dolnym zapisano nagłówek h2 o treści &quot;Zarezerwuj stolik on-line&quot;<br>R.2.5<br>W panelu lewym umieszczono obraz menu.jpg<br>R.2.6<br>Zdefiniowano dla obrazu tekst alternatywny &quot;Nasze danie&quot;<br>R.2.7<br>W panelu prawym zapisano listę punktowaną (znaczniki &lt;ul&gt;, &lt;/ul&gt; i &lt;li&gt;) z trzema elementami: Obiady od 40 zł; Przekąski od 10 zł; Kolacje<br>od 20 zł<br>R.2.8<br>W panelu dolnym zapisano formularz odwołujący się do pliku rezerwacja.php oraz zawierający dwa przyciski typu reset i submit (dopuszcza<br>się dowolną inną, działającą implementację przycisku czyszczącego formularz)<br>R.2.9<br>Na stronie umieszczono cztery pola z podpisami, kolejno: &quot;Data (format rrrr-mm-dd):&quot; - pole tekstowe; &quot;Ile osób?&quot; - pole numeryczne; &quot;Twój<br>numer telefonu:&quot; - pole tekstowe; pole checkbox z napisem: „Zgadzam się na przetwarzanie moich danych osobowych”<br>R.2.10<br>W stopce zapisano napis o treści: „Stronę internetową opracował: ”, dalej wstawiony numer PESEL, przynajmniej numer PESEL jest<br>pochylony<br>R.3<br>Rezultat 3: Styl CSS witryny internetowej<br>W kryteriach od R.3.2 do R.3.10 należy ocenić styl CSS z pliku.<br>Styl musi działać na stronie. W przypadku nie spełnienia R.3.1 kryteria od R.3.2 do R.3.10 należy ocenić w kodzie CSS. Składnia CSS musi być<br>prawidłowa.<br>R.3.1<br>Styl CSS zapisano w pliku styl1.css (lub styll.css) , formatowanie witryny z rezultatów R.3.2 do R.3.10 pochodzi wyłącznie od stylów<br>zdefiniowanych w pliku CSS<br>R.3.2<br>Ustawiono kolor tła dla całej strony (lub kontenera wszystkich sekcji) na #F6E5DC, banera i stopki na #2F180C; panelu dolnego: #D0B6A8.<br>Dopuszcza się zapis dziesiętny kolorów.<br>R.3.3<br>Ustawiono wyrównanie tekstu do środka dla banera i panelu dolnego<br>R.3.4<br>Ustawiono biały kolor czcionki dla banera i stopki<br>R.3.5<br>Ustawiono krój czcionki Tahoma dla całej strony lub kontenera wszystkich sekcji lub wszystkich bloków<br>R.3.6<br>Ustawiono wysokość banera i stopki na 60px, obrazu na 400px<br>R.3.7<br>Ustawiono szerokość panelu lewego na 60%<br>R.3.8<br>Ustawiono marginesy wewnętrzne dla panelu prawego na 50px, dla panelu dolnego na 30px<br>R.3.9<br>Ustawiono rozmiar czcionki na 200% dla panelu prawego<br>R.3.10<br>Ustawiono styl listy punktowanej na circle<br>R.4<br>Rezultat 4: Skrypt połączenia z bazą<br>Jeśli skrypt nie wykonuje się z powodu błędów, kryteria od R.4.1 do R.4.6 należy ocenić w kodzie strony<br>R.4.1<br>Skrypt napisano w języku PHP<br>R.4.2<br>Skrypt realizuje połączenie z serwerem bazy danych na localhost, użytkownik root, bez hasła<br>R.4.3<br>Skrypt realizuje wybór bazy danych o nazwie baza<br>R.4.4<br>Po wykonaniu operacji na bazie zastosowano funkcję zamknięcia bazy<br>R.4.5<br>Skrypt wypisuje tekst: &quot;Dodano rezerwację do bazy&quot;<br>R.4.6<br>Użyto metody POST do pobierania danych z formularza np. <math xmlns=\"http://www.w3.org/1998/Math/MathML\" display=\"inline\"><mrow><mi>t</mi><mi>e</mi><mi>l</mi><mi>e</mi><mi>f</mi><mi>o</mi><mi>n</mi><mo>&#x0003D;</mo></mrow></math>_POST[&#x27;tel&#x27;];<br>R.4.7<br>Skrypt wysyła do bazy zapytanie wstawiające rekord w tabeli rezerwacje o wartościach podanych w formularzu. Należy sprawdzić czy rekord<br>został dodany do bazy w phpMyAdmin</p>","solutions":[]}