Arkusz INF.03 : 2024 - czerwiec - zad. 01 (php)
Oznaczenie: INF.03-01-24.06-SG Limit czasu: 150 minut
Zadanie egzaminacyjne
- UWAGA!
- Folder z rezultatami pracy oraz płytę należy opisać numerem zdającego, którym został podpisany arkusz, czyli numerem PESEL lub w przypadku jego braku numerem paszportu. Dalej w zadaniu numer ten jest nazwany numerem zdającego.
Wykonaj aplikację internetową o motocyklach, wykorzystując edytor grafiki rastrowej, 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 PlikiCz202401 zabezpieczone hasłem: ^moTocyKle^
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
Baza danych jest zgodna ze strukturą przedstawioną na Obrazie 1. Tabele są połączone relacją 1..n.
Obraz 1. Baza danych

Za pomocą narzędzia phpMyAdmin wykonaj operacje na bazie danych:
- Utwórz bazę danych o nazwie
motory, z zestawem polskich znaków (np.utf8_unicode_ci) - Do bazy zaimportuj tabele z pliku
baza.sqlz rozpakowanego archiwum - Wykonaj zrzut ekranu po imporcie. Zrzut zapisz w formacie
PNGi nazwijimport. 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 SQL działające na bazie
motory. Zapytania zapisz w plikukwerendy.txt. Wykonaj zrzuty ekranu przedstawiające wyniki działania kwerend. Zrzuty zapisz w formacieJPEGi nadaj im nazwykw1,kw2,kw3,kw4. Zrzuty powinny obejmować cały ekran monitora z widocznym paskiem zadań.- Zapytanie 1: wybierające jedynie
nazwywycieczek, których początek jest wMuszynie,Wieliczce - Zapytanie 2: wybierające jedynie pola
nazwa,opisipoczatekz tabeli wycieczki oraz odpowiadające im polezrodloz tabelizdjecia. Należy posłużyć sięrelacją - Zapytanie 3: zliczające
liczbęwycieczek wpisanych do tabeliwycieczki - Zapytanie 4: modyfikujące strukturę tabeli wycieczki, poprzez dodanie kolumny
ocenatypucałkowitego
- Zapytanie 1: wybierające jedynie
Witryna internetowa
Obraz 2. Witryna internetowa. Kursor znajduje się na trzecim elemencie definicji

