Arkusz INF.03 : 2025 - czerwiec - zad. 12 (php)
Oznaczenie: INF.03-12-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ą dla przychodni, 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 PlikiCz202512 zabezpieczone hasłem: _PrzychoDnia%
Archiwum należy rozpakować.
Na pulpicie konta Egzamin należy utworzyć folder. Jako nazwy folderu należy użyć numeru zdającego. 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 Ilustracji 1. Między tabelami Abonamenty i Cechy jest relacja n:m połączona za pomocą tabeli SzczegolyAbonamentu. W bazie zapisano trzy abonamenty, i przypisano im cechy. Poszczególne abonamenty z cechami są wyświetlone w zielonych blokach na Ilustracji 2.
Ilustracja 1. Baza danych

Za pomocą narzędzia phpMyAdmin wykonaj operacje na bazie danych:
- Utwórz bazę danych o nazwie
medica, 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 medica. 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
nazwę,cenęiopiswszystkich abonamentów - Zapytanie 2: liczące
średnią cenęabonamentów. Cena jest zaokrąglona dodwóch miejscpo przecinku oraz nadano nazwę kolumny (alias) na „Srednio_abonament” - Zapytanie 3: wybierające jedynie
nazwęabonamentu i odpowiadającą mucechędla abonamentu oidrównym1. Należy zastosować pełnąrelację n:m - Zapytanie 4: wybierające jedynie
nazwęiopisabonamentów, w których w opisie w dowolnym miejscu znajdują się słowa „zdrowie” albo „opieką”
- Zapytanie 1: wybierające jedynie
Witryna internetowa
Ilustracja 2. Witryna internetowa

Przygotowanie grafiki:
- Plik
obraz2.pngz czerwonym krzyżem, wypakowany z archiwum, należy przeskalować do dokładnych rozmiarów32 pxna32 px
Cechy witryny:
- Składa się ze strony o nazwie
medica.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: „Przychodnia Medica”
Obraz2.pngjakofaviconwidoczny na karcie przeglądarki- 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 „Abonamenty w przychodni Medica" - Zawartość bloku artykułu:
- Efekt działania
skryptu 1 - Odnośnik o treści „Dowiedz się więcej” prowadzący do podstrony
opis.html. Należy utworzyć plikopis.htmli zapisać w nim „Strona w trakcie budowy”
- Efekt działania
- Zawartość bloku głównego: trzy sekcje
- Zawartość pierwszej sekcji:
- Nagłówek
drugiegostopnia o treści „Standardowy” - Lista
punktowana(nieuporządkowana), a w niej efekt działaniaskryptu 2
- Nagłówek
- Zawartość drugiej sekcji:
- Nagłówek
drugiegostopnia o treści „Premium” - Lista
punktowana(nieuporządkowana), a w niej efekt działania zmodyfikowanegoskryptu 2dlaid abonamenturównego2
- Nagłówek
- Zawartość trzeciej sekcji:
- Nagłówek
drugiegostopnia o treści „Dziecko” - Lista
punktowana(nieuporządkowana), a w niej efekt działania zmodyfikowanegoskryptu 2dlaid abonamenturównego3
- Nagłówek
- Zawartość stopki:
- Paragraf, a w nim obraz o nazwie
obraz2.pngz tekstem alternatywnym „przychodnia” oraz treść „Stronę przygotował:”, dalejnumer zdającego
- Paragraf, a w nim obraz o nazwie
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
Georgia - Dla bloku nagłówkowego i stopki: kolor tła
#1B5E20,białykolor czcionki, wyrównanie tekstudo środka, marginesy wewnętrzne5 px - Dla bloku artykułu: tłem jest obraz o nazwie
obraz1.jpg, kolor czcionkiDimGray, rozmiar czcionki150%, wysokość350 px, widoczne paski przewijania - Dla trzech sekcji: kolor tła
#00E676, kolor czcionki#1B5E20, szerokość28%, wysokość560 px, marginesy zewnętrzne2%, zaokrąglenie rogów10 px, cień bloku o przesunięciu8 pxw obu osiach, rozmyciu6 pxi kolorzeDimGray - Gdy kursor znajdzie się na dowolnej sekcji jej kolor tła zmienia się na
#10EF84 - Gdy kursor znajdzie się na paragrafie jego kolor czcionki zmienia się na
czarny - Dla nagłówków drugiego i trzeciego stopnia: kolor czcionki
#1B5E20, wyrównanie tekstudo środka, odstępy między literami3 px, margines wewnętrzny górny20 px - Dla listy punktowanej: punktor jest obrazem o nazwie
obraz3.png
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 nazwiemedica - Skrypt 1
- Wysyła do bazy danych
zapytanie 1 - Zwrócone wiersze są wyświetlane według wzoru:
- W nagłówku
trzeciegostopnia: „Pakiet <nazwa> - cena <cena> zł”, gdzie nawiasy <> oznaczają wartość pobraną z bazy danych - W paragrafie opis pobrany z bazy danych
- W nagłówku
- Wysyła do bazy danych
- Skrypt 2
- Wysyła do bazy danych
zapytanie 3 - Zwrócone zapytaniem wiersze są wyświetlane jako elementy listy, tylko <cecha>, gdzie nawiasy <> oznaczają wartość pobraną z bazy danych
- Wysyła do bazy danych
- Modyfikacje skryptu 2
- W drugiej sekcji należy zastosować zmodyfikowane zapytanie, które sprawdza warunek dla abonamentu o
idrównym2. Pozostałe cechy skryptu są identyczne - W trzeciej sekcji należy zastosować zmodyfikowane zapytanie, które sprawdza warunek dla abonamentu o
idrównym3. Pozostałe cechy skryptu są identyczne
- W drugiej sekcji należy zastosować zmodyfikowane zapytanie, które sprawdza warunek dla abonamentu o
- 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. Cień elementu i tekstu w CSS

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: import.png, kw1.jpg, kw2.jpg, kw3.jpg, kw4.jpg, kwerendy.txt, medica.php, obraz1.jpg, obraz2.png, obraz3.png, opis.html, przeglądarka.txt, styl.css, 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!