Arkusz EE.09 : 2021 - styczeń - zad. 06 (php)
Oznaczenie: EE.09-06-21.01-SG Limit czasu: 150 minut
Zadanie egzaminacyjne
Wykonaj aplikację internetową portu lotniczego, 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 z6.zip zabezpieczone hasłem: @SaMolotY9%
Archiwum należy rozpakować.
Na pulpicie konta Egzamin utwórz folder. Jako nazwy folderu użyj swojego numeru PESEL. 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: przyloty, samoloty, odloty przedstawionych na obrazie 1.
Obraz 1. Tabele wykorzystane w zadaniu

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
egzaminzaimportuj plikegzamin.sqlz rozpakowanego archiwum - Wykonaj zrzut ekranu po imporcie. Zrzut zapisz w folderze z numerem PESEL, 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 - Zapisz i wykonaj
zapytania SQLdziałające na bazieegzamin. Zapytania zapisz w plikukwerendy.txt, w folderze z numerem PESEL. Wykonaj zrzuty ekranu przedstawiające wyniki działania kwerend. Zrzuty zapisz w formacie JPG i nadaj im nazwykw1,kw2,kw3,kw4. Zrzuty powinny obejmować cały ekran monitora z widocznym paskiem zadań- Zapytanie 1: wybierające jedynie pola
id,nr_rejsu,czas,kierunekistatus_lotuz tabeliodlotyposortowanemalejącowedługczasu - Zapytanie 2: wyznaczające najwcześniejszy (najmniejszy)
czas odlotudla lotów, którychczas odlotujest pomiędzy10:10 ÷ 10:19 - Zapytanie 3: wybierające jedynie pola
nr_rejsuz tabeliodlotyorazliniez tabelisamoloty, dla lotów których kierunkiem jestMalta; zapytanie wykorzystujerelację - Zapytanie 4: aktualizujące w tabeli
przylotypolestatus_lotuna:„planowy”dla lotu o numerze rejsuLH9829
- Zapytanie 1: wybierające jedynie pola
Witryna internetowa
Obraz 2. Witryna internetowa

Przygotowanie grafiki:
- Plik
zad6.png, wypakowany z archiwum, należy przeskalować z zachowaniem proporcji tak, aby jego wysokość wynosiła dokładnie150 px. Należy zachować przezroczystość obrazu
Cechy witryny:
- Składa się ze strony o nazwie
airport.php - Zastosowany właściwy standard kodowania polskich znaków
- Tytuł strony widoczny na karcie przeglądarki: „Odloty samolotów”
- Arkusz stylów w pliku o nazwie
styl6.cssprawidłowo połączony z kodem strony - Podział strony na bloki:
dwablokibanera, poniżej blokgłówny, następnietrzyblokistopki. Podział zrealizowany za pomocą znaczników sekcji, zgodnie zobrazem 2 - Zawartość pierwszego bloku banera: nagłówek
drugiegostopnia o treści „Odloty z lotniska” - Zawartość drugiego bloku banera: obraz
zad6.pngz tekstem alternatywnym „logotyp” - Zawartość bloku głównego:
- Nagłówek
czwartegostopnia o treści: „tabela odlotów” - Tabela o
pięciukolumnach - Nagłówki kolumn mają podpisy: „lp.”, „numer rejsu”, „czas”, „kierunek”, „status”
- Zawartość tabeli jest wypełniana
skryptem 1
- Nagłówek
- Zawartość pierwszego bloku stopki:
- Odnośnik o treści „Pobierz obraz” otwierający plik
kw1.jpgw nowym oknie
- Odnośnik o treści „Pobierz obraz” otwierający plik
- Zawartość drugiego bloku stopki: efekt działania
skryptu 2 - Zawartość trzeciego bloku stopki: tekst: „Autor: ”, dalej wstawiony
numer PESELzdającego
Styl CSS witryny internetowej
Cechy formatowania CSS:
- Dla pierwszego bloku banera: wyrównanie tekstu
do środka, szerokość75%, wysokość150 px, rozmiar czcionki200% - Dla drugiego bloku banera: szerokość
25%, wysokość150 px - Dla bloku głównego: tło koloru
RGB 128, 0, 0; marginesy wewnętrzne50 px, tekstwielkimi literami(niezależnie od tego jak tekst został zapisany w HTML, wymagana transformacja na wielkie litery) - Dla pierwszego i trzeciego bloku stopki: szerokość
20%, margines wewnętrzny górny:90 px(tylko górny) - Dla drugiego bloku stopki: wyrównanie tekstu
do środka, szerokość60% - Dla selektora body: krój czcionki
Arial, kolor tłaRGB 244, 164, 96;białykolor czcionki - Dla selektora paragrafu (akapitu): rozmiar czcionki
150%, obramowanie2 px, liniąkropkowanąkoloruRGB 169, 169, 169 - W momencie najechania kursorem na paragraf, jego kolor tła zmienia się na
RGB 169, 169, 169 - Dla selektora tabeli: szerokość
100%, obramowanie tabeli i komórki ma byćpołączone(collapse) - Dla selektora komórki danych i komórki nagłówkowej tabeli: obramowanie
1 px, liniąciągłąo kolorzeRGB 192, 192, 192; marginesy wewnętrzne5 px
Skrypt połączenia z bazą
W tabeli 1 podano wybór funkcji PHP do obsługi bazy danych. Wymagania dotyczące skryptów:
- Oba skrypty napisane w języku PHP, w pliku
airport.php - Działanie skryptu 1:
- Skrypt łączy się z serwerem bazodanowym na
localhost, użytkownikrootbez hasła, baza danych o nazwieegzamin - Skrypt wysyła do bazy danych
zapytanie 1 - Dane otrzymane z bazy są umieszczane w kolejnych wierszach tabeli, w odpowiednich komórkach, tak jak na
Obrazie 2 - Po wykonaniu operacji na bazie skrypt zamyka połączenie z serwerem
- Skrypt łączy się z serwerem bazodanowym na
- Działanie skryptu 2:
- W oparciu o mechanizm
ciasteczekskrypt wypisuje na stronie komunikaty:- Gdy odwiedzający wejdzie na stronę pierwszy raz zakładane jest ciasteczko z czasem trwania
1 godzinaod utworzenia oraz wyświetlany jest wparagrafie, czcionkąpochyloną, komunikat: „Dzień dobry! Sprawdź regulamin naszej strony” - Jeżeli odwiedzający w ciągu godziny od poprzedniego wejścia wejdzie ponownie na stronę wyświetlany jest w
paragrafie, czcionkąpogrubioną, komunikat „Miło nam, że nas znowu odwiedziłeś”
- Gdy odwiedzający wejdzie na stronę pierwszy raz zakładane jest ciasteczko z czasem trwania
- W oparciu o mechanizm
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 |

- UWAGA!
- Po zakończeniu pracy utwórz plik tekstowy. Zapisz w nim nazwę przeglądarki internetowej, w której weryfikowałeś poprawność działania witryny, zapisz go w folderze z numerem PESEL, jako przeglądarka.txt.
- Nagraj płytę z rezultatami pracy. W folderze z numerem PESEL powinny się znajdować pliki: airport.php, import.png, kw1.jpg, kw2.jpg, kw3.jpg, kw4.jpg, kwerendy.txt, przeglądarka.txt, styl6.css, zad6.png, ewentualnie inne przygotowane pliki.
- Po nagraniu płyty sprawdź poprawność nagrania. Opisz płytę swoim numerem PESEL 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ą.

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!