Arkusz INF.03 : 2022 - czerwiec - zad. 03 (php)
Oznaczenie: INF.03-03-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 zawodów wędkarskich, 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 zawody.zip zabezpieczone hasłem: ZaWodY7%
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 Zawody_wedkarskie jest połączona relacją z tabelą Lowisko (opisuje łowisko, gdzie będą się odbywać zawody) oraz tabelą Karty_wedkarskie (opisuje wędkarza, który wygrał zawody). Tabela Lowisko zawiera pole rodzaj, którego wartości oznaczają: 1 – morze, 2 – jezioro, 3 – rzeka, 4 – zalew, 5 – staw.
Obraz 1. Baza danych

Za pomocą narzędzia phpMyAdmin wykonaj operacje na bazie danych:
- Utwórz bazę danych o nazwie
wedkarstwo - Do bazy wedkarstwo zaimportuj tabele z pliku
baza.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 baziewedkarstwo. 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: wstawiające rekord do tabeli
zawody_wedkarskieo wartościach: klucz główny nadawany automatycznie, Karty_wedkarskie_id -2; Lowisko_id -4; data_zawodow -„2021-09-28”; sedzia –Andrzej Nowak - Zapytanie 2: wybierające jedynie pola
idorazdata_zawodowz tabelizawody_wedkarskiedla sędziegoKrzysztofa Dobrowolskiego - Zapytanie 3: wybierające jedynie pola
imie,nazwiskoipunktyz tabelikarty_wedkarskiedla zwycięzcy zawodów wędkarskich o identyfikatorze4(identyfikator dotyczy zawodów, a nie wędkarza), należy użyćrelacji - Zapytanie 4: aktualizujące dane w tabeli
karty_wedkarskie, wartość polapunktydla rekordu o identyfikatorze1należy zwiększyć o2
- Zapytanie 1: wstawiające rekord do tabeli
Witryna internetowa
Obraz 2. Witryna internetowa

Przygotowanie grafiki:
- Plik
zawody.jpg, wypakowany z archiwum, należy odbić w taki sposób, aby osoba na grafice znajdowała się po prawej stronie, jak naobrazie 2oraz przeskalować z zachowaniem proporcji tak, aby jego wysokość wynosiła dokładnie250 pxi zapisać pod tą samą nazwą
Cechy witryny:
- Składa się ze strony o nazwie
zawody.htmlzapisanej w językuHTML 5oraz skryptuzgloszenie.php. Poniższe wymagania dotyczą tylko plikuzawody.html - Zadeklarowany język dla witryny:
polski - Jawnie zastosowany właściwy standard kodowania polskich znaków
- Tytuł strony widoczny na karcie przeglądarki: „Zawody wędkarskie”
- Arkusz stylów w pliku o nazwie
styl3.cssprawidłowo połączony z kodem strony - Podział strony na bloki: na górze dwa bloki:
lewyiprawy, poniżej blokgłówny, na dole dwa blokistopki. 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ść bloku lewego: nagłówek
pierwszegostopnia o treści „Zawody polskich wędkarzy” - Zawartość bloku prawego: obraz
zawody.jpgz tekstem alternatywnym o treści: „wędkowanie” - Zawartość bloku głównego:
- Nagłówek
trzeciegostopnia o treści: „Łowiska” - Lista
punktowana(nieuporządkowana) zawierająca elementy: Zalew Węgrowski, Zbiornik Bukówka, Jeziorko Bartbetowskie, Warta-Obrzycko - Nagłówek
trzeciegostopnia o treści: „Dodaj zawody wędkarskie” - Formularz wysyłający dane metodą bezpieczną do pliku
zgloszenie.phpzawierający pola:- Pole edycyjne typu
numerycznegopoprzedzone tekstem: „Łowisko: ” - Pole edycyjne umożliwiające wybranie
daty z kalendarza, poprzedzone tekstem: „Data: ” - Pole edycyjne poprzedzone tekstem: „Sędzia: ”
- Przycisk
czyszczącyzawartość formularza z etykietą „CZYŚĆ” - Przycisk
wysyłającyzawartość formularza z etykietą „DODAJ”
- Pole edycyjne typu
- Nagłówek
- Zawartość pierwszego bloku stopki: odnośnik do pliku
kwerendy.txto treści: „Pobierz” - Zawartość drugiego bloku stopki: akapit (paragraf) o treści: „Stronę przygotował: ”, dalej wstawiony numer zdającego, którym został podpisany arkusz.
Styl CSS witryny internetowej
Cechy formatowania CSS, działające na stronie zawody.html:
- Styl CSS zdefiniowany w całości w zewnętrznym pliku o nazwie
styl3.css - Domyślne formatowanie wszystkich selektorów: krój czcionki
Verdana - Wspólne dla bloku lewego i prawego: kolor tła
SeaGreen,białykolor czcionki, interlinia150 px, wysokość260 px, rozmiar czcionki160% - Dodatkowo dla bloku lewego: szerokość
75% - Dodatkowo dla bloku prawego: szerokość
25%, wyrównanie tekstudo prawej strony - Dla bloku głównego: kolor tła
MintCream, marginesy wewnętrzne80 px - Wspólne dla obu stopek: kolor tła
SeaGreen,białykolor czcionki, szerokość50%, wysokość70 px, wyrównanie tekstudo środka - Dla selektora kontrolki (przyciski i pola edycyjne): margines zewnętrzny dolny
20 px - Dla selektora obrazu: cień o przesunięciu
15 pxw obu osiach, rozmyciu10 pxi kolorzeDimGray - Dla selektora odnośnika:
brakpodkreślenia, kolor tłaMintCream, kolor czcionkiSeaGreen, marginesy wewnętrzne15 px, interlinia70 px
- UWAGA!
- Style CSS dla kontrolki, obrazu i odnośnika 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 skryptu:
- Napisany w języku PHP, w pliku
zgloszenie.php - Skrypt działa na danych przesłanych z formularza
- Skrypt łączy się z serwerem bazodanowym na
localhost, użytkownikrootbez hasła, baza danych o nazwiewedkarstwo - Wysyła do bazy danych
zapytanie 1, które w poluKarty_wedkarskie_idzawiera wartość0, pozostałe wartości wypełnione są danymi z formularza - Na końcu działania skrypt zamyka 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, styl3.css, zawody.html, zawody.jpg, zgloszenie.php, ewentualnie inne przygotowane pliki.
- Po nagraniu płyty sprawdź poprawność jej odczytu. Opisz płytę swoim numerem 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!