Arkusz INF.03 : 2022 - czerwiec - zad. 01 (php)
Oznaczenie: INF.03-01-22.06-SG Limit czasu: 150 minut
Zadanie egzaminacyjne
- UWAGA!
- Katalog z rezultatami pracy oraz płytę należy opisać numerem, którym został podpisany arkusz, czyli numerem PESEL lub w przypadku jego braku numerem paszportu.
Wykonaj aplikację internetową portalu dla wędkarzy, wykorzystując pakiet XAMPP oraz edytor zaznaczający składnię.
Aby wykonać zadanie, należy zalogować się na konto Egzamin bez hasła. Na pulpicie znajduje się archiwum ZIP o nazwie ryby.zip zabezpieczone hasłem: WedkoWaniE&
Archiwum należy rozpakować.
Na pulpicie konta Egzamin należy utworzyć folder. Jako nazwy folderu należy użyć numeru zdającego, którym został podpisany arkusz. Rozpakowane pliki należy umieścić w tym folderze. Po skończonej pracy wszystkie wyniki należy zapisać w tym folderze.
Operacje na bazie danych
Fragment bazy danych jest zgodny ze strukturą przedstawioną na obrazie 1. Tabela Okres_ochronny zawiera informację w postaci liczbowej o miesiącach, w których ryba jest chroniona. Wartość 0 oznacza, że ryba nie jest chroniona. Tabela Ryby zawiera pole styl_zycia przyjmujące wartość 1 dla drapieżników i wartość 2 dla ryb spokojnego żeru. Tabela Lowisko zawiera pole rodzaj, którego wartości oznaczają: 1 – morze, 2 – jezioro, 3 – rzeka, 4 – zalew, 5 – staw. Tabela Ryby jest powiązana relacjami z tabelami Okres_ochronny oraz Lowisko.
Obraz 1. Baza danych

Za pomocą narzędzia phpMyAdmin wykonaj operacje na bazie danych:
- Utwórz bazę danych o nazwie
wedkowanie - Do bazy
wedkowaniezaimportuj tabele z plikubaza.sqlz rozpakowanego archiwum - Wykonaj zrzut ekranu po imporcie. Zrzut zapisz w formacie PNG i nazwij
import. Nie kadruj zrzutu. Powinien on obejmować cały ekran monitora, z widocznym paskiem zadań. Na zrzucie powinny być widoczne elementy wskazujące na poprawnie wykonany import tabel. - Wykonaj
zapytania SQLdziałające na baziewedkowanie. Zapytania zapisz w plikukwerendy.txt. Wykonaj zrzuty ekranu przedstawiające wyniki działania kwerend. Zrzuty zapisz w formacie JPEG i nadaj im nazwykw1,kw2,kw3,kw4. Zrzuty powinny obejmować cały ekran monitora z widocznym paskiem zadań.- Zapytanie 1: wybierające jedynie pola
id,nazwaiwystepowaniez tabeliRybydla rybdrapieżnych - Zapytanie 2: wybierające jedynie pola
Ryby_idorazwymiar_ochronnyz tabeliOkres_ochronnydla ryb, których wymiar ochronny jest mniejszy niż30 cm - Zapytanie 3: wybierające jedynie pole
nazwaz tabeliRybyoraz odpowiadające tej nazwie polaakweniwojewodztwoz tabeliLowiskodla łowisk, które sąrzekami. Zapytanie wykorzystujerelację - Zapytanie 4: dodające do tabeli
Rybykolumnędobowy_limittypunumerycznego, o rozmiarze pozwalającym na wpisanie jedynie liczb z przedziału<0, 255>
- Zapytanie 1: wybierające jedynie pola
Witryna internetowa
Obraz 2. Witryna internetowa

