Serwis używa plików cookies do analizy ruchu i poprawy działania. Szczegóły
EE.09-02-20.06-SGCzerwiec 2020 · 28 kroków · ok. 62 min · 32 kryteria z klucza
Rozwiązanie krok po kroku: Biuro podróży z galerią zdjęć (Nowoczesny kod (flex, PDO))
To drugi sposób rozwiązania tego samego arkusza. Wynik jest ten sam - baza egzamin3 z czterema zapytaniami oraz strona wycieczki.php z banerem, kontaktem, galerią, promocjami, listą wycieczek i stopką - i tak samo spełnia każde kryterium klucza. Inna jest droga:
flexbox zamiast float: trzy bloki stoją w znaczniku <main> ułożonym we flexie, więc blok z danymi nie potrzebuje clear,
semantyczne znaczniki: baner w <header>, stopka w <footer>, kontakt w <address>,
zmienne CSS dla trzech kolorów z arkusza (brązowy wraca w bloku z danymi i pod zdjęciem wskazanym kursorem),
PHP na PDO na górze pliku wycieczki.php, przed HTML-em - w blokach zostają tylko pętle i wypisywanie danych przez htmlspecialchars,
obsługa błędu bazy: zamiast ostrzeżeń PHP uczeń zobaczy zrozumiały komunikat, a reszta strony się wyświetli.
To arkusz EE.09 z czerwca 2020 - kwalifikacji formuły 2017, którą zastąpiła INF.03. Baza i zdjęcia pochodzą z oryginalnego archiwum CKE egzamin3.zip (załącznik na stronie arkusza), zapytania i zrzuty są policzone na MariaDB 10.4, a podgląd od kroków z PHP to wynik prawdziwego uruchomienia kodu w PHP 8.2.
Jak liczą się punkty. Klucz ma 32 kryteria (R.1.1 - R.5.6), każde za 1 punkt. Próg zdania części praktycznej to 75%, czyli 24 punkty. Przy każdym kroku jest napisane, które kryteria spełnia; klucz przyjmuje zarówno mysqli, jak i PDO.
Suwak i strzałki obok niego - albo ←→ na klawiaturze - przechodzą krok po kroku; wyjaśnienie, pliki i podgląd zmieniają się razem z krokiem.
Lista „Etap” przenosi od razu do wybranego etapu.
„Rozwiązuję samodzielnie” chowa rozwiązanie kroku - najpierw własna próba, potem odsłonięcie.
„Tryb prezentacji” pokazuje same kroki, bez menu strony - na rzutnik.
Etap 1: Baza danych
Kroki 1-7 · po tym etapie masz 6 z 32 kryteriów (pkt)
Krok 1: Folder zdającego i archiwum egzamin3.zip
ok. 2 min
Polecenie z arkusza
Na pulpicie znajdziesz archiwum ZIP o nazwie egzamin3.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.
Folder na pulpicie nazwany numerem PESEL (w tym rozwiązaniu w jego miejscu stoi Bartosz Bryniarski), do niego archiwum egzamin3.zip rozpakowane z hasłem &poDrozE$. W środku: egzamin3.sql i zdjęcia 1.jpg - 9.jpg. Do tego folderu trafiają wszystkie rezultaty pracy.
Krok 2: XAMPP i pusta baza egzamin3
ok. 2 min
Polecenie z arkusza
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
Start przy Apache i MySQL, potem http://localhost/phpmyadmin, Nowa, nazwa egzamin3.
Krok 3: Import pliku egzamin3.sql i zrzut import.png
Kryteria:
R.1.1 Wykonano import tabel do bazy danych egzamin3 , czynność udokumentowano plikiem o nazwie import w formacie PNG. Zrzut zawiera cały obszar ekranu z widocznym paskiem zadań
ok. 3 min
Polecenie z arkusza
Do bazy egzamin3 zaimportuj tabele z pliku egzamin3.sql z rozpakowanego archiwum. Wykonaj zrzut ekranu po imporcie. Zrzut zapisz w formacie PNG pod nazwą import w 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
Baza egzamin3, karta Import, plik egzamin3.sql, Wykonaj. Powstaje osiem tabel - w zadaniu potrzebne są tylko wycieczki i zdjecia. Pole zdjecia_id w wycieczkach wskazuje id zdjęcia, a dostepna ma wartość 1 albo 0. Zrzut całego ekranu z paskiem zadań: import.png.
Podgląd strony po tym kroku
Krok 4: Zapytanie 1: dostępne wycieczki
Kryteria: ,
R.1.2 Zapisano plik tekstowy o nazwie kwerendy zawierający co najmniej jedno zapytanie SQL, wynikające z treści zadania
R.1.3 Utworzono zapytanie 1 wybierające jedynie pola id, dataWyjazdu, cel i cena z tabeli wycieczki jedynie dla dostępnych wycieczek. W pliku z kwerendami lub na zrzucie istnieje zapis np.: SELECT id, dataWyjazdu, cel, cena FROM wycieczki WHERE dostepna = TRUE; (lub = 1) oraz wynik działania zapytania udokumentowano zrzutem, na którym widocznych jest dokładnie 6 rekordów dla id równego 1, 2, 3, 4, 6, 9; widoczne jedynie pola id, dataWyjazdu, cel i cena
ok. 3 min
Polecenie z arkusza
Zapytanie 1: wybierające jedynie pola id, dataWyjazdu, cel i cena z tabeli wycieczki dla dostępnych wycieczek (pole dostepna)
Cztery kolumny w kolejności, w której skrypt je wypisze, i warunek dostepna = TRUE (w MariaDB TRUE to 1). Wynik: 6 wierszy o id 1, 2, 3, 4, 6 i 9. Zapytanie trafia do kwerendy.txt, zrzut - do kw1.jpg. Każda klauzula w osobnej linii: przy dłuższych zapytaniach łatwiej znaleźć błąd.
Krok 5: Zapytanie 2: zdjęcia posortowane po podpisie
Kryteria:
R.1.4 Utworzono zapytanie 2 wybierające jedynie pola nazwaPliku i podpis z tabeli zdjecia sortując je rosnąco alfabetycznie według pola podpis. W pliku z kwerendami lub na zrzucie istnieje zapis np.: SELECT nazwaPliku, podpis FROM zdjecia ORDER BY podpis; (opcjonalnie ASC) oraz wynik działania zapytania udokumentowano zrzutem, na którym widocznych jest dokładnie 9 rekordów posortowanych rosnąco alfabetycznie według kolumny podpis jedynie pola nazwaPliku i podpis
ok. 2 min
Polecenie z arkusza
Zapytanie 2: wybierające jedynie pola nazwaPliku i podpis z tabeli zdjecia, sortując je rosnąco alfabetycznie według kolumny podpis
ORDER BY podpis - domyślnie rosnąco. Wynik: 9 wierszy, od Barcelony do Wenecji. Zrzut: kw2.jpg. To zapytanie zasili galerię.
Krok 6: Zapytanie 3: relacja zdjęć i drogich wycieczek
Kryteria:
R.1.5 Utworzono zapytanie 3 wykorzystujące relację i wybierające jedynie pola nazwaPliku i cel związany ze zdjęciem z tabel zdjecia i wycieczki , dla wycieczek, których cena jest wyższa niż 1000 zł. W pliku z kwerendami lub na zrzucie istnieje zapis np.: SELECT nazwaPliku, cel FROM zdjecia JOIN wycieczki ON zdjecia.id = wycieczki.zdjecia_id WHERE cena > 1000; możliwe też INNER JOIN lub SELECT nazwaPliku, cel FROM zdjecia, wycieczki WHERE zdjecia.id = wycieczki.zdjecia_id AND cena > 1000; oraz wynik działania zapytania udokumentowano zrzutem, na którym widocznych jest dokładnie 8 rekordów, jedynie pola nazwaPliku i cel z danymi: dwukrotnie Włochy, Wenecja; trzykrotnie Francja, Paryz; trzykrotnie Hiszpania, Barcelona
ok. 3 min
Polecenie z arkusza
Zapytanie 3: wykorzystujące relację i wybierające jedynie pola nazwaPliku i cel związany ze zdjęciem z tabel zdjecia i wycieczki, dla wycieczek, których cena jest wyższa niż 1000 zł
JOIN ... ON zdjecia.id = wycieczki.zdjecia_id łączy każdą wycieczkę z jej zdjęciem, WHERE cena > 1000 zostawia droższe niż 1000 zł. Wynik: 8 wierszy - dwa razy Wenecja, trzy razy Paryż i trzy razy Barcelona. Zrzut: kw3.jpg.
R.1.6 Utworzono zapytanie 4 dodające do tabeli wycieczki pole dataPrzyjazdu typu date, pole powinno być wstawione po polu dataWyjazdu. W pliku z kwerendami lub na zrzucie istnieje zapis np.: ALTER TABLE wycieczki ADD dataPrzyjazdu DATE AFTER dataWyjazdu; lub ADD COLUMN oraz wynik działania zapytania udokumentowano zrzutem wskazującym na dodanie kolumny dataPrzyjazdu z typem DATE po polu dataWyjazdu
ok. 2 min
Polecenie z arkusza
Zapytanie 4: dodające do tabeli wycieczki pole dataPrzyjazdu typu data, pole powinno być wstawione po polu dataWyjazdu
ALTER TABLE ... ADD dataPrzyjazdu DATE AFTER dataWyjazdu - nowa kolumna typu data zaraz po dacie wyjazdu. Karta Struktura pokazuje ją na czwartym miejscu; jej zrzut to kw4.jpg.
kwerendy.txtTekstzmienione: 4 linie
-- Zapytanie 1SELECT id, dataWyjazdu, cel, cenaFROM wycieczkiWHERE dostepna = TRUE;-- Zapytanie 2SELECT nazwaPliku, podpisFROM zdjeciaORDER BY podpis;-- Zapytanie 3SELECT nazwaPliku, celFROM zdjeciaJOIN wycieczki ON zdjecia.id = wycieczki.zdjecia_idWHERE cena > 1000;-- Zapytanie 4ALTER TABLE wycieczkiADD dataPrzyjazdu DATE AFTER dataWyjazdu;
Podgląd strony po tym kroku
Etap 2: Strona HTML
Kroki 8-14 · po tym etapie masz 14 z 32 kryteriów (pkt)
Krok 8: Plik wycieczki.php i kodowanie znaków
Kryteria: ,
R.2.1 Witrynę internetową zapisano w pliku PHP o nazwie wycieczki
R.2.2 Zastosowano właściwy standard kodowania polskich znaków dla witryny
ok. 1 min
Polecenie z arkusza
Składa się ze strony o nazwie wycieczki.php. Zastosowany właściwy standard kodowania polskich znaków
Szkielet HTML5 w pliku wycieczki.php: lang="pl", <meta charset="UTF-8"> jako pierwszy element <head> (plik zapisany w UTF-8) i <meta name="viewport"> - bez niego telefon pokazałby stronę pomniejszoną jak na monitorze (R.2.1, R.2.2).
R.3.3 Strona zawiera działające połączenie z zewnętrznym arkuszem stylów o nazwie styl3.css , formatowanie pochodzi jedynie z tego arkusza Uwaga: kryterium to nie jest spełnione również, gdy zdający źle przypisał co najmniej jeden selektor do bloku (np. kropka zamiast #)
ok. 1 min
Polecenie z arkusza
Tytuł strony widoczny na karcie przeglądarki: „Wycieczki i urlopy”. Arkusz stylów w pliku o nazwie styl3.css prawidłowo połączony z kodem strony
<title> z napisem na karcie przeglądarki (R.2.3) i <link rel="stylesheet" href="styl3.css"> - całe formatowanie pochodzi z tego pliku, bez atrybutów style w HTML-u (R.3.3).
wycieczki.phpPHPzmienione: 2 linie
<!DOCTYPE html><htmllang="pl"><head> <metacharset="UTF-8"> <metaname="viewport"content="width=device-width, initial-scale=1"> <title>Wycieczki i urlopy</title> <linkrel="stylesheet"href="styl3.css"></head><body></body></html>
Podgląd strony po tym kroku (wycieczki.php)
Krok 10: Bloki strony i nagłówek banera
Kryteria:
R.2.4 Wygląd strony zdefiniowano dzieląc ją na bloki: na górze baner, poniżej trzy bloki obok siebie: lewy, środkowy i prawy, poniżej blok z danymi, poniżej stopka. Zastosowano znaczniki sekcji
ok. 2 min
Polecenie z arkusza
Podział strony na bloki: na górze baner, poniżej obok siebie trzy bloki: lewy, środkowy i prawy, poniżej blok z danymi, poniżej stopka. Zawartość banera: nagłówek pierwszego stopnia o treści: „BIURO PODRÓŻY”
Znaczniki mówią, czym jest każda część strony:
<header> - baner z jedynym na stronie <h1>,
<main> - główna treść, w nim trzy bloki jako <section> z identyfikatorami left, center, right,
<section id="data"> - blok z danymi (lista wycieczek),
<footer> - stopka.
Klucz wymaga znaczników sekcji (R.2.4): są nimi trzy bloki w <main> i blok z danymi. Znacznik <main> nie zmienia wyglądu, ale pozwoli ustawić trzy bloki w rzędzie jedną regułą CSS.
Krok 11: Nagłówki drugiego stopnia w czterech blokach
ok. 2 min
Polecenie z arkusza
Zawartość lewego bloku: Nagłówek drugiego stopnia o treści: „KONTAKT”. Zawartość środkowego bloku: Nagłówek drugiego stopnia o treści: „GALERIA”. Zawartość prawego bloku: Nagłówek drugiego stopnia o treści: „PROMOCJE”. Zawartość bloku z danymi: Nagłówek drugiego stopnia o treści „LISTA WYCIECZEK”
Cztery <h2> - po jednym w każdym bloku. Hierarchia nagłówków jest spójna: jeden <h1> dla całej strony, <h2> dla jej części.
R.2.6 W bloku prawym umieszczono tabelę o 3 kolumnach i 2 wierszach. Kolejno pierwszy wiersz: Jesień, Grupa 4+, Grupa 10+; drugi wiersz: 5%, 10%, 15%; zastosowano znaczniki <table>, <tr>, <td> oraz ich zamknięcia
ok. 2 min
Polecenie z arkusza
Tabela o trzech kolumnach i dwóch wierszach wypełniona danymi: Jesień, Grupa 4+, Grupa 10+, 5%, 10%, 15%
Dwa wiersze <tr> po trzy komórki <td>. Pierwszy wiersz wygląda na nagłówek tabeli i semantycznie pasowałby do niego <th>, ale klucz wymienia wprost <table>, <tr>, <td> (R.2.6) - przy tak sformułowanym kryterium bezpieczniej trzymać się komórek <td>.
R.2.5 W bloku banera zapisano nagłówek h1: "BIURO PODRÓŻY" oraz w blokach lewym, środkowym i prawym nagłówki h2: "KONTAKT", "GALERIA", "PROMOCJE" oraz w bloku z danymi nagłówek h2: "LISTA WYCIECZEK" oraz przynajmniej jeden paragraf (znacznik <p>)
ok. 1 min
Polecenie z arkusza
Zawartość stopki: akapit (paragraf) o treści: „Stronę wykonał: ”, dalej wstawiony numer PESEL zdającego
Na egzaminie numer PESEL, tu w jego miejscu Bartosz Bryniarski. Strona ma teraz <h1>, cztery <h2> i paragrafy (R.2.5).
Kroki 15-22 · po tym etapie masz 25 z 32 kryteriów (pkt)
Krok 15: Plik styl3.css: kolory z arkusza w zmiennych
ok. 2 min
Arkusz używa trzech kolorów, a brązowy rgb(210, 180, 140) wraca dwa razy: w bloku z danymi i pod zdjęciem wskazanym kursorem. Zmienne CSS w :root dają kolorom nazwy - var(--brown) czyta się łatwiej niż trzy liczby, a zmiana odcienia to jedna linia. Klucz sprawdza wartość koloru; przez zmienną dociera ona do elementu tak samo jak wpisana wprost.
R.4.4 Ustawiono wysokość bloku lewego, środkowego i prawego 500px
R.4.5 Ustawiono szerokość bloku lewego i prawego 25% oraz środkowego 50%
ok. 3 min
Polecenie z arkusza
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
display: flex na <main> ustawia jego dzieci - trzy bloki - w jednym rzędzie, bez float,
wspólne tło i wysokość w jednej regule, szerokości osobno: 25% + 50% + 25% = 100%.
Szerokości zostają na blokach: klucz z 2020 roku sprawdza szerokość ustawioną dla bloku (R.4.5), a nie podział kolumn rodzica. Wysokość trzech bloków daje R.4.4.
R.4.2 Ustawiono kolor tła rgb(205, 92, 92) dla bloków banera i stopki oraz rgb(250, 235, 215) dla bloków lewego, środkowego i prawego oraz rgb(210, 180, 140) dla bloku z danymi
R.4.3 Ustawiono biały kolor czcionki dla banera, stopki i bloku z danymi
ok. 1 min
Polecenie z arkusza
Dla bloku z danymi: kolor tła RGB 210, 180, 140; biały kolor czcionki
Blok z danymi stoi pod <main> bez żadnego clear - flex, inaczej niż pływające bloki, ma swoją wysokość. Tła wszystkich bloków (R.4.2) i biały tekst w banerze, stopce i bloku z danymi (R.4.3) są ustawione.
R.4.6 Ustawiono wyrównanie tekstu do środka dla banera i stopki oraz znacznika h2
R.4.8 Ustawiono styl pierwszej litery znacznika h2 (pseudoelement first-letter): rozmiar czcionki 150%
ok. 1 min
Polecenie z arkusza
Dla znacznika nagłówka drugiego stopnia: wyrównanie tekstu do środka. Dla pierwszej litery nagłówka drugiego stopnia (pseudoelement): rozmiar czcionki 150%
text-align: center dla h2 (razem z banerem i stopką R.4.6) i pseudoelement ::first-letter - pierwsza litera o połowę większa od reszty nagłówka (R.4.8).
R.4.9 Ustawiono styl obrazu: wysokość 100px, marginesy wewnętrzne (padding) 7px
R.4.10 Ustawiono styl obrazu z pseudoklasą hover: kolor tła rgb(210, 180, 140)
ok. 1 min
Polecenie z arkusza
Dla obrazu: wysokość 100 px, marginesy wewnętrzne 7 px. W momencie, gdy kursor znajduje się na obrazie, styl obrazu zmienia się na: kolor tła RGB 210, 180, 140
Szerokość dobierze przeglądarka z proporcji zdjęcia (R.4.9). Tło z :hover widać w polu padding - tę samą zmienną ma blok z danymi (R.4.10).
R.3.1 Układ bloków po uruchomieniu strony w przeglądarce jest w pełni zgodny z Obrazem 2 w arkuszu egzaminacyjnym
ok. 2 min
Polecenie z arkusza
Podział zrealizowany za pomocą znaczników sekcji tak, aby po uruchomieniu w przeglądarce wygląd układu bloków był zgodny z Obrazem 2
Kontakt bez kursywy, którą <address> ma domyślnie - tak jak na obrazie 2. Układ jest kompletny: baner, flex z trzema blokami, blok z danymi i stopka - ani jednego float, ani jednego clear (R.3.1).
R.5.4 Skrypt 1 wyświetla obrazy na podstawie danych zwróconych zapytaniem, w ten sposób, że pole nazwaPliku jest źródłem obrazu, a pole podpis jest tekstem alternatywnym obrazu
R.2.7 W bloku środkowym umieszczono przynajmniej jeden obraz z tekstem alternatywnym (w skrypcie lub HTML)
ok. 4 min
Polecenie z arkusza
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 nazwaPliku jest źródłem obrazu, a pole podpis jest tekstem alternatywnym obrazu
Dwie części w dwóch miejscach pliku:
na górze $pdo->query(...)->fetchAll() - zapytanie 2 (R.5.3), dziewięć wierszy trafia do tablicy $photos. Zapytanie nie ma danych od użytkownika, więc query wystarczy,
w bloku środkowym pętla foreach ($photos as $photo): z zamknięciem endforeach;, a w niej znacznik <img> zapisany zwykłym HTML-em: nazwa pliku w src, podpis w alt (R.5.4, R.2.7).
<?= ... ?> to skrót od <?php echo ... ?>. Nie trzeba ukośników przed cudzysłowami jak w echo, a e() zamienia " w danych na ", więc podpis z cudzysłowem nie zamknie atrybutu. Wynik: 9 zdjęć od Barcelony do Wenecji.
R.5.6 Skrypt 2 wyświetla zwrócone zapytaniem wiersze w osobnej linii, według wzoru: „<id>. <dataWyjazdu>, <cel>, cena: <cena>”, gdzie w znakach < > zapisano pola zwracane zapytaniem
ok. 3 min
Polecenie z arkusza
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
Zapytanie 1 do tablicy $trips (R.5.5), a w bloku z danymi pętla, która wypisuje jedną linię według wzoru i kończy ją <br> (R.5.6). Klucze tablicy to nazwy kolumn z zapytania, więc wzór czyta się wprost: id, data wyjazdu, cel, cena. Wynik: sześć linii, od „1. 2019-09-08, Wlochy, Wenecja, cena: 1200”.
Krok 26: Zamknięcie połączenia i komunikat o błędzie
Kryteria:
R.5.2 Ostatnią operacją na bazie jest jej zamknięcie (zgodne ze składnią)
ok. 3 min
Polecenie z arkusza
Na końcu działania skrypt zamyka połączenie z serwerem
PDO nie ma funkcji close - połączenie zamyka się, gdy znika ostatnie odwołanie do obiektu. Dlatego w bloku finally stoi $pdo = null. finally wykonuje się po try zawsze - po udanym odczycie i po wyjątku - więc zamknięcie jest ostatnią operacją na bazie w każdej gałęzi (R.5.2). Dane są już w tablicach, więc pętle niżej działają bez połączenia.
Gdy odczyt się nie uda, catch zapisuje komunikat w $error, a blok z danymi go pokazuje. Treść wyjątku zostaje na serwerze: komunikat bazy zdradzałby nazwy tabel i kolumn. Sprawdzone na prawdziwym PHP: przy złym haśle strona wyświetla komunikat, kontakt, promocje i stopkę.
Krok 27 · po tym etapie masz 32 z 32 kryteriów (pkt)
Krok 27: Co jest inaczej i którą wersję wybrać na egzaminie
ok. 3 min
Obie wersje dają komplet 32 punktów. Różnice:
wersja podstawowa
wersja nowoczesna
trzy bloki
float: left, clear przy bloku z danymi
<main> z display: flex
baner i stopka
<section id="banner">, <footer>
<header>, <footer>
kolory
wpisane w każdej regule
zmienne --red, --sand, --brown
kontakt
odnośnik i akapit
w znaczniku <address>
biblioteka
mysqli (tabela 1 arkusza)
PDO z wyjątkami
gdzie jest skrypt
połączenie na górze, zapytania w blokach
wszystko na górze, w HTML-u tylko foreach i <?= ?>
znacznik obrazu
składany w echo z \"
zwykły HTML z danymi w atrybutach
wypisywanie danych
htmlspecialchars dopisane na końcu
e() od pierwszej linii
zamknięcie bazy
mysqli_close po liście
$pdo = null w finally
Na egzaminie wersja podstawowa trzyma się funkcji z tabeli 1 i łatwiej ją napisać bez dokumentacji. Nowoczesna pokazuje komunikat zamiast ostrzeżeń, gdy baza nie odpowiada - a klucz przyjmuje obie.
Krok 28 · po tym etapie masz 32 z 32 kryteriów (pkt)
Krok 28: Plik przeglądarka.txt i nagranie płyty
ok. 5 min
Polecenie z arkusza
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 przeglądarka.txt nazwa przeglądarki, w której sprawdzana była strona. W folderze z numerem zdającego: import.png, kw1.jpg - kw4.jpg, kwerendy.txt, styl3.css, wycieczki.php, przeglądarka.txt i zdjęcia 1.jpg - 9.jpg. Nagraj płytę, sprawdź jej odczyt i opisz ją numerem PESEL.
Symulacja ekranu w przeglądarce - w Android Studio / Visual Studio wygląd może się nieco różnić.
To jedno z możliwych rozwiązań. Egzaminator ocenia spełnienie kryteriów z klucza odpowiedzi, a nie zgodność z tym kodem - inna, poprawna droga też daje punkty.
Autor rozwiązania: Bartosz Bryniarski. Licencja CC BY-NC 4.0 - kopiowanie i przeróbki do celów niekomercyjnych, z podaniem autora i źródła (link do tej strony) (zasady wykorzystania). Treść arkusza i klucza oceniania pochodzi z CKE.