Arkusz INF.03 : 2025 - czerwiec - zad. 01 (php)
Oznaczenie: INF.03-01-25.06-SG Limit czasu: 150 minut
Zadanie egzaminacyjne
- UWAGA!
- Numer, którym został podpisany arkusz egzaminacyjny (PESEL lub w przypadku jego braku numer paszportu) jest w zadaniu nazywany numerem zdającego.
Wykonaj aplikację internetową zawierającą ranking gier komputerowych, 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 7z o nazwie PlikiCz202501 zabezpieczone hasłem: Gry&KomputErowE
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. Zaleca się, aby rozpakowane pliki graficzne znajdowały się w tym samym folderze, co pliki źródłowe strony.
Operacje na bazie danych
Baza danych jest zgodna ze strukturą przedstawioną na Ilustracji 1.
Ilustracja 1. Baza danych

W Tabeli 2 umieszczono wybrane funkcje tekstowe dla bazy danych MariaDB. Za pomocą narzędzia phpMyAdmin wykonaj operacje na bazie danych:
- Utwórz bazę danych o nazwie
gry, 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
PNGpod nazwą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 bazie gry. 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
id,nazwęizdjęciez tabeligry - Zapytanie 2: wybierające jedynie
nazwę, pierwsze100 znakówopisu,punktyorazcenęz tabeligrydla wiersza oidrównym1 - Zapytanie 3: wybierające jedynie pola
nazwaipunktyzpięciupierwszych wierszy onajwyższejpunktacji z tabeligry - Zapytanie 4: wstawiające do tabeli
grywiersz o danych zawartych w plikurekord.txt(dane należy skopiować z pliku do zapytania).Klucz głównynadawanyautomatycznie
- Zapytanie 1: wybierające jedynie
Witryna internetowa
Ilustracja 2. Witryna internetowa. Kursor na obrazie – widoczny dymek z tekstem, w stopce w formularzu wprowadzono 6

