Arkusz E.14 : 2018 - styczeń - zad. 01 (php)
Oznaczenie: E.14-01-18.01 Limit czasu: 150 minut
Zadanie egzaminacyjne
Wykonaj aplikację internetową portalu ogłoszeniowego. Wykorzystaj pakiet XAMPP
jako środowisko bazodanowo-aplikacyjne. Stronę internetową zbuduj przy wykorzystaniu edytora zaznaczającego składnię.
Aby wykonać zadanie, zaloguj się na konto Egzamin
bez hasła. Na pulpicie znajdziesz archiwum ZIP o nazwie materialy.zip
zabezpieczone hasłem: Zad4ni3
.
Archiwum należy rozpakować.
Na pulpicie konta Egzamin
utwórz folder. Jako nazwy folderu użyj swojego numeru PESEL
. Rozpakowane pliki umieść w tym folderze. Po skończonej pracy wyniki zapisz także w tym folderze.
Operacje na bazie danych
Baza danych jest zgodna ze strukturą przedstawioną na obrazie 1
. Tabela ogloszenie
ma klucz obcy uzytkownik_id
będący w relacji z kluczem głównym tabeli uzytkownik
. Pole kategoria przyjmuje wartości liczbowe: 1
= książki, 2
= muzyka.
Obraz 1. Struktura 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 nową bazę danych o nazwie
ogloszenia
- Do bazy ogloszenia zaimportuj tabele z pliku
baza.sql
(plik znajduje się w rozpakowanym archiwum ZIP) - Wykonaj zrzut ekranu po imporcie. Zrzut zapisz w folderze z numerem PESEL, w formacie JPEG i nazwij
import.jpg
. Nie kadruj zrzutu. Powinien on obejmować cały ekran, z widocznym paskiem zadań. Na zrzucie powinny być widoczne elementy wskazujące na poprawnie wykonany import tabel - Zapisz i wykonaj
zapytania SQL
działające na bazie ogloszenia. Zapytania zapisz w plikukwerendy.txt
, w folderze z numerem PESEL. 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: wybierające jedynie pola
id
,tytul
itresc
z tabeliogloszenie
dla tych rekordów, dla których kategoria toksiążki
- Zapytanie 2: wykorzystujące relację pomiędzy tabelami i wybierające jedynie
telefon
tego użytkownika, który jest przypisany do ogłoszenia numer1
- Zapytanie 3: tworzące użytkownika
moderator
nalocalhost
z hasłemqwerty
- Zapytanie 4: nadające prawa dla użytkownika
moderator
do usuwania i przeglądania danych w tabeliogloszenie
.
Cechy obrazu
Plik ksiazki.jpg
, wypakowany z archiwum, należy przeskalować do wymiarów: szerokość 200px
, wysokość 300px
. Pozostałych atrybutów obrazu nie należy zmieniać.
Grafika ksiazki.jpg
Witryna internetowa
Obraz 2. Witryna internetowa
Cechy witryny:
- Nazwa pliku:
ogloszenia.php
- Zastosowany właściwy standard kodowania polskich znaków
- Tytuł strony widoczny na karcie przeglądarki: "Portal ogłoszeniowy"
- Arkusz stylów w pliku o nazwie
styl1.css
prawidłowo połączony z kodem strony - Podział strony na bloki:
baner
, panelelewy
iprawy
,stopka
zrealizowany za pomocą znaczników sekcji, tak aby po uruchomieniu strony w przeglądarce wygląd był zgodny zobrazem 2
- Zawartość banera:
- nagłówek
pierwszego
stopnia o treści: "Portal Ogłoszeniowy"
- nagłówek
- Zawartość panelu lewego:
- Nagłówek
drugiego
stopnia o treści: "Kategorie ogłoszeń" - Lista
numerowana
z trzema elementami: Książki, Muzyka, Filmy - Obraz
ksiazki.jpg
z tekstem alternatywnym o treści: "Kupię / sprzedam książkę" - Tabela o wymiarach
3 kolumny
na4 wiersze
. Ostatnia kolumna zawierascalone
trzy wiersze. Zawartość i wygląd tabeli zgodne ze wzorem przedstawionym poniżej
- Nagłówek
Wzór wyglądu tabeli
- Zawartość panelu prawego:
- Nagłówek
drugiego
stopnia o treści: "Ogłoszenia kategorii książki" - Skrypt połączenia z bazą
- Nagłówek
- Zawartość stopki:
- napis o treści: "Portal ogłoszeniowy opracował:", zaś dalej wstawiony Twój
numer PESEL
.
- napis o treści: "Portal ogłoszeniowy opracował:", zaś dalej wstawiony Twój
Styl CSS witryny internetowej
Plik styl1.css
zawiera formatowanie:
- Banera: kolor tła
#40271A
,biały
kolor czcionki, krój czcionki:Tahoma
, wyrównanie tekstudo środka
, wysokość80px
- Panelu lewego: kolor tła
#DBB29C
, szerokość40%
, wysokość700px
- Panelu prawego: kolor tła
#FFE3D4
, szerokość60%
, wysokość700px
- Stopki: kolor tła
#40271A
,biały
kolor czcionki, wyrównanie tekstudo prawej strony
- Tabeli, komórki tabeli: obramowanie na
1px
liniąprzerywaną
brązową
, szerokość tabeli500px
, marginesy zewnętrzne10px
, wyrównanie tekstudo środka
- Obrazu: marginesy wewnętrzne
30px
- Listy numerowanej: styl punktora
cyfry rzymskie
wielkie
Niewymienione właściwości selektorów przybierają wartości domyślne.
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
- Nie jest
wymagane
sprawdzenie, czy operacja na bazie danych powiodła się - Skrypt łączy się z serwerem bazodanowym na
localhost
, użytkownikroot
bez hasła, baza danych o nazwieogloszenia
- Skrypt wysyła do bazy danych dwa zapytania:
- Zapytanie 1 (patrz punkt "Operacje na bazie danych")
- Zapytanie 2 (patrz punkt "Operacje na bazie danych") zmodyfikowane tak, aby dla danego
id ogłoszenia
pobierany byłnumer telefonu
użytkownika, do którego należy ogłoszenie
- Dla każdego zwróconego zapytaniem wiersza wykonuje następujące działania:
- Wyświetla w nagłówku
trzeciego
stopnia polaid
oraztytul
- Wyświetla w akapicie treść ogłoszenia
- W kolejnym akapicie wyświetla tekst: "telefon kontaktowy:" i dalej
numer telefonu
pobrany zmodyfikowanymzapytaniem 2
- Na końcu działania skrypt zamyka połączenie z serwerem.
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 nagraj płytę z rezultatami pracy. W folderze z numerem PESEL powinny się znajdować pliki: import.jpg, ksiazki.jpg, kw1.jpg, kw2.jpg, kw3.jpg, kw4.jpg, kwerendy.txt, ogloszenia.php, styl1.css, ewentualnie inne przygotowane pliki.
- Utwórz plik tekstowy. Zapisz w nim nazwę przeglądarki internetowej, w której weryfikowałeś poprawność działania witryny. Zapisz go na płycie jako przegladarka.txt.
- Po nagraniu płyty sprawdź poprawność nagrania. Opisz płytę swoim numerem PESEL i pozostaw zapakowaną w pudełku na stanowisku.
Czas przeznaczony na wykonanie zadania wynosi 150 minut.
Ocenie podlegać będą 4 rezultaty:
- operacje na bazie danych
- witryna internetowa
- 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!
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!