Arkusz EE.09 : 2025 - styczeń - zad. 01 (php)
Oznaczenie: EE.09-01-25.01-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ą strony o futbolu, wykorzystując pakiet XAMPP oraz edytor zaznaczający składnię.
Aby wykonać zadanie, zaloguj się na konto Egzamin bez hasła. Na pulpicie znajdziesz archiwum ZIP o nazwie EE09PlikiSt202501.7z zabezpieczone hasłem: !Futboi&
Archiwum należy rozpakować.
Na pulpicie konta Egzamin utwórz folder. Jako nazwy folderu należy użyć numeru zdającego. Umieść w tym folderze rozpakowane pliki.
Po skończonej pracy wyniki zapisz również w tym folderze.
Operacje na bazie danych
Do wykonania zadania należy użyć tabel: zawodnik, pozycja, rozgrywka i liga przedstawionych na Obrazie 1. Ponadto na obrazie przedstawiono wartości w tabeli pozycja.
Obraz 1. Tabele wykorzystane w zadaniu oraz wartości w tabeli pozycja

Uruchom usługi MySQL i Apache za pomocą XAMPP Control Panel. Za pomocą narzędzia phpMyAdmin wykonaj podane operacje na bazie danych:
- Utwórz bazę danych o nazwie
egzamin - Do bazy egzamin zaimportuj plik
egzamin.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 - Zapisz i wykonaj zapytania SQL działające na bazie
egzamin. Zapytania zapisz w plikukwerendy.txt, w folderze z numerem zdającego. Wykonaj zrzuty ekranu przedstawiające wyniki działania kwerend. Zrzuty zapisz w formacieJPGi nadaj im nazwykw1,kw2,kw3,kw4. Zrzuty powinny obejmować cały ekran monitora z widocznym paskiem zadań- Zapytanie 1: wybierające jedynie pola
zespol1,zespol2,wynik,data_rozgrywkiz tabelirozgrywkadla rekordów o wartości polazespol1równej „EVG” - Zapytanie 2: wybierające jedynie pola
imieinazwiskoz tabelizawodnikdla zawodników, dla których przypisane jestid pozycjirówne3 - Zapytanie 3: wybierające jedynie pola
id,nazwiskoz tabelizawodnikoraznazwę pozycjiz tabelipozycjadla zawodników, którym przypisane jestidrówne1,2lub3 - Zapytanie 4: usuwające tabelę
liga
- Zapytanie 1: wybierające jedynie pola
Witryna internetowa
Obraz 2. Witryna internetowa, kursor na drugim bloku informacyjnym, zmienił się kolor obramowania