Przygotowanie grafiki:
- Plik
zamczysko.jpg, wypakowany z archiwum, należy przeskalować zachowując proporcje do szerokości550 px
Cechy witryny:
- Składa się ze strony o nazwie
gry.php - Zapisana w języku
HTML5 - Zadeklarowany
polskijęzyk zawartości witryny - Jawnie zastosowany właściwy standard kodowania polskich znaków
- Tytuł strony widoczny na karcie przeglądarki: „Gry komputerowe”
- Arkusz stylów w pliku o nazwie
styl.cssprawidłowo połączony z kodem strony - Podział strony na bloki zrealizowany za pomocą
semantycznych znacznikówbloków językaHTML5tak, aby po uruchomieniu w przeglądarce układ bloków na stronie był zgodny zIlustracją 3 - Zawartość bloku nagłówkowego: nagłówek
pierwszegostopnia o treści „Ranking gier komputerowych” - Zawartość sekcji lewej:
- Nagłówek
trzeciegostopnia o treści: „Top 5 gier w tym miesiącu” - Lista
punktowana(nieuporządkowana) wypełniona przezskrypt 1 - Nagłówek
trzeciegostopnia o treści: „Nasz sklep” - Odnośnik o treści „Tu kupisz gry” prowadzący do adresu
http://sklep.gry.pl - Nagłówek
trzeciegostopnia o treści: „Stronę wykonał” - Paragraf z
numerem zdającego
- Nagłówek
- Zawartość sekcji środkowej: Efekt działania
skryptu 2 - Zawartość sekcji prawej:
- Nagłówek
trzeciegostopnia o treści: „Dodaj nową grę” - Formularz wysyłający dane do tego samego pliku metodą
bezpieczną - Formularz zawiera cztery
pola edycyjnepodpisane etykietami: nazwa, opis, cena, zdjęcie orazprzyciskDODAJ, rozmieszczone zgodnie zIlustracją 2
- Nagłówek
- Zawartość stopki:
- Formularz wysyłający dane do tego samego pliku metodą
bezpieczną - Formularz zawiera
pole edycyjneiprzycisko treści „Pokaż opis” - Efekt działania
skryptu 3
- Formularz wysyłający dane do tego samego pliku metodą
Ilustracja 3. Układ bloków

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
Garamond,białykolor czcionki (uwaga: zależnie od przeglądarki kolor czcionki przycisku może nie zostać odziedziczony, więc przyjmie kolor czarny, co nie jest błędem) - Dla bloku nagłówkowego: kolor tła
Indigo, wyrównanie tekstudo środka, marginesy wewnętrzne2 px - Dla sekcji lewej i prawej: kolor tła
Indigo, wysokość600 px - Dla sekcji środkowej:
czarnykolor tła, wysokość600 px, zawsze widoczne paski przewijania - Dla wszystkich rodzajów ekranu o szerokości większej niż
800 pxszerokość sekcji lewej i prawej wynosi20%, środkowej60%(są wyświetlane obok siebie) - Dla wszystkich rodzajów ekranu o pozostałej szerokości sekcje lewa, środkowa i prawa są wyświetlane jedna pod drugą
- Dla stopki: kolor tła
Indigo, wysokość150 px - Dla oznaczenia liczby punktów widocznych na
Ilustracji 4: kolor tłaTomato, zaokrąglenie rogów50%, marginesy wewnętrzne5 px - Dla elementu listy: marginesy wewnętrzne
5 px - Dla bloków gier znajdujących się w sekcji środkowej: bloki są umieszczone jeden
obokdrugiego, wyrównanie tekstudo środka, marginesy wewnętrzne3 px - Dla pola edycyjnego: marginesy zewnętrzne
10 px, kolor czcionkiIndigo
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 zmiennych i funkcji w języku polskim lub angielskim
- Skrypty łączą się z serwerem bazodanowym na
localhost, użytkownikrootbez hasła, baza danych o nazwiegry - Skrypt 1:
- Wysyła do bazy danych
zapytanie 3 - Zwrócone wiersze są wyświetlane w elementach listy z sekcji lewej według wzoru: „<nazwa> <punkty>”, gdzie nawiasy <> oznaczają wartość pobraną z bazy danych. Liczba punktów jest dodatkowo formatowana stylem, którego efekt jest widoczny na
Ilustracji 4
- Wysyła do bazy danych
- Skrypt 2
- Wysyła do bazy danych
zapytanie 1 - Zwrócone zapytaniem wiersze są wyświetlone w bloku, który składa się z:
- Obrazu, którego źródłem jest pole
zdjecie, tekstem alternatywnym jest polenazwa, a podpowiedzią (dymek widoczny naIlustracji 2dla pierwszej grafiki) jest poleid - Paragrafu z nazwą zdjęcia
- Obrazu, którego źródłem jest pole
- Wysyła do bazy danych
- Skrypt 3 związany z formularzem w stopce
- Jeżeli wpisano
iddo pola edycyjnego, skrypt wysyła do bazy danychzapytanie 2zmodyfikowane tak, że wybierany jest wiersz oidpodanym w polu edycyjnym - Zwrócony zapytaniem wiersz jest wyświetlany pod formularzem według wzoru:
- W nagłówku
drugiegostopnia: „<nazwa>, <punkty> punktów, <cena> zł”, gdzie nawiasy <> oznaczają wartość pobraną z bazy danych - Opis w paragrafie
- W nagłówku
- Jeżeli wpisano
- Skrypt 4 związany z formularzem z sekcji prawej
- Jeżeli wypełniono pole
nazwa, skrypt wysyła do bazy zmodyfikowanezapytanie 4w ten sposób, że wstawione są wartości pobrane z formularza, a liczba punktów wynosi0
- Jeżeli wypełniono pole
- 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 |
| isset($zmienna) | Sprawdzenie, czy $zmienna istnieje |
Tabela 2. Wybrane funkcje tekstowe w MariaDB
| Funkcja | Opis |
|---|---|
| LEFT(exp, n) | Dla wyrażenia napisowego exp zwraca n znaków od lewej strony |
| RIGHT(exp, n) | Dla wyrażenia napisowego exp zwraca n znaków od prawej strony |
Tabela 3. Semantic Elements in HTML
| Tag | Description |
|---|---|
| <article> | Defines independent, self-contained content |
| <aside> | Defines content aside from the page content |
| <details> | Defines additional details that the user can view or hide |
| <figcaption> | Defines a caption for a <figure> element |
| <figure> | Specifies self-contained content, like illustrations, diagrams, photos, code listings, etc. |
| <footer> | Defines a footer for a document or section |
| <header> | Specifies a header for a document or section |
| <main> | Specifies the main content of a document |
| <mark> | Defines marked/highlighted text |
| <nav> | Defines navigation links |
| <section> | Defines a section in a document |
| <summary> | Defines a visible heading for a <details> element |
| <time> | Defines a date/time |
- 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.
- Nagraj płytę z rezultatami pracy. W folderze z numerem zdającego, powinny znajdować się pliki: Czarodziejka.jpg, gry.php, import.png, kalipso.jpg, katedra.jpg, krokodyl.jpg, kw1.jpg, kw2.jpg, kw3.jpg, kw4.jpg, kwerendy.txt, Mag.jpg, NieznanyLad.jpg, Persja.jpg, przeglądarka.txt, styl.css, WyprawaNaKsiezyc.jpg, zamczysko.jpg, ewentualnie inne przygotowane pliki. Po nagraniu płyty sprawdź poprawność jej odczytu. Opisz płytę numerem zdającego, 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
- 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!