Arkusz EE.09 : 2022 - styczeń - zad. 04 (php)
Oznaczenie: EE.09-04-22.01-SG Limit czasu: 150 minut
Zadanie egzaminacyjne
Wykonaj stronę rejestracji na forum miłośników psów, wykorzystując pakiet XAMPP, edytor zaznaczający składnię i edytor grafiki rastrowej.
Aby wykonać zadanie, zaloguj się na konto Egzamin bez hasła. Na pulpicie znajduje się archiwum ZIP o nazwie psy.zip zabezpieczone hasłem: !Psy!Psy!
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! 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
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
psy - Zapisz i wykonaj
zapytania SQLdziałające na bazie danychpsy. 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 JPEG i nadaj im nazwykw1,kw2,kw3,kw4. Zrzuty powinny obejmować cały ekran monitora z widocznym paskiem zadań- Zapytanie 1: tworzące tabelę
uzytkownicy. Tabela powinna zawierać- klucz główny
idtypu całkowitego dodatniego, jawnie zapisany oraz automatycznie inkrementowany, nie może przyjmować wartości pustych logintypu napisowego maksymalnie 50-znakowegohaslotypu napisowego maksymalnie 50-znakowego
- klucz główny
- Zapytanie 2: dodające do tabeli użytkownika o loginie
Grzegorzz hasłem„g”(bez szyfrowania)
- Zapytanie 1: tworzące tabelę
- Po wykonaniu zapytań
1i2zaimportuj do tabeliuzytkownicyplikuzytkownicy.sqlz rozpakowanego archiwum. Wykonaj zrzut ekranu po imporcie. Na zrzucie powinna być widoczna zawartość tabeliuzytkownicy. Zrzut zapisz w folderze z numerem PESEL lub w przypadku jego braku w folderze z innym numerem, którym został podpisany arkusz, w formacie PNG i nazwijegzamin. Nie kadruj zrzutu. Powinien on obejmować cały ekran monitora, z widocznym paskiem zadań - Po wykonaniu importu należy wykonać pozostałe
zapytania SQL- Zapytanie 3: wybierające jedynie pole
loginz tabeliuzytkownicy - Zapytanie 4: wybierające jedynie pola
idorazloginz tabeliuzytkownicydla użytkowników, których hasło zaczyna się od cyfry4
- Zapytanie 3: wybierające jedynie pole
Witryna internetowa
Obraz 1. Witryna internetowa, strona logowanie.php

