Arkusz EE.09 : 2021 - czerwiec - zad. 02 (php)
Oznaczenie: EE.09-02-21.06-SG Limit czasu: 150 minut
Zadanie egzaminacyjne
Wykonaj stronę prezentującą produkty w sklepie, wykorzystując pakiet XAMPP oraz edytor zaznaczający składnię oraz edytor grafiki rastrowej.
Aby wykonać zadanie, zaloguj się na konto Egzamin bez hasła. Na pulpicie znajduje się archiwum ZIP o nazwie warzywniak.zip zabezpieczone hasłem: #Warzywni@czeK
Należy utworzyć folder o nazwie odpowiadającej numerowi PESEL zdającego lub w przypadku jego braku innemu numerowi, którym został podpisany arkusz. Archiwum należy rozpakować do tego folderu.
Ważne! Aby strona działała poprawnie rozpakowane pliki muszą znaleźć się w tym samym folderze, co pliki strony. Wszystkie wykonane w czasie egzaminu pliki w tym zrzuty ekranu, pliki strony, stylów należy umieścić w tym folderze.
Operacje na bazie danych
Do wykonania operacji na bazie należy wykorzystać tabele produkty, producenci oraz rodzaje przedstawione na Obrazie 1.
Obraz 1. Tabele bazy danych

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
dane2 - Do bazy
dane2zaimportuj plikdane.sqlz rozpakowanego archiwum - Wykonaj zrzut ekranu po imporcie. Zrzut zapisz w folderze z numerem PESEL lub w przypadku jego braku w folderze z innym numerem, którym został podpisany arkusz, w formacie JPEG i nazwij
egzamin. 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 baziedane2. Zapytania zapisz w plikukwerendy.txt, w folderze z numerem PESEL lub w przypadku jego braku w folderze z innym numerem, którym został podpisany arkusz. Wykonaj zrzuty ekranu przedstawiające wyniki działania kwerend. Zrzuty zapisz w formacie PNG i nadaj im nazwykw1,kw2,kw3,kw4. Zrzuty powinny obejmować cały ekran monitora z widocznym paskiem zadań- Zapytanie 1: wybierające jedynie pola
nazwa,ilosc,opis,cena,zdjeciez tabeliProdukty, dla produktów, których poleRodzaje_idprzyjmuje jedną z wartości:1,2 - Zapytanie 2: wybierające jedynie
nazwę produktuz tabeliProduktyi odpowiadającą munazwę producentaz tabeliProducencidla produktów, dla którychilośćjest mniejsza od10oraz poleRodzaje_idprzyjmuje wartość1 - Zapytanie 3: tworzące użytkownika
annaz hasłem@nna23 - Zapytanie 4: wstawiające wiersz do tabeli
Produktywedług specyfikacji:- klucz główny nadany automatycznie
Rodzaje_id–idwiersza z nazwąowocew tabeliRodzaje- Producenci_id –
idwiersza z nazwąwarzywa-rolnikw tabeliProducenci - pozostałe dane: nazwa:
owoc1, ilość:10, opis: puste pole, cena:9,99, zdjecie:owoce.jpg
- Zapytanie 1: wybierające jedynie pola
Witryna internetowa
Obraz 2. Witryna internetowa