Przygotowanie grafiki:
- Plik
ryba1.jpg, wypakowany z archiwum, należy przeskalować z zachowaniem proporcji tak, aby jego szerokość wynosiła dokładnie400 px
Cechy witryny:
- Składa się ze strony o nazwie
wedkuj.phpzapisanej w językuHTML5 - Zadeklarowany język dla witryny:
polski - Jawnie zastosowany właściwy standard kodowania polskich znaków
- Tytuł strony widoczny na karcie przeglądarki: „Wędkowanie”
- Arkusz stylów w pliku o nazwie
styl_1.cssprawidłowo połączony z kodem strony - Podział strony na bloki: na górze blok
banera, poniżej po lewej stroniedwablokilewe, obokjedenblokprawy, na dole blokstopki. Podział zrealizowany za pomocą znaczników sekcji tak, aby po uruchomieniu w przeglądarce wygląd układu bloków był zgodny zobrazem 2 - Zawartość banera: nagłówek
pierwszegostopnia o treści „Portal dla wędkarzy” - Zawartość pierwszego bloku lewego:
- Nagłówek
trzeciegostopnia o treści: „Ryby zamieszkujące rzeki” - Lista
numerowana(uporządkowana) wypełniona przezskrypt 1
- Nagłówek
- Zawartość drugiego bloku lewego:
- Nagłówek
trzeciegostopnia o treści: „Ryby drapieżne naszych wód” - Tabela o
trzechkolumnach wypełniona danymi- pierwszy wiersz zawiera
komórki nagłówkoweo treści, kolejno: „L.p.”, „Gatunek”, „Występowanie” - kolejne wiersze wypełnione są przez
skrypt 2zgodnie zObrazem 2
- pierwszy wiersz zawiera
- Nagłówek
- Zawartość bloku prawego:
- Obraz
ryba1.jpgz tekstem alternatywnym o treści: „Sum” - W kolejnej linii
odnośnikdo plikukwerendy.txtz treścią: „Pobierz kwerendy”
- Obraz
- Zawartość stopki: akapit (paragraf) o treści: „Stronę wykonał: ”, oraz zawierający numer, którym został podpisany arkusz
Styl CSS witryny internetowej
Cechy formatowania CSS, działające na stronie:
- Styl CSS zdefiniowany w całości w zewnętrznym pliku o nazwie
styl_1.css - Domyślne formatowanie wszystkich selektorów: krój czcionki
Helvetica - Wspólne dla bloku banera i stopki: kolor tła
#00838F,białykolor czcionki, marginesy wewnętrzne5 px, rozmiar czcionki130%, wyrównanie tekstudo środka - Dla obu bloków lewych: kolor tła
#EFEFEF, szerokość55% - Dodatkowo dla pierwszego bloku lewego wysokość
150 pxoraz dla drugiego –300 px - Dla bloku prawego: kolor tła
#4FB3BF, szerokość45%, wysokość450 px, wyrównanie tekstudo środka - Dla selektora obrazu: cień o przesunięciu
10 pxw obu osiach, rozmyciu7 pxi kolorzeDimGray, marginesy zewnętrzne20 px - Dla selektora tabeli, komórek tabeli, komórek nagłówkowych: obramowanie linią
ciągłąo szerokości1 pxi kolorze#4FB3BF, obramowanie tabeli i komórekpołączone - Dodatkowo dla selektora tabeli: marginesy zewnętrzne
wyliczane automatycznieprzez przeglądarkę, szerokość80% - Dodatkowo dla selektora komórek tabeli i nagłówkowych: marginesy wewnętrzne
4 px - Gdy kursor myszy znajdzie się na wierszu tabeli, kolor tła wiersza zmienia się na
#4FB3BF
- UWAGA!
- Style CSS dla obrazu, tabeli, komórek tabeli i komórek nagłówkowych należy zdefiniować wyłącznie przy pomocy selektora dla danego znacznika. Jest to uwarunkowane projektem późniejszej rozbudowy witryny.
Skrypt połączenia z bazą
W tabeli 1 podano wybór funkcji PHP do obsługi bazy danych. Wymagania dotyczące skryptów:
- Napisane w języku PHP
- Skrypty łączą się z serwerem bazodanowym na
localhost, użytkownikrootbez hasła, baza danych o nazwiewedkowanie - Skrypt 1
- wysyła do bazy danych
zapytanie 3 - każdy zwrócony zapytaniem wiersz jest wyświetlany w osobnym elemencie listy, według wzoru: ”<nazwa_gatunku> pływa w rzece <nazwa_akwenu>, <wojewodztwo>”, gdzie nawiasy <> oznaczają wartości pobrane z bazy danych
- wysyła do bazy danych
- Skrypt 2
- wysyła do bazy danych
zapytanie 1 - każdy zwrócony zapytaniem wiersz jest wyświetlany w osobnym wierszu tabeli
- wysyła do bazy danych
- Na końcu jest zamykane połączenie z serwerem
Tabela 1. Wybór funkcji języka PHP do obsługi bazy MySQLi i MariaDB
| Funkcje bilioteki mysqli | Zwracana wartość |
|---|---|
| mysqli_connect(serwer, uzytkownik, haslo, nazwa_bazy) | id połączenia lub FALSE, gdy niepowodzenie |
| mysqli_select_db(id_polaczenia, nazwa_bazy) | TRUE / FALSE, w zależności od stanu operacji |
| mysqli_error(id_polaczenia) | Tekst komunikatu błędu |
| mysqli_close(id_polaczenia) | TRUE / FALSE, w zależności od stanu operacji |
| mysqli_query(id_polaczenia, zapytanie) | Wynik zapytania |
| mysqli_fetch_row(wynik_zapytania) | Tablica numeryczna odpowiadająca wierszowi 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 |
| mysqli_num_rows(wynik_zapytania) | Liczba wierszy w podanym zapytaniu |
| mysqli_num_fields (wynik_zapytania) | Liczba kolumn w podanym zapytaniu |
Składnia właściwości CSS box-shadow
| box-shadow: none | h-offset v-offset blur spread color | inset | initial | inherit; |
- UWAGA!
- Po zakończeniu pracy utwórz plik tekstowy o nazwie przeglądarka.txt. Zapisz w nim nazwę przeglądarki internetowej, w której weryfikowałeś poprawność działania witryny. Umieść go w folderze z numerem, którym został podpisany arkusz.
- Nagraj płytę z rezultatami pracy. W folderze z numerem, którym został podpisany arkusz, powinny znajdować się pliki: import.png, kw1.jpg, kw2.jpg, kw3.jpg, kw4.jpg, kwerendy.txt, przeglądarka.txt, ryba1.jpg, styl_1.css, wedkuj.php, ewentualnie inne przygotowane pliki.
- Po nagraniu płyty sprawdź poprawność jej odczytu. Opisz płytę numerem, którym został podpisany arkusz i pozostaw zapakowaną w pudełku na stanowisku 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!