Cechy grafiki:
- Obraz z pliku
obraz.jpg, wypakowany z archiwum, ma zostać odbitypoziomooraz przeskalowany z zachowaniem proporcji tak, aby jego wysokość wynosiła dokładnie500 pxi zapisany pod tą samą nazwą
Cechy witryny:
- Składa się ze stron:
logowanie.php,regulamin.html - W pliku o nazwie
regulamin.htmljest wpisany jedynie napis „regulamin”. Pozostałe wymagania dotyczą jedynie plikulogowanie.php - Zastosowany właściwy standard kodowania polskich znaków
- Tytuł strony widoczny na karcie przeglądarki:
„Forum o psach” - Arkusz stylów w pliku o nazwie
styl4.cssprawidłowo połączony z kodem strony - Podział strony na bloki:
baner, bloklewyoraz dwa blokiprawejeden pod drugim, poniżejstopka. Podział zrealizowany za pomocą znaczników sekcji tak, aby wygląd układu bloków strony po uruchomieniu w przeglądarce, był zgodny zObrazem 1 - Zawartość banera: nagłówek
pierwszegostopnia o treści „Forum wielbicieli psów” - Zawartość bloku lewego: obraz o nazwie
obraz.jpgz tekstem alternatywnym o treści „foksterier” - Zawartość pierwszego bloku prawego:
- Nagłówek
drugiegostopnia o treści „Zapisz się” - Formularz wysyłający dane do tej samej strony metodą
postz zawartością zgodną zObrazem 1- Napis „login: ”, następnie pole edycyjne
- Napis „hasło: ”, następnie pole edycyjne pozwalające na niejawne wpisanie hasła
- Napis „powtórz hasło: ”, następnie pole edycyjne pozwalające na niejawne wpisanie hasła
- Przycisk o treści „Zapisz” wysyłający dane z formularza
- Efekt działania skryptu
- Nagłówek
- Zawartość drugiego bloku prawego:
- Nagłówek
drugiegostopnia o treści „Zapraszamy wszystkich” - Lista
numerowana(uporządkowana) z elementami: „właścicieli psów”, „weterynarzy”, „tych, co chcą kupić psa”, „tych, co lubią psy” - Odnośnik do pliku
regulamin.htmlo treści „Przeczytaj regulamin forum”
- Nagłówek
- Zawartość stopki: napis o treści „Stronę wykonał: ”, dalej wstawiony
numer PESELzdającego lub w przypadku jego braku inny numer, którym został podpisany arkusz
Styl CSS witryny internetowej
Cechy formatowania CSS:
- Są zawarte wyłącznie w zewnętrznym arkuszu stylów
- Domyślne dla całej strony: krój czcionki
Garamond - Dla banera: kolor tła
SaddleBrown,białykolor czcionki, wyrównanie tekstudo środka, wysokość50 px - Dla bloku lewego: kolor tła
Tan, wysokość500 px, szerokość40% - Dla obu bloków prawych: kolor tła
Tan, wysokość250 px, szerokość60% - Dla bloku stopki: kolor tła
SaddleBrown,białykolor czcionki - Dla formularza: kolor tła
SaddleBrown,białykolor czcionki, marginesy wewnętrzne10 px(góra i dół) i30 px(lewy i prawy), szerokość300 px - Dla zastosowanych w formularzu pól: marginesy zewnętrzne
5 px - Dla paragrafu (akapitu): przed każdym paragrafem wstawiany jest tekst o treści „STATUS: ”
Skrypt
W Tabeli 1 podano wybór funkcji PHP do obsługi bazy danych oraz opis funkcji sha1. 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 nazwiepsy - Po wykonaniu operacji na bazie danych skrypt zamyka połączenie z serwerem
- Skrypt obsługuje błędy danych formularza i wyświetla komunikaty w paragrafie (akapicie):
- „wypełnij wszystkie pola”, jeżeli nie wypełniono przynajmniej jednego pola formularza
- „login występuje w bazie danych, konto nie zostało dodane”, jeżeli podany login znajduje się w bazie danych, do sprawdzenia należy posłużyć się
zapytaniem 3 - „hasła nie są takie same, konto nie zostało dodane”, jeżeli hasła wpisane do pola „hasło” oraz pola „powtórz hasło” różnią się
- W przypadku poprawnych danych skrypt
- Szyfruje hasło algorytmem
US Secure Hash Algorithm 1 - Wysyła do bazy danych
zapytanie 2zmodyfikowane w ten sposób, że w polachloginihaslosą wpisane dane pobrane z formularza (hasło powinno być zaszyfrowane) - Wyświetla w paragrafie komunikat „Konto zostało dodane”
- Szyfruje hasło algorytmem
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 |
Opis funkcji sha1, pobrany ze strony php.net, dostęp 6.11.2019

- 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 weryfikowano 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: egzamin.png, kw1.jpg, kw2.jpg, kw3.jpg, kw4.jpg, kwerendy.txt, logowanie.php, obraz.jpg, przeglądarka.txt, regulamin.html, styl4.css, ewentualnie inne przygotowane pliki.
- Po nagraniu płyty sprawdź poprawność nagrania w obecności przewodniczącego zespołu nadzorującego, na specjalnie przygotowanym do tego celu stanowisku. 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!
Zamów książki o IT sec z kodem: pasja
Można już zamawiać dwa tomy książek "Wprowadzenie do bezpieczeństwa IT". Mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności! Zamówień można dokonywać tutaj:
Tom 1 Tom 2Pomóż 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!