Przygotowanie grafiki:
- Plik
droga1.jpg, wypakowany z archiwum, należy przeskalować z zachowaniem proporcji tak, aby jego szerokość wynosiła dokładnie640 px
Cechy witryny:
- Składa się ze strony o nazwie
motor.phpzapisanej w językuHTML5 - Ustawiony język zawartości strony na
polski - Jawnie zastosowany właściwy standard kodowania polskich znaków
- Tytuł strony widoczny na karcie przeglądarki: „Motocykle”
- Arkusz stylów w pliku o nazwie
styl.cssprawidłowo połączony z kodem strony - Umieszczony poza blokami obraz
motor.pngo tekście alternatywnym „motocykl” - Podział strony na bloki: na górze
baner, poniżej trzy bloki:lewy, i dwaprawe, na dole blokstopki. Podział zrealizowany wyłącznie za pomocąsemantycznych znacznikówsekcji językaHTML5tak, aby po uruchomieniu w przeglądarce wygląd układu bloków był zgodny zObrazem 2 - Zawartość banera: nagłówek
pierwszegostopnia o treści „Motocykle - moja pasja” - Zawartość bloku lewego:
- Nagłówek
drugiegostopnia o treści: „Gdzie pojechać?” - Lista
definicji(Description List) wypełniona przezskrypt 1
- Nagłówek
- Zawartość pierwszego bloku prawego:
- Nagłówek
drugiegostopnia o treści: „Co kupić?” - Lista
numerowana(uporządkowana) o5elementach: „Honda CBR125R”, „Yamaha YBR125”, „Honda VFR800i”, „Honda CBR1100XX”, „BMW R1200GS LC”
- Nagłówek
- Zawartość drugiego bloku prawego:
- Nagłówek
drugiegostopnia o treści: „Statystyki” - paragraf (akapit) o treści „Wpisanych wycieczek: ”, dalej efekt działania
skryptu 2 - paragraf o treści „Użytkowników forum: 200”
- paragraf o treści „Przesłanych zdjęć: 1300”
- Nagłówek
- Zawartość stopki: akapit o treści „Stronę wykonał: ”, dalej wstawiony
numer zdającego
Styl CSS witryny internetowej
Styl CSS zdefiniowany jest w całości w zewnętrznym pliku o nazwie styl.css. Cechy formatowania CSS, działające na stronie:
- Domyślne formatowanie wszystkich selektorów: krój czcionki
Verdana - Jedynie dla obrazu motor.png: wyświetlanie
blokowe, pozycjonowanie na stronie: element przesunięty15%od lewej strony względem swojego rodzica, szerokość70%, element jest zakryty przez bloki strony (znajduje się za blokami strony) - Dla banera: kolor tła RGB z wartościami
60, 120, 160i przezroczystością0.9;białykolor czcionki, rozmiar czcionki150%, marginesy wewnętrzne10 px - Dla bloku lewego: kolor tła RGB z wartościami
0, 100, 0i przezroczystością0.6; marginesy zewnętrzne2%, szerokość75%, wysokość600 px, rozmiar czcionki120%, paski przewijania widoczne tylko gdy zawartość nie mieści się w bloku, cień bloku o przesunięciu10 pxw obu osiach, rozmyciu7 pxi kolorzeDimGray - Wspólne dla bloków prawych: kolor tła RGB z wartościami
0, 100, 0i przezroczystością0.6; marginesy zewnętrzne1%, szerokość15%, wysokość300 px, cień bloku o przesunięciu10 pxw obu osiach, rozmyciu7 pxi kolorzeDimGray - Dla stopki: kolor tła RGB z wartościami
60, 120, 160i przezroczystością0.9;białykolor czcionki, marginesy wewnętrzne10 px - Dla selektora nagłówka pierwszego i drugiego stopnia: wyrównanie tekstu
do środka, czcionkapochylona - Wspólne dla odnośnika i terminu w liście definicji:
białykolor czcionki - Dla elementu definicji w liście: marginesy wewnętrzne
1% - Gdy kursor znajdzie się na elemencie definicji w liście, jego kolor tła zmienia się na
LightGreen(widoczne naObrazie 2)
- UWAGA!
- Styl CSS nagłówka pierwszego i drugiego stopnia 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
- Należy stosować znaczące nazewnictwo wszystkich zmiennych lub funkcji
- Skrypty łączą się z serwerem bazodanowym na
localhost, użytkownikrootbez hasła, baza danych o nazwiemotory - Skrypt 1
- Wysyła do bazy danych
zapytanie 2 - Zwrócone zapytaniem wartości są wyświetlane jako poszczególne terminy i elementy definicji listy według wzoru:
- Termin listy: „<nazwa>, rozpoczyna się w <poczatek>, ”, następnie odnośnik o treści „zobacz zdjęcie”, prowadzący do zdjęcia, którego nazwa została zwrócona zapytaniem
- Element definicji listy: zwrócone zapytaniem pole opis
- Wysyła do bazy danych
- Skrypt 2
- Wysyła do bazy danych
zapytanie 3 - Wartość zwrócona zapytaniem jest wyświetlana w paragrafie po słowach: „Wpisanych wycieczek: ”
- 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 |
Tabela 2. Pozycjonowanie elementów na stronie za pomocą właściwości position języka CSS
| static | normalne (domyślne) pozycjonowanie elementu |
| relative | pozwala przesunąć element w inne miejsce w stosunku do położenia pierwotnego |
| absolute | pozwala przesunąć element w inne miejsce względem rodzica tego elementu (względem bloku lub względem strony) |
| fixed | pozwala przesunąć element w inne miejsce zawsze względem krawędzi okna przeglądarki |
| parametrami przesunięcia są własności: left, top, right, bottom | |
- UWAGA!
- Po zakończeniu pracy utwórz plik tekstowy o nazwie przeglądarka.txt. Zapisz w nim nazwę przeglądarki internetowej, w której weryfikowana była poprawność działania witryny. Umieść go w folderze z numerem zdającego.
- UWAGA!
- Nagraj płytę z rezultatami pracy. W folderze z numerem zdającego, powinny znajdować się pliki: droga1.jpg, droga2.jpg, droga3.jpg, droga4.jpg, droga5.jpg, import.png, kw1.jpg, kw2.jpg, kw3.jpg, kw4.jpg, kwerendy.txt, motor.php, motor.png, przeglądarka.txt, styl.css, ewentualnie inne przygotowane pliki. Po nagraniu płyty sprawdź poprawność jej odczytu. Opisz płytę numerem zdającego 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
- zawartość 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!