Przygotowanie grafiki:
- Plik
zad1.png, wypakowany z archiwum, należy przeskalować z zachowaniem proporcji tak, aby jego szerokość wynosiła dokładnie150 px. Należy zachować przezroczystość obrazu
Cechy witryny:
- Składa się ze strony o nazwie
futbol.php - Zapisana w języku
HTML 5 - Jawnie zastosowany właściwy standard kodowania polskich znaków
- Ustawiony język zawartości strony na
polski - Tytuł strony widoczny na karcie przeglądarki: „Rozgrywki futbolowe”
- Arkusz stylów w pliku o nazwie
styl.cssprawidłowo połączony z kodem strony - Podział strony na bloki:
baner, poniżej blokmeczezawierający zmienną liczbę bloków z informacją o rozgrywkach. Bloki informacyjne generowane są skryptem, a ich liczba zależy od danych w bazie. Poniżej blokgłówny, poniżej blokilewyiprawy. Podział zrealizowany za pomocąznaczników sekcji, zgodnie zObrazem 2 - Zawartość bloku banera:
- Nagłówek
drugiegostopnia o treści „Światowe rozgrywki piłkarskie” - Obraz
obraz1.jpgz tekstem alternatywnym o treści: „boisko”
- Nagłówek
- Zawartość bloku mecze: Efekt działania
skryptu 1 - Zawartość bloku głównego: nagłówek
drugiegostopnia o treści: „Reprezentacja Polski” - Zawartość bloku lewego:
- Paragraf (akapit) o treści: „Podaj pozycję zawodników (1-bramkarze, 2-obrońcy, 3-pomocnicy, 4-napastnicy):”
- Formularz wysyłający dane metodą
POSTdo tej samej strony, zawierający:- Pole edycyjne typu
numerycznego - Przycisk wysyłający zawartość formularza z opisem „Sprawdź”
- Pole edycyjne typu
- Lista
punktowana(nieuporządkowana), a w niej efekt działaniaskryptu 2
- Zawartość bloku prawego:
- Obraz
zad1.pngz tekstem alternatywnym o treści: „piłkarz” - Paragraf (akapit) o treści: „Autor: ”, dalej wstawiony
numer zdającego
- Obraz
Styl CSS witryny internetowej
Cechy formatowania CSS:
- Dla bloku banera:
białykolor czcionki, wyrównanie tekstudo środka, wysokość370 px - Dla pojedynczego bloku z informacją o rozgrywkach:
białykolor czcionki, wyrównanie tekstudo środka, szerokość200 px, marginesy zewnętrzne10 px, obramowanie:1 px, liniaciągła, kolorczarny, zaokrąglenie rogów obramowania10 px - W momencie najechania kursorem na pojedynczy blok z informacją o rozgrywkach, kolor jego ramki zmienia się na
biały - Dla bloku głównego: kolor tła
WhiteSmoke, wysokość50 px - Dla bloku lewego: kolor tła
WhiteSmoke, szerokość70%, wysokość230 px - Dla bloku prawego: kolor tła
WhiteSmoke, szerokość30%, wysokość230 px, wyrównanie tekstudo prawejstrony - Dla znacznika body: krój czcionki
Tahoma, kolor tłaCrimson - Dla znacznika nagłówka drugiego stopnia: wyrównanie tekstu
do środka, odległość między literami7 px, tekst napisanykapitalikami(capitalize)
Skrypt połączenia z bazą
W Tabeli 1 podano wybór funkcji PHP do obsługi bazy danych. Wymagania dotyczące skryptów:
- Napisany w języku PHP, w pliku
futbol.php - Skrypt łączy się z serwerem bazodanowym na
localhost, użytkownikrootbez hasła, baza danych o nazwieegzamin - Po wykonaniu operacji na bazie danych skrypt zamyka połączenie z serwerem
- Działanie skryptu 1:
- Wysyła do bazy danych
zapytanie 1 - Definiuje blok (za pomocą znacznika sekcji), a w nim wyświetla dane zwrócone zapytaniem dotyczące jednego wiersza:
- W nagłówku
trzeciegostopnia tekst: „<zespół 1> - <zespół 2>”, gdzie pola w nawiasach <> oznaczają dane pobrane zapytaniem - W nagłówku
czwartegostopnia wynik pobrany zapytaniem - W paragrafie tekst: „w dniu: <data rozgrywki>”, gdzie pole w nawiasach <> oznacza dane pobrane zapytaniem
- W nagłówku
- Liczba wygenerowanych bloków odpowiada liczbie wierszy zwróconych zapytaniem
- Wysyła do bazy danych
- Działanie skryptu 2, który odbiera dane przesłane z formularza
- Odbiera dane z pola edycyjnego
- Jeśli pole edycyjne jest
pustenie jest wykonywana żadna akcja - Jeżeli wpisano dane skrypt wysyła do bazy danych zmodyfikowane
zapytanie 2tak, że w warunkuid pozycjijest równe wartości z pola edycyjnego - Wyświetla zwrócone zapytaniem dane: imiona i nazwiska w paragrafach, jako elementy listy
punktowanej
- UWAGA!
- Po zakończeniu pracy utwórz plik tekstowy. Zapisz w nim nazwę przeglądarki internetowej, w której weryfikowana była poprawność działania witryny, zapisz go w folderze z numerem zdającego, jako przeglądarka.txt.
- UWAGA!
- Nagraj płytę z rezultatami pracy. W folderze z numerem zdającego powinny się znajdować pliki: import.png, futbol.php, kw1.jpg, kw2.jpg, kw3.jpg, kw4.jpg, kwerendy.txt, obraz1.jpg, przeglądarka.txt, styl.css, zad1.png, ewentualnie inne przygotowane pliki. Po nagraniu płyty sprawdź poprawność nagrania. Opisz płytę swoim numerem zdającego i zapakowaną w pudełku pozostaw 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ą.
Tabela 1. Wybór funkcji języka PHP do obsługi bazy MySQL 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 |

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!