Cechy grafiki:
- Plik
arbuz.jpg, wypakowany z archiwum, należy skadrować do proporcji 3:2, a następnie przeskalować z zachowaniem proporcji do rozmiaru300 pxna200 px
Pozostałe pliki graficzne są przygotowane i nie należy ich zmieniać.
Cechy witryny:
- Składa się ze strony o nazwie
sklep.php - Zastosowany właściwy standard kodowania polskich znaków
- Tytuł strony widoczny na karcie przeglądarki: „Warzywniak”
- Arkusz stylów w pliku o nazwie
styl2.cssprawidłowo połączony z kodem strony - Podział strony na bloki: dwa bloki
baneraobok siebie, blokgłównyistopka. W bloku głównym znajdują się bloki produktów generowane przez skrypt. Podział zrealizowany za pomocą znaczników sekcji tak, aby wygląd układu bloków strony po uruchomieniu w przeglądarce, był zgodny zObrazem 2 - Zawartość banera lewego: nagłówek
pierwszegostopnia o treści „Internetowy sklep z eko-warzywami” - Zawartość banera prawego:
- Lista
numerowana(uporządkowana) z elementami:warzywa,owoce,soki - Element
sokijest odnośnikiem prowadzącym do strony o adresie:https://terapiasokami.pl/, odnośnik otwiera się wosobnymoknie
- Lista
- Zawartość bloku głównego: efekt działania
skryptu 1 - Zawartość stopki:
- Formularz wysyłający dane do tego samego pliku metodą
POSTz zawartością:- Pole edycyjne poprzedzone wpisem „Nazwa:”
- Pole edycyjne poprzedzone wpisem „Cena:”
- Przycisk „Dodaj produkt” wysyłający dane do
skryptu 2
- Napis o treści „Stronę wykonał: ”, dalej wstawiony
numer PESELzdającego lub w przypadku jego braku inny numer, którym został podpisany arkusz
- Formularz wysyłający dane do tego samego pliku metodą
Styl CSS witryny internetowej
Cechy formatowania CSS:
- Domyślne dla całej strony: krój czcionki
Garamond - Dla banera lewego: kolor tła
#00600F,białykolor czcionki, wyrównanie tekstudo środka, szerokość75%, wysokość90 px - Dla banera prawego: kolor tła
#00600F,białykolor czcionki, szerokość25%, wysokość90 px - Dla bloku głównego: kolor tła
#C8E6C9, wysokość600 px, paski przesuwania (scroll) - Dla stopki: kolor tła
#00600F,białykolor czcionki - Dla selektora nagłówka piątego stopnia: kolor tła
#00600F,białykolor czcionki, rozmiar czcionki200%, wyrównanie tekstudo środka, marginesy zewnętrzne0 px - Dla selektora nagłówka drugiego stopnia: wyrównanie tekstu
do prawej - Dla bloku produktu generowanego przez skrypt 1: marginesy zewnętrzne
10 px, obramowanie liniaciągła1 pxw kolorze#00600F, szerokość300 px
Skrypt
W Tabeli 1 podano wybór funkcji PHP do obsługi bazy danych. Wymagania dotyczące skryptu:
- Napisany w języku PHP
- Skrypt łączy się z serwerem bazy danych na
localhost, użytkownikrootbez hasła, baza danych o nazwiedane2 - Po wykonaniu operacji na bazie danych skrypt zamyka połączenie z serwerem
- Działanie skryptu 1
- Wysyła do bazy
zapytanie 1 - Dla każdego zwróconego zapytaniem wiersza tworzy blok produktu, w którym znajdują się:
- Obraz o nazwie pobranej z bazy danych i tekście alternatywnym
„warzywniak” - Nagłówek
piątegostopnia z nazwą pobraną z bazy - Paragraf (akapit) o treści „opis: <opis>”
- Paragraf o treści „na stanie: <ilosc>”
- Nagłówek
drugiegostopnia o treści „<cena> zł”, gdzie pola umieszczone w nawiasach < > oznaczają dane pobrane z bazy danych
- Obraz o nazwie pobranej z bazy danych i tekście alternatywnym
- Wysyła do bazy
- Działanie skryptu 2
- Jeśli wypełniono formularz, pobiera z niego dane
- Wysyła zmodyfikowane
zapytanie 4do bazy danych. Danenazwaicenasą pobrane z formularza, reszta danychzapytania 4nie ulega zmianie
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 w folderze z numerem PESEL lub w przypadku jego braku w folderze z innym numerem, którym został podpisany arkusz plik tekstowy o nazwie przeglądarka.txt. Zapisz w nim nazwę przeglądarki internetowej, w której weryfikowałeś poprawność działania witryny.
- Nagraj płytę z rezultatami pracy. W folderze z numerem PESEL lub w przypadku jego braku w folderze z innym numerem, którym został podpisany arkusz powinny się znajdować pliki: arbuz.jpg, egzamin.jpg, gruszka.jpg, koper.jpg, kw1.png, kw2.png, kw3.png, kw4.png, kwerendy.txt, marchew.jpg, morela.jpg, owoce.jpg, papaja.jpg, papryka.jpg, przeglądarka.txt, sklep.php, styl2.css, ziemniak.jpg, ewentualnie inne przygotowane pliki.
- Po nagraniu płyty sprawdź poprawność nagrania. Opisz płytę swoim numerem PESEL lub w przypadku jego braku innym numerem, którym został podpisany arkusz i pozostaw na stanowisku, zapakowaną w pudełku 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.

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!