Arkusz EE.09 : 2020 - czerwiec - zad. 02 (php)
Oznaczenie: EE.09-02-20.06-SG Limit czasu: 150 minut
Zadanie egzaminacyjne
Wykonaj aplikację internetową biura podróży, 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 podroze.zip zabezpieczone hasłem: &poDrozE$
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 wycieczki i zdjecia przedstawione na Obrazie 1. Wycieczka jest dostępna, jeśli pole dostepna przyjmuje wartość TRUE
Obraz 1. Tabele wycieczki i zdjecia

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
egzamin3 - Do bazy
egzamin3zaimportuj tabele z plikuegzamin3.sqlz rozpakowanego archiwum - Wykonaj zrzut ekranu po imporcie. Zrzut zapisz w formacie PNG pod nazwą
importw folderze z numerem PESEL. Nie kadruj zrzutu. Zrzut powinien 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 bazieegzamin3. Zapytania zapisz w plikukwerendy.txt, w folderze z numerem PESEL. Wykonaj zrzuty ekranu przedstawiające wyniki działania kwerend. Zrzuty zapisz w formacie JPEG 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,dataWyjazdu,celicenaz tabeliwycieczkidla dostępnych wycieczek (poledostepna) - Zapytanie 2: wybierające jedynie pola
nazwaPlikuipodpisz tabelizdjecia, sortując je rosnąco alfabetycznie według kolumnypodpis - Zapytanie 3: wykorzystujące
relacjęi wybierające jedynie polanazwaPlikuicelzwiązany ze zdjęciem z tabelzdjeciaiwycieczki, dla wycieczek, którychcenajest wyższa niż1000 zł - Zapytanie 4: dodające do tabeli
wycieczkipoledataPrzyjazdutypudata, pole powinno być wstawione po poludataWyjazdu
- Zapytanie 1: wybierające jedynie pola
Witryna internetowa
Obraz 2. Witryna internetowa, kursor wskazuje środkowy obrazek, co spowodowało ustawienie tła

Cechy witryny:
- Składa się ze strony o nazwie
wycieczki.php - Zastosowany właściwy standard kodowania polskich znaków
- Tytuł strony widoczny na karcie przeglądarki: „Wycieczki i urlopy”
- Arkusz stylów w pliku o nazwie
styl3.cssprawidłowo połączony z kodem strony - Podział strony na bloki: na górze
baner, poniżej obok siebie trzy bloki:lewy,środkowyiprawy, poniżej blok z danymi, poniżejstopka. Podział zrealizowany za pomocą znaczników sekcji tak, aby po uruchomieniu w przeglądarce wygląd układu bloków był zgodny zObrazem 2 - Zawartość banera: nagłówek
pierwszegostopnia o treści: „BIURO PODRÓŻY” - Zawartość lewego bloku:
- Nagłówek
drugiegostopnia o treści: „KONTAKT” - Odnośnik do adresu e-mail
biuro@wycieczki.plo treści: „napisz do nas” - Paragraf (akapit) o treści: „telefon: 555666777”
- Nagłówek
- Zawartość środkowego bloku:
- Nagłówek
drugiegostopnia o treści: „GALERIA” - Efekt działania
skryptu 1
- Nagłówek
- Zawartość prawego bloku:
- Nagłówek
drugiegostopnia o treści: „PROMOCJE” - Tabela o
trzechkolumnach idwóchwierszach wypełniona danymi:
- Nagłówek

- Zawartość bloku z danymi:
- Nagłówek
drugiegostopnia o treści „LISTA WYCIECZEK” - Efekt działania
skryptu 2
- Nagłówek
- Zawartość stopki: akapit (paragraf) o treści: „Stronę wykonał: ”, dalej wstawiony
numer PESELzdającego
Styl CSS witryny internetowej
Cechy formatowania CSS, działające na stronie:
- Domyślne dla całej strony: krój czcionki
Verdana - Wspólne dla banera i stopki: kolor tła
RGB 205, 92, 92;białykolor czcionki, wyrównanie tekstudo środka, marginesy wewnętrzne5 px - Dla bloku lewego i prawego: kolor tła
RGB 250, 235, 215; szerokość25%, wysokość500 px - Dla bloku środkowego: kolor tła
RGB 250, 235, 215; szerokość50%, wysokość500 px - Dla bloku z danymi: kolor tła
RGB 210, 180, 140;białykolor czcionki - Dla znacznika nagłówka drugiego stopnia: wyrównanie tekstu
do środka - Dla pierwszej litery nagłówka drugiego stopnia (pseudoelement): rozmiar czcionki
150% - Dla obrazu: wysokość
100 px, marginesy wewnętrzne7 px - W momencie, gdy kursor znajduje się na obrazie, styl obrazu zmienia się na: kolor tła
RGB 210, 180, 140(efekt ten jest widoczny naObrazie 2)
Skrypt połączenia z bazą
W tabeli 1 podano wybór funkcji PHP do obsługi bazy danych. Wymagania dotyczące skryptu:
- Napisany w języku PHP
- Łączy się z serwerem bazodanowym na
localhost, użytkownikrootbez hasła, baza danych o nazwieegzamin3 - Skrypt 1
- Wysyła do bazy danych
zapytanie 2 - Dane z każdego zwróconego zapytaniem wiersza są wykorzystane do wyświetlenia kolejnych obrazów, w ten sposób, że pole
nazwaPlikujest źródłem obrazu, a polepodpisjest tekstem alternatywnym obrazu
- Wysyła do bazy danych
- Skrypt 2
- Wysyła do bazy danych
zapytanie 1 - Każdy zwrócony zapytaniem wiersz jest wyświetlany w osobnej linii, według wzoru: „<id>. <dataWyjazdu>, <cel>, cena: <cena>”, gdzie w znakach < > zapisano pola zwracane zapytaniem
- Wysyła do bazy danych
- Na końcu działania skrypt zamyka połączenie z serwerem
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. Nazwij plik przeglądarka.txt i zapisz go w folderze z numerem PESEL.
- Nagraj płytę z rezultatami pracy. W folderze z numerem PESEL powinny się znajdować następujące pliki: 1.jpg, 2.jpg, 3.jpg, 4.jpg, 5.jpg, 6.jpg, 7.jpg, 8.jpg, 9.jpg, import.png, kw1.jpg, kw2.jpg, kw3.jpg, kw4.jpg, kwerendy.txt, przeglądarka.txt, styl3.css, wycieczki.php 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!