Arkusz EE.09 : 2020 - czerwiec - zad. 01 (php)
Oznaczenie: EE.09-01-20.06-SG Limit czasu: 150 minut
Zadanie egaminacyjne
Wykonaj aplikację internetową organizera, 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 egzamin5.zip zabezpieczone hasłem: kaL(end)arz%
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.
Obraz 1. Tabela zadania

Operacje na bazie danych
Do wykonania zadania należy użyć tabeli zadania przedstawionej na Obrazie 1.
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
egzamin6 - Do bazy
egzamin6zaimportuj tabele z plikubaza5.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 bazieegzamin6. 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
dataZadania,miesiaciwpisz tabelizadaniadla zadań, którychmiesiąctosierpień - Zapytanie 2: wybierające jedynie pola
miesiacirokz tabelizadaniadlazadaniaz datą2020-08-01 - Zapytanie 3: wybierające jedynie pole
wpisi wyświetlające jebez powtórzeń, z tabelizadaniadla wpisów kończących się literą„o” - Zapytanie 4: zmieniające pole
wpisw tabelizadaniadlazadaniaz datą2020-08-27, nowy wpis to„Wycieczka: Karkonosze”
- Zapytanie 1: wybierające jedynie pola
Witryna internetowa
Obraz 2. Witryna internetowa

Przygotowanie grafiki:
- Plik
logo2.png, wypakowany z archiwum, należy przeskalować dokładnie do wymiarów100 pxna100 px
Cechy witryny:
- Składa się ze strony o nazwie
organizer.php - Zastosowany właściwy standard kodowania polskich znaków
- Tytuł strony widoczny na karcie przeglądarki: „Organizer”
- Arkusz stylów w pliku o nazwie
styl6.cssprawidłowo połączony z kodem strony - Podział strony na bloki: trzy bloki
banera, poniżejblok główny, w którym znajdują się bloki wyświetlające dane kolejnych dni, na doleblok stopki. 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ść pierwszego bloku banera: nagłówek
drugiegostopnia o treści „MÓJ ORGANIZER” - Zawartość drugiego bloku banera: formularz wysyłający dane
metodą POSTdo tej samej strony, zawierający:- Pole edycyjne podpisane: „Wpis wydarzenia: ”
- Przycisk wysyłający zawartość formularza z etykietą „ZAPISZ”
- Zawartość trzeciego bloku banera:
logo2.pngz tekstem alternatywnym o treści: „Mój organizer” - Zawartość bloku głównego: efekt działania
skryptu 1 - Zawartość stopki:
- Efekt działania
skryptu 2 - Paragraf (akapit) o treści: „Stronę wykonał: ”, dalej wstawiony
numer PESELzdającego
- Efekt działania
Styl CSS witryny internetowej
Cechy formatowania CSS:
- Domyślne dla całej strony: krój czcionki
Georgia - Dla pierwszego i drugiego bloku banera: kolor tła
#3CB371,białykolor czcionki, wysokość100 px, szerokość40% - Dla trzeciego bloku banera: kolor tła
#3CB371, wysokość100 px, szerokość20% - Dla bloku wyświetlającego dane jednego dnia: kolor tła
#FFDAB9, szerokość170 px, wysokość90 px, marginesy zewnętrzne5 px, obramowanie o szerokości1 px, liniąciągłąo kolorze#3CB371 - Dla stopki: kolor tła
#3CB371,białykolor czcionki - Dla znacznika nagłówka szóstego stopnia: wyrównanie tekstu
do prawej strony - Dla znacznika formularza: marginesy wewnętrzne
30 px
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, w pliku
organizer.php - Skrypt łączy się z serwerem bazodanowym na
localhost, użytkownikrootbez hasła, baza danych o nazwieegzamin6 - Działanie skryptu, który odbiera dane przesłane z formularza:
- Skrypt pobiera dane z pole edycyjnego
- Następnie uaktualnia dane w bazie danych. Aby uprościć zadanie skrypt wprowadza wpis zawsze dla rekordu o dacie
2020-08-27. Do uaktualnienia danych wykorzystajzapytanie 4, modyfikując w nim wartość polawpis
Obraz 3. Pierwszy blok

- Działanie
skryptu 1:- Wysyła do bazy danych
zapytanie 1 - Definiuje blok (za pomocą znaczników sekcji), a w nim wyświetla dane przesłane skryptem dotyczące jednego wiersza. Blok jest zgodny z
obrazem 3oraz jest w nim wyświetlone:- W nagłówku
szóstegostopniadata zadaniaimiesiącoddzielone przecinkiem - Pole wpis w paragrafie (akapicie)
- W nagłówku
- Liczba wygenerowanych bloków powinna odpowiadać liczbie wierszy zwróconych zapytaniem
- Wysyła do bazy danych
- Działanie
skryptu 2:- Wysyła do bazy danych
zapytanie 2 - Wyświetla w nagłówku
pierwszegostopnia tekst: „miesiąc: <nazwa_miesiąca>, rok: <rok>”, gdzie pola w nawiasach <…> oznaczają dane pobrane skryptem - Na końcu działania skrypt zamyka połączenie z serwerem
- Wysyła do bazy danych
Tabela 1. Wybór funkcji języka PHP do obsługi bazy MySQL i MariaDB
| Funkcje biblioteki mysql | Funkcje bilioteki mysqli | Zwracana wartość |
|---|---|---|
| mysql_connect(serwer, użytkownik, hasło) | mysqli_connect(serwer, uzytkownik, haslo, nazwa_bazy) | id połączenia lub FALSE, gdy niepowodzenie |
| mysql_select_db ('nazwa_bazy' [,id_polaczenia]) | mysqli_select_db(id_polaczenia, nazwa_bazy) | TRUE / FALSE, w zależności od stanu operacji |
| mysql_error([id_polaczenia]) | mysqli_error(id_polaczenia) | Tekst komunikatu błędu |
| mysql_close([id_polaczenia]) | mysqli_close(id_polaczenia) | TRUE / FALSE, w zależności od stanu operacji |
| mysql_query(zapytanie [,id_polaczenia]) | mysqli_query(id_polaczenia, zapytanie) | Wynik zapytania |
| mysql_fetch_row (wynik_zapytania) | mysqli_fetch_row(wynik_zapytania) | Tablica numeryczna odpowiadająca wierszowi zapytania |
| mysql_fetch_array (wynik_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 |
| mysql_num_rows (wynik_zapytania) | mysqli_num_rows(wynik_zapytania) | Liczba wierszy w podanym zapytaniu |
| mysql_num_fields (wynik_zapytania) | 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: import.png, kw1.jpg, kw2.jpg, kw3.jpg, kw4.jpg, kwerendy.txt, logo2.png, organizer.php, przeglądarka.txt, styl6.css, 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!