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 SQL
dział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
id
typu całkowitego dodatniego, jawnie zapisany oraz automatycznie inkrementowany, nie może przyjmować wartości pustych login
typu napisowego maksymalnie 50-znakowegohaslo
typu napisowego maksymalnie 50-znakowego
- klucz główny
- Zapytanie 2: dodające do tabeli użytkownika o loginie
Grzegorz
z hasłem„g”
(bez szyfrowania)
- Zapytanie 1: tworzące tabelę
- Po wykonaniu zapytań
1
i2
zaimportuj do tabeliuzytkownicy
plikuzytkownicy.sql
z 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
login
z tabeliuzytkownicy
- Zapytanie 4: wybierające jedynie pola
id
orazlogin
z tabeliuzytkownicy
dla 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ć odbitypoziomo
oraz przeskalowany z zachowaniem proporcji tak, aby jego wysokość wynosiła dokładnie500 px
i zapisany pod tą samą nazwą
Cechy witryny:
- Składa się ze stron:
logowanie.php
,regulamin.html
- W pliku o nazwie
regulamin.html
jest 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.css
prawidłowo połączony z kodem strony - Podział strony na bloki:
baner
, bloklewy
oraz dwa blokiprawe
jeden 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
pierwszego
stopnia o treści „Forum wielbicieli psów” - Zawartość bloku lewego: obraz o nazwie
obraz.jpg
z tekstem alternatywnym o treści „foksterier” - Zawartość pierwszego bloku prawego:
- Nagłówek
drugiego
stopnia o treści „Zapisz się” - Formularz wysyłający dane do tej samej strony metodą
post
z 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
drugiego
stopnia 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.html
o treści „Przeczytaj regulamin forum”
- Nagłówek
- Zawartość stopki: napis o treści „Stronę wykonał: ”, dalej wstawiony
numer PESEL
zdają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ły
kolor 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ły
kolor czcionki - Dla formularza: kolor tła
SaddleBrown
,biały
kolor 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żytkownikroot
bez 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 2
zmodyfikowane w ten sposób, że w polachlogin
ihaslo
są 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!