Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik programista
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 23 kwietnia 2026 22:37
  • Data zakończenia: 23 kwietnia 2026 22:57

Egzamin zdany!

Wynik: 35/40 punktów (87,5%)

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

Ile razy zostanie wykonana pętla przedstawiona w języku PHP, zakładając, że zmienna kontrolna nie jest zmieniana w jej wnętrzu?
for($i = 0; $i <= 10; $i++) { ...... }

A. 11 razy
B. Nieskończoność
C. 0 razy
D. 10 razy
Pętla for w języku PHP, jak w przedstawionym przykładzie, ma na celu wykonanie bloku kodu wielokrotnie, w zależności od stanu zmiennej sterującej. W tym przypadku, początkowa wartość zmiennej $i wynosi 0, a warunek kontynuacji pętli to $i <= 10. Oznacza to, że pętla będzie kontynuować swoje działanie, dopóki zmienna $i będzie mniejsza lub równa 10. W każdym przebiegu pętli wartość $i jest inkrementowana o 1 za pomocą operatora ++, co oznacza, że przy każdym przejściu przez pętlę $i przyjmuje wartości 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 i 10. Ostatecznie, pętla wykonuje się, gdy $i osiąga wartość 10, a następnie po wykonaniu bloku kodu następuje inkrementacja, co sprawia, że $i staje się 11, co narusza warunek $i <= 10. Zatem pętla wykonuje się 11 razy, co czyni odpowiedź 11 poprawną. Przykładem zastosowania takiej pętli może być iteracja po elementach tablicy lub generowanie sekwencji liczb. Zgodnie z najlepszymi praktykami programistycznymi, ważne jest, aby zawsze kontrolować zmienne sterujące w pętli, aby uniknąć sytuacji takich jak nieskończone pętle, co jest szczególnie istotne w kontekście wydajności aplikacji.

Pytanie 2

Metoda w języku PHP, która pełni rolę konstruktora, nosi nazwę

A. _new
B. _create
C. _open
D. _construct
Konstruktor w języku PHP to specjalna metoda, która jest wywoływana automatycznie w momencie tworzenia obiektu danej klasy. Nazwa konstruktora w PHP to __construct, co jest zgodne z konwencjami programistycznymi i standardem PSR-1. Zastosowanie konstruktora pozwala na inicjalizację obiektu oraz przekazywanie parametrów, które mogą być wykorzystane w dalszej części kodu. Na przykład, jeśli mamy klasę `Samochod`, możemy zdefiniować konstruktor, który przyjmuje parametry takie jak marka, model i rok produkcji. Dzięki temu każdy nowo utworzony obiekt samochodu będzie miał ustawione te wartości. Stosowanie konstruktorów jest powszechną praktyką w programowaniu obiektowym, co sprzyja lepszemu zarządzaniu kodem i jego czytelności. Przykład: `public function __construct($marka, $model, $rok) { $this->marka = $marka; $this->model = $model; $this->rok = $rok; }`. Warto również pamiętać, że konstruktor może dziedziczyć właściwości i metody z klasy rodzicielskiej, co jest kluczowe w kontekście programowania obiektowego.

Pytanie 3

Jaki będzie rezultat po uruchomieniu podanego skryptu?

class Owoc {
    function __construct() {
        echo "test1";
    }
    function __destruct() {
        echo "test2";
    }
}
$gruszka = new Owoc();
A. Pojawi się wyłącznie tekst „test2”
B. Pojawi się jedynie tekst „test1”
C. Nie pojawi się żaden tekst
D. Pojawią się oba teksty: „test1” i „test2”
Dobra robota! Odpowiedź, którą wybrałeś, jest właściwa. Jak tworzysz obiekt klasy Owoc, to naprawdę wywołujesz metodę __construct(), która zajmuje się tym, żeby obiekt był gotowy do działania. W tym przypadku, gdy to się dzieje, na ekranie pojawia się 'test1'. Ale warto też pamiętać, że kiedy skrypt kończy swoje działanie albo obiekt jest usuwany, wtedy uruchamia się metoda __destruct(), która wypisuje 'test2'. Więc kiedy tworzysz obiekt $gruszka, to na konsoli najpierw zobaczysz 'test1', a później, po zakończeniu działania skryptu, jak np. przeładowujesz stronę, dostaniesz 'test2'. To całkiem fajnie pokazuje, jak ważne jest zrozumienie, jak działają obiekty w PHP i co się z nimi dzieje przez cały czas. Wiesz, że znajomość tych mechanizmów to klucz do sukcesu, szczególnie w większych projektach, gdzie zarządzanie różnymi zasobami ma znaczenie dla wydajności.

Pytanie 4

W PHP zmienna $_GET stanowi zmienną

A. predefiniowaną, służącą do przesyłania informacji do skryptów PHP przez adres URL
B. predefiniowaną, wykorzystywaną do zbierania danych formularza po nagłówkach żądania HTTP (informacje z formularza nie są widoczne w URL)
C. zwykłą, utworzoną przez autora strony
D. utworzoną przez autora strony, przeznaczoną do przesyłania danych z formularza przez adres URL
Odpowiedzi, które wskazują na to, że zmienna $_GET jest zwykłą zmienną lub jest definiowana przez twórcę strony, są nieprawidłowe. $_GET jest superglobalną tablicą, co oznacza, że jej dostępność jest zapewniona w całym skrypcie bez potrzeby wcześniejszego deklarowania. Zrozumienie różnicy między zmiennymi predefiniowanymi a tymi zdefiniowanymi przez użytkownika jest kluczowe dla właściwego zarządzania danymi w PHP. Ponadto, odpowiedzi sugerujące, że $_GET służy do gromadzenia wartości formularza po nagłówkach zlecenia HTTP, mylą metodę GET z metodą POST. W przeciwieństwie do POST, dane przesyłane za pomocą GET są widoczne w adresie URL, co czyni je mniej bezpiecznymi dla wrażliwych danych. Mówiąc o formularzach, $_GET jest jedynie jedną z metod przesyłania danych, obok $_POST i $_REQUEST, z których każda ma swoje specyficzne zastosowania i ograniczenia. Generalnie, korzystanie z $_GET jest odpowiednie do przesyłania niewielkich ilości danych, takich jak parametry zapytań, ale należy być świadomym, że wykorzystywanie tej metody z danymi wrażliwymi jest ryzykowne i należy unikać tego podejścia w praktyce. Dbając o bezpieczeństwo aplikacji, warto zrozumieć te różnice i stosować się do dobrych praktyk dotyczących przetwarzania danych wejściowych.

Pytanie 5

Jak nazywa się metoda, która pozwala na nawiązanie asynchronicznego połączenia klienta z serwerem oraz umożliwia wymianę danych bez konieczności przeładowania całej strony WWW?

A. VBScript
B. PHP
C. AJAX
D. XML
AJAX, czyli Asynchronous JavaScript and XML, to technika umożliwiająca asynchroniczną komunikację pomiędzy klientem a serwerem bez potrzeby przeładowania całej strony WWW. Umożliwia to tworzenie bardziej responsywnych i interaktywnych aplikacji internetowych. Przykładem zastosowania AJAX może być formularz kontaktowy, który po wypełnieniu wysyła dane do serwera i otrzymuje odpowiedź bez odświeżania całej strony, co poprawia doświadczenie użytkownika. Technologia ta wykorzystuje XMLHttpRequest lub Fetch API do przesyłania i odbierania danych w formacie JSON, co jest bardziej efektywne niż tradycyjne metody. AJAX jest szeroko stosowany w aplikacjach typu single-page, gdzie szybkość i wydajność są kluczowe. Warto również zwrócić uwagę na bezpieczeństwo przy korzystaniu z AJAX, takie jak walidacja danych wejściowych oraz ochrona przed atakami XSS i CSRF, które są standardami w branży.

Pytanie 6

W jakim formacie zostanie wyświetlona data po uruchomieniu poniższego kodu?

<?php
    echo date('l, dS F Y');
?>
A. 10, Monday July 2017
B. Monday, 10th July 2017
C. Monday, 10 July 2017
D. Monday, 10th July 17
Twoja odpowiedź jest prawidłowa. Kod PHP wyświetli datę w formacie 'Monday, 10th July 2017', ponieważ używa funkcji date() z odpowiednimi parametrami formatowania. Parametr 'l' zwraca pełną nazwę dnia tygodnia, 'd' zwraca dzień miesiąca z zerem wiodącym, 'S' dodaje angielski sufiks liczby porządkowej do dnia miesiąca, 'F' zwraca pełną nazwę miesiąca, a 'Y' zwraca pełny rok. To jest standardowy sposób formatowania daty w PHP i jest zgodny z dobrymi praktykami programowania. Pozwala na czytelne i zrozumiałe wyświetlanie daty dla użytkowników końcowych. Dobrze jest pamiętać o tych konwencjach, ponieważ różne systemy mogą wymagać różnych formatów daty. Zrozumienie, jak korzystać z funkcji date() w PHP, pozwoli Ci na elastyczne i efektywne manipulowanie danymi daty.

Pytanie 7

Linia kodu przedstawiona w PHP ma na celu

Ilustracja do pytania
A. ustalić wartość dla zmiennej $OSOBA
B. przypisać wartości do tablicy
C. zdefiniować stałą o nazwie OSOBA
D. porównać dwa ciągi znaków
W języku PHP funkcja define() służy do definiowania stałych które są wartościami niezmiennymi po zdefiniowaniu. W przykładzie define(OSOBA Anna Kowalska) definiujemy stałą o nazwie OSOBA z przypisaną wartością Anna Kowalska. Stałe są używane gdy potrzebujemy zagwarantować że dana wartość pozostanie niezmienna przez cały czas działania programu co jest kluczowe w zapewnieniu spójności i integralności danych. PHP odróżnia stałe wielkością liter więc zgodnie z konwencją stałe zapisuje się wielkimi literami dla lepszej czytelności. Funkcja ta jest często używana do definiowania wartości konfiguracyjnych takich jak ścieżki do plików czy dane dostępowe które nie powinny być zmieniane podczas wykonywania skryptu. Dzięki funkcji define() unikamy przypadkowego nadpisania istotnych wartości co jest jedną z dobrych praktyk programistycznych. Warto zaznaczyć że od PHP 7 istnieje możliwość definiowania stałych tablicowych co ułatwia organizację bardziej złożonych danych.

Pytanie 8

Jaką rolę pełni funkcja PHP o nazwie mysql_num_rows()?

A. numeruje rekordy w bazie danych
B. zwraca rekord o numerze podanym w argumencie funkcji
C. zwraca następny rekord z wynikami zapytania
D. zwraca ilość wierszy znajdujących się w rezultacie zapytania
Funkcja mysql_num_rows() jest fundamentalnym narzędziem w interakcji z bazami danych w PHP, służącym do zwrócenia liczby wierszy w zestawie wyników zapytania. W kontekście programowania, jej zastosowanie jest kluczowe, gdy chcemy ocenić, czy zapytanie zwróciło jakiekolwiek dane. Przykładowo, jeśli wykonujemy zapytanie do bazy danych w celu pobrania listy użytkowników i chcemy sprawdzić, czy tabela zawiera jakiekolwiek rekordy, użycie mysql_num_rows() pozwala na łatwą i efektywną weryfikację. W praktyce, często łączy się tę funkcję z innymi, takimi jak mysql_query() w celu uzyskania wyników zapytania, a następnie sprawdzenia ich liczby. W związku z tym, dobre praktyki sugerują, aby po każdym zapytaniu, które może zwrócić wiele wyników, stosować tę funkcję do walidacji wyniku. Należy pamiętać, że mysql_num_rows() działa tylko na wynikach zapytań SELECT i nie jest użyteczna w przypadku innych typów operacji na bazach danych.

Pytanie 9

W języku PHP istnieje funkcja, która pozwala na weryfikację, czy dany ciąg stanowi część innego ciągu, to

A. strstr()
B. trim()
C. strtok()
D. strlen()
Funkcja strstr() w języku PHP jest używana do wyszukiwania pierwszego wystąpienia jednego ciągu (substringu) w innym ciągu. Kiedy użyjesz tej funkcji, zwróci ona fragment oryginalnego ciągu, zaczynając od miejsca, w którym znaleziono szukany substring, aż do końca ciągu. Przykładowo, jeśli wywołasz strstr('programowanie w PHP', 'w'), otrzymasz 'w PHP'. Jest to bardzo przydatne, gdy chcemy sprawdzić, czy dany ciąg zawiera inny ciąg, a także uzyskać kontekst, w którym ten substring występuje. W praktyce, strstr() może być używana w sytuacjach takich jak walidacja danych wejściowych, parsowanie tekstu, a także w implementacjach funkcjonalności wyszukiwania. Zastosowanie strstr() jest zgodne z dobrymi praktykami programowania, ponieważ pozwala na efektywne operacje na ciągach tekstowych, przy minimalnym ryzyku błędów, co zwiększa czytelność i utrzymanie kodu.

Pytanie 10

Określ wynik działania załączonego kodu PHP, przy założeniu, że zmienna tab jest tablicą.

$tab = explode(", ", "jelenie,sarny,dziki,lisy,borsuki");
echo $tab[1]." ".$tab[2];
A. jelenie sarny
B. dziki lisy
C. lisy borsuki
D. sarny dziki
Zgadza się, Twoja odpowiedź jest właściwa. W tym kodzie PHP używamy funkcji 'explode()', żeby zamienić ciąg znaków na tablicę, używając przecinków do rozdzielenia. Potem, dwa elementy z tej tablicy, czyli drugi i trzeci, są wypisywane. Wynik tego kodu będzie różny w zależności od tego, co mamy w tablicy 'tab'. Dla tego przykładu, poprawna odpowiedź to 'sarny dziki'. Możemy przypuszczać, że po użyciu 'explode()' tablica wygląda tak: ['jakiś_element', 'sarny', 'dziki', ...]. To naprawdę przydatna funkcjonalność, zwłaszcza kiedy musimy przetwarzać dane od użytkownika lub z pliku. Funkcję 'explode()' często spotykamy w PHP, gdy bawi się z ciągami, i to dobry sposób na ich manipulację.

Pytanie 11

W środowisku PHP pobrano z bazy danych rezultat działania zapytania przy użyciu komendy mysql_query. W celu uzyskania z otrzymanej kwerendy jednego wiersza danych, konieczne jest użycie polecenia

A. mysql_fetch_row
B. mysql_list_fields
C. mysql_fetch_lengths
D. mysql_field_len
Odpowiedź 'mysql_fetch_row' jest prawidłowa, ponieważ to funkcja w PHP, która pobiera jeden wiersz danych jako tablicę numeryczną z wyników zapytania SQL. Jest to kluczowy element do pracy z danymi zwróconymi przez bazę danych, gdyż umożliwia nam iterację przez wyniki zapytania. Przykładowo, po wykonaniu kwerendy za pomocą 'mysql_query', używamy 'mysql_fetch_row', aby uzyskać pierwszy wiersz wyników: $row = mysql_fetch_row($result);. W praktyce, korzystając z tej funkcji, możemy odnosić się do poszczególnych kolumn, używając indeksów, co jest efektywne, zwłaszcza przy pracy z dużymi zbiorami danych. Warto pamiętać, że 'mysql_fetch_row' jest jedną z podstawowych funkcji w pracy z bazami danych w PHP, jednak w najnowszych projektach zaleca się korzystanie z rozszerzenia PDO lub MySQLi, które oferują lepsze zabezpieczenia oraz wsparcie dla obiektowego podejścia programowania. To także zgodne z najlepszymi praktykami w zakresie bezpieczeństwa i wydajności aplikacji webowych.

Pytanie 12

Przygotowano fragment kodu PHP z zadeklarowaną zmienną tablicową. Jaki wynik zostanie wyświetlony jako imię po wykonaniu tego kodu?

$imiona = array('Anna', 'Tomasz', 'Krzysztof', 'Aleksandra');
echo $imiona[2];
A. Anna
B. Tomasz
C. Aleksandra
D. Krzysztof
Odpowiedź Krzysztofa jest całkiem trafna, bo w PHP zaczynamy liczenie od zera. Czyli mamy pierwszy element na pozycji 0, drugi na 1, a trzeci na 2. W tym przypadku zmienna imiona to tablica z czterema elementami: 'Anna', 'Tomasz', 'Krzysztof' oraz 'Aleksandra'. Gdy używamy echo $imiona[2], to tak naprawdę sięgamy po trzeci element, czyli 'Krzysztofa'. Zasada indeksowania od zera jest właściwie standardem w wielu językach programowania, jak C, JavaScript czy Python. Dzięki temu PHP staje się bardziej spójne z innymi językami. To pozwala lepiej zarządzać danymi w kodzie, bo każdy element ma swój unikalny indeks. Ważne jest, żeby to zapamiętać, bo dzięki temu można unikać błędów, które wynikają z niewłaściwego dostępu do elementów tablic. No i lepiej wiedzieć, że wykraczający indeks może prowadzić do różnych problemów, więc warto zrozumieć to zagadnienie.

Pytanie 13

Która z funkcji zdefiniowanych w języku PHP zwraca jako wynik połowę kwadratu wartości podanej jako argument?

A. function licz($a) {echo $a/2;}
B. function licz($a) {return echo $a/2;}
C. function licz($a) {return echo $a*$a/2;}
D. function licz($a) {echo $a*$a/2;}
Pierwsza z niepoprawnych odpowiedzi, która wykorzystuje 'echo', nie zwraca wartości, a jedynie ją wyświetla. Funkcje w PHP powinny zwracać wartości za pomocą 'return', aby umożliwić ich dalsze wykorzystanie. W przypadku drugiej odpowiedzi, również wykorzystanie 'echo' uniemożliwia zwrócenie wartości funkcji. Ostatecznie, operacja $a*$a/2 jest poprawna, ale brak 'return' sprawia, że nie możemy jej użyć w dalszej części kodu. Ostatnia z odpowiedzi zawiera składnię 'return echo', która jest niepoprawna w języku PHP, ponieważ 'return' i 'echo' nie mogą być używane razem w ten sposób. W PHP funkcja 'return' służy do zwracania wartości, a 'echo' do wyświetlania. Dlatego, nawet jeśli wyrażenie '$a*$a/2' jest poprawne, to sposób jego zwracania jest błędny. Te aspekty techniczne są kluczowe dla zrozumienia, jak funkcje powinny być prawidłowo implementowane w PHP, aby mogły być efektywne i zgodne z konwencjami języka.

Pytanie 14

W języku PHP funkcja trim służy do

A. porównywania dwóch tekstów i wyświetlania ich wspólnej części
B. usuwania białych znaków lub innych określonych w parametrze znaków z obu końców tekstu
C. podawania długości tekstu
D. redukcji tekstu o liczbę znaków określoną w parametrze
Funkcja <i>trim</i> w języku PHP ma na celu usuwanie białych znaków oraz innych znaków, które są określone w jej parametrach, z obu końców napisu. To niezwykle przydatne narzędzie w programowaniu, szczególnie podczas przetwarzania danych wejściowych, gdzie użytkownicy mogą nieświadomie dodawać zbędne spacje, tabulatory lub nowe linie. Na przykład, gdy przetwarzamy dane formularzy, może się zdarzyć, że użytkownik wprowadzi swoje imię z dodatkowymi spacjami na początku lub końcu. Użycie <i>trim</i> pozwala na zapewnienie, że dane będą miały odpowiednią formę przed dalszym przetwarzaniem, co jest kluczowe w kontekście walidacji i normalizacji danych. Dodatkowo, funkcja ta wspiera podawanie własnych znaków do usunięcia, co czyni ją bardzo elastycznym narzędziem w codziennym programowaniu. Używanie <i>trim</i> jako standardowej praktyki przy obróbce danych tekstowych jest rekomendowane przez wielu ekspertów, ponieważ zwiększa to jakość i spójność przetwarzanych informacji.

Pytanie 15

W formularzu dokumentu PHP znajduje się pole <input name="im">. Gdy użytkownik wprowadzi tekst "Janek", aby dodać wartość tego pola do bazy danych, w tablicy $_POST będzie obecny element

A. Janek o indeksie im
B. Janek z następującym numerem indeksu
C. im z następującym numerem indeksu
D. im o indeksie Janek
Odpowiedzi wskazujące na istnienie dodatkowych numerów indeksów lub powiązań między wartością a nazwą pola są błędne, ponieważ nie odzwierciedlają rzeczywistego działania PHP w kontekście formularzy. W przypadku, gdy użytkownik wpisuje "Janek" w polu o nazwie 'im', PHP nie przypisuje tej wartości do jakiegoś indeksu numerowanego. Tablica $_POST operuje na zasadzie klucz-wartość, gdzie klucz jest nazwą pola w formularzu, a wartość to wprowadzone dane. Zatem klucz 'im' w tablicy $_POST zostałby skojarzony bezpośrednio z wartością 'Janek' jako jego wartość. Każda inna koncepcja, taka jak dodawanie numerów indeksów czy zamiana wartości z kluczem, jest myląca. Typowe błędy myślowe związane z tym zagadnieniem obejmują niezrozumienie, że PHP nie tworzy dynamicznych kluczy w tablicach na podstawie wartości, a jedynie przypisuje wartości do zdefiniowanych kluczy. Z tego powodu, żeby skutecznie operować na danych z formularzy, programiści muszą dokładnie rozumieć, jak działa tablica $_POST oraz jak poprawnie przetwarzać dane wejściowe w PHP, unikając przy tym błędnych interpretacji ich struktury.

Pytanie 16

echo date"Y"); Po uruchomieniu tego kodu PHP na ekranie ukaże się bieżąca data, obejmująca wyłącznie

A. dzień
B. miesiąc i rok
C. dzień i miesiąc
D. rok
Odpowiedź 'rok' jest prawidłowa, ponieważ w podanym kodzie PHP echo date('Y') zwraca aktualny rok w czterocyfrowym formacie, np. 2023. Funkcja date w PHP jest używana do formatowania daty i czasu, a 'Y' jest stałą formatującą, która reprezentuje rok w pełnym formacie. Dzięki temu programista może łatwo uzyskać i wyświetlić rok w różnych kontekstach, na przykład w systemach zarządzania treścią, raportach czy aplikacjach webowych. Praktyczne zastosowanie tej funkcji jest szerokie, np. w generowaniu automatycznych stopki na stronach internetowych, gdzie często umieszcza się aktualny rok, aby informować użytkowników o bieżącym roku w kontekście praw autorskich. Znajomość różnych formatów daty i ich zastosowanie zgodnie z dobrymi praktykami programistycznymi z pewnością przyczyni się do poprawy jakości kodu.

Pytanie 17

W języku PHP funkcja trim służy do

A. określenia długości tekstu
B. porównywania dwóch tekstów i zwracania ich wspólnej części
C. redukcji tekstu o zdefiniowaną w parametrze liczbę znaków
D. usuwania białych znaków lub innych znaków wymienionych w parametrze z obu końców tekstu
Funkcja trim w języku PHP jest niezwykle przydatnym narzędziem, które ma na celu usuwanie białych znaków oraz innych określonych znaków z obu końców łańcucha tekstowego. Przykład użycia tej funkcji może być obserwowany w sytuacjach, gdy użytkownik wprowadza dane do formularza, gdzie często zdarza się, że na początku lub końcu tekstu pojawiają się zbędne spacje. Można to zignorować, ale może to prowadzić do problemów z walidacją danych, porównywaniem łańcuchów czy wstawianiem do bazy danych. Użycie funkcji trim pozwala więc na zachowanie czystości danych i ich lepsze przetwarzanie. Jako dobra praktyka, zawsze warto stosować trim przed dalszym przetwarzaniem tekstów w celu eliminacji potencjalnych błędów. Dodatkowo, funkcja trim może przyjmować drugi parametr, który pozwala na określenie, jakie znaki mają być usuwane. To zwiększa jej elastyczność w różnorodnych kontekstach aplikacji webowych, umożliwiając np. usuwanie niechcianych znaków z danych wejściowych.

Pytanie 18

Ile razy wykona się poniższa pętla napisana w języku PHP, przy założeniu, że zmienna kontrolna nie jest zmieniana w jej wnętrzu?

for ($i = 0; $i <= 10; $i+=2) { ... }
A. 6
B. 10
C. 5
D. 0
Prawidłowa odpowiedź to 6 iteracji, ponieważ pętla for w PHP jest zdefiniowana z inicjalizacją zmiennej $i na 0 oraz warunkiem kontynuacji, który sprawdza, czy $i jest mniejsze lub równe 10. Zmiana wartości $i zachodzi co 2 jednostki dzięki instrukcji $i+=2. Iteracje pętli będą wyglądały następująco: $i = 0, 2, 4, 6, 8, 10. W momencie, gdy $i osiągnie wartość 12, warunek $i <= 10 przestanie być spełniony. Zatem pętla wykona się 6 razy, co jest zgodne z dobrą praktyką programowania, polegającą na dokładnym zrozumieniu warunków i logiki pętli. Zrozumienie tego mechanizmu ma kluczowe znaczenie dla efektywnego pisania kodu, pozwalającego na automatyzację zadań i obliczeń. W praktycznych zastosowaniach pętle są używane do iteracji po elementach tablic, generowania raportów oraz w wielu algorytmach przetwarzania danych.

Pytanie 19

Funkcją przedstawionego kodu PHP będzie wypełnienie tablicy

$tab = array();
for ($i = 0; $i < 10; $i++) {
    $tab[$i] = rand(-100, 100);
}

foreach ($tab as $x) {
    if ($x < 0) echo "$x ";
}
A. Kolejnymi liczbami od -100 do 100 i wypisanie wartości ujemnych
B. Kolejnymi liczbami od 0 do 9 i wypisanie ich
C. 10 losowymi wartościami, a następnie wypisanie wartości ujemnych
D. 100 losowymi wartościami, a następnie wypisanie wartości dodatnich
Kod w języku PHP użyty w pytaniu generuje tablicę o rozmiarze 10, wypełniając ją losowymi wartościami w zakresie od -100 do 100. Służy do tego funkcja rand(), która generuje liczby pseudolosowe. Następnie kod przechodzi przez każdą wartość tablicy przy użyciu pętli foreach i sprawdza czy wartość jest mniejsza od zera. Jeśli tak, wyświetla ją na ekranie za pomocą funkcji echo. To podejście pozwala na łatwe filtrowanie i wyświetlanie tylko tych wartości, które spełniają określone kryteria, co jest częstą praktyką w analizie danych. Przykładowe zastosowania tego rodzaju kodu można spotkać w systemach, które wymagają analizy danych statystycznych, takich jak badanie trendów w danych finansowych czy analizie wyników testów. Standardy programistyczne sugerują, aby kod był czytelny i dobrze udokumentowany, co zwiększa jego zrozumiałość i ułatwia późniejszą konserwację. Podczas pracy z funkcją rand() pamiętaj, że generowane liczby są pseudolosowe, co oznacza, że przy każdym uruchomieniu tego samego skryptu wyniki mogą się różnić. Prawidłowe użycie pętli i instrukcji warunkowych jest kluczowe w efektywnym przetwarzaniu danych w języku PHP.

Pytanie 20

Jaką metodę używa się w języku PHP do tworzenia komentarza obejmującego więcej niż jedną linijkę?

A. //
B. /* */
C. <!-- -->
D. #
W języku PHP, użycie bloków komentarzy za pomocą składni /* */ jest standardowym sposobem na zapisanie wielolinijnych komentarzy. Ta metoda pozwala na umieszczanie tekstu komentarza w wielu liniach, co jest szczególnie przydatne w przypadku dłuższych objaśnień kodu. Komentarze pozwalają programistom na dokumentowanie funkcji, metod lub fragmentów kodu, co znacznie zwiększa przejrzystość i zrozumiałość kodu dla innych deweloperów. Przykładowo, można ich używać w następujący sposób: /* To jest komentarz, który może zajmować wiele linii. Możesz go używać do szczegółowego opisu funkcji lub zmiennych. */ Praktyka korzystania z opisowych komentarzy jest zgodna z najlepszymi standardami programowania, ponieważ zwiększa czytelność i ułatwia pracę w zespołach. Komentarze są nieocenione w trakcie konserwacji kodu, ponieważ pozwalają na szybsze zrozumienie intencji autora, a także na łatwiejsze wprowadzenie zmian w przyszłości. Warto również pamiętać, że komentarze nie wpływają na wydajność aplikacji, ponieważ są ignorowane przez interpreter PHP w trakcie wykonywania skryptu.

Pytanie 21

Na podstawie przedstawionego kodu PHP wskaż ile wynosi czas ważności ustawionego ciasteczka?

A. 24 doby.
B. 24 godziny.
C. 1 godzina.
D. 1 minuta.
Ten fragment kodu PHP jest dobrym przykładem, jak łatwo pomylić się przy interpretowaniu czasu życia ciasteczka. Wiele osób widząc wartość '24' w nazwie albo w wartości ciasteczka automatycznie kojarzy to z 24 godzinami czy 24 dobami. Tymczasem w ogóle nie ma to znaczenia dla czasu ważności. O tym, jak długo cookie będzie żyło, decyduje wyłącznie trzeci parametr funkcji setcookie(), czyli tutaj: time() + 60. Funkcja time() zwraca aktualny czas w sekundach, a liczba 60 to po prostu 60 sekund. Nie ma tu żadnej „magii” powiązanej z liczbą 24. Częsty błąd polega na tym, że ktoś myśli kategoriami: godziny, dni, a nie sekund. W PHP czas wygaśnięcia w setcookie musi być podany jako konkretny znacznik czasowy UNIX, więc programista musi sam przeliczyć sobie minuty czy godziny na sekundy. Jeśli ktoś pomyśli, że 60 to np. 60 minut, to w praktyce pomyli się dokładnie 60 razy. Podobnie założenie, że skoro wartość ciasteczka to '24', to ciasteczko będzie ważne 24 godziny lub 24 doby, wynika z mieszania znaczenia logicznego danych z mechanizmem technicznym ich przechowywania. Wartość '24' to po prostu tekst przechowywany w cookie, bez żadnego automatycznego powiązania z czasem. Z mojego doświadczenia takie pomyłki biorą się też z porównywania do innych technologii, gdzie czas ustawia się np. w minutach. W PHP (i generalnie w mechanizmie UNIX time) wszystko liczymy w sekundach. Dlatego dobre praktyki mówią, żeby zawsze jawnie pisać wyrażenia typu 60 * 60 (godzina), 60 * 60 * 24 (doba), zamiast samego „3600” czy „86400”, bo to od razu sugeruje, o jaką jednostkę chodzi i ogranicza ryzyko złej interpretacji. Jeżeli programista nie rozumie tej konwencji, będzie projektował mechanizmy sesji, logowania czy koszyków zakupów z błędnymi czasami życia ciasteczek, co może prowadzić do irytujących sytuacji dla użytkownika, a nawet do problemów z bezpieczeństwem (np. zbyt długie przechowywanie wrażliwych informacji). Dlatego tak ważne jest, żeby przy każdym użyciu setcookie() świadomie przeliczać czas na sekundy i nie sugerować się nazwą ani wartością samego ciasteczka.

Pytanie 22

Rezultatem działania zamieszczonej pętli napisanej w języku PHP jest wypisanie następujących liczb

Ilustracja do pytania
A. od 10 do 1
B. od 10 do 2
C. od 1 do 10
D. od 2 do 10
Pętla for w języku PHP przedstawiona w pytaniu zaczyna od wartości początkowej 10 dla zmiennej iteracyjnej $i. Warunek zakończenia pętli to $i >= 1, co oznacza że pętla będzie działać dopóki wartość $i jest większa lub równa 1. W każdym kroku iteracji następuje dekrementacja zmiennej $i o 1 dzięki operatorowi $i--. W praktyce oznacza to że pętla wypisuje wartości od 10 do 1 w kolejnych liniach. Dekrementacja w pętlach jest często stosowana, kiedy chcemy przechodzić przez elementy w odwrotnej kolejności, co jest przydatne w algorytmach sortowania bądź odwracania danych. Dzięki jasnemu określeniu warunków początkowych, końcowych oraz kroku iteracji pętla for jest jednym z bardziej przejrzystych i zrozumiałych narzędzi w programowaniu. Warto pamiętać o optymalizacji kodu i unikanie nadmiernych iteracji, co jest dobrym standardem w praktykach programistycznych, zwłaszcza w projektach o dużej skali. Pisząc bardziej złożone skrypty, należy pamiętać także o możliwości wystąpienia błędów związanych z nieskończonymi pętlami jeśli warunek zakończenia nie jest poprawnie zdefiniowany.

Pytanie 23

Po wykonaniu przedstawionego kodu PHP, w zmiennej $napis zostaje zapisany ciąg znaków.

$napis = "Programowanie w PHP";
$napis = substr($napis, 3, 5);
A. gr
B. gramo
C. ogram
D. og
W podanym kodzie PHP używana jest funkcja substr() która służy do wycinania fragmentu ciągu znaków. W tym przypadku mamy ciąg znaków 'Programowanie w PHP'. Funkcja substr() przyjmuje trzy argumenty: pierwszy to ciąg znaków drugi to pozycja startowa trzecia to długość wycinka. Pozycje w ciągu znaków w PHP zaczynają się od zera dlatego pozycja startowa 3 oznacza czwarty znak w ciągu co w przypadku 'Programowanie w PHP' odpowiada literze 'g'. Trzeci argument 5 oznacza że wycinamy pięć znaków zaczynając od pozycji 3. Stąd funkcja zwróci napis 'gramo'. Znajomość funkcji substr() jest przydatna w różnych sytuacjach na przykład podczas formatowania danych wejściowych lub wyodrębniania części łańcucha takich jak numery telefonów czy kody pocztowe. Ważne jest aby pamiętać że indeksowanie zaczyna się od zera co jest kluczowe przy używaniu tej funkcji. Dobre praktyki w programowaniu zalecają również traktowanie długości wycinka jako parametru opcjonalnego co umożliwia wycięcie do końca łańcucha.

Pytanie 24

W języku PHP należy stworzyć warunek, który będzie prawdziwy, gdy zmienna $a będzie dowolną liczbą całkowitą mniejszą niż -10 lub gdy zmienna $b będzie jakąkolwiek liczbą z zakresu (25, 75). Wyrażenie logiczne w tym warunku przyjmuje postać

A. ($a < -10) or (($b > 25) and ($b < 75))
B. ($a < -10) and (($b > 25) and ($b < 75))
C. ($a < -10) and (($b > 25) or ($b < 75))
D. ($a < -10) or (($b > 25) or ($b < 75))
Wyrażenie logiczne ($a < -10) or (($b > 25) and ($b < 75)) jest poprawne, ponieważ spełnia przedstawione w pytaniu warunki. Wszelka liczba całkowita mniejsza od -10 dla zmiennej $a spełnia pierwszy warunek. Drugi warunek definiuje, że zmienna $b musi należeć do przedziału (25, 75), co oznacza, że $b musi być większe niż 25 i mniejsze niż 75. Użycie operatora 'or' jest kluczowe, ponieważ oznacza, że przynajmniej jedno z warunków musi być prawdziwe, aby całe wyrażenie zwróciło wartość prawda. Takie podejście jest zgodne z zasadami programowania, które preferują jednoznaczne i klarowne definiowanie warunków. Przykład użycia takiego wyrażenia mógłby być w kontekście walidacji danych wejściowych w formularzu, gdzie chcemy sprawdzić, czy użytkownik wprowadza poprawne wartości. Dobre praktyki programistyczne zalecają testowanie każdego warunku oddzielnie oraz czytelne komentowanie kodu, aby późniejsza analiza była łatwiejsza dla innych programistów.

Pytanie 25

Która funkcja PHP obsługi bazy danych służy do kodowania polskich znaków?

A. mysqli_fetch_assoc()
B. mysqli_connect()
C. mysqli_query()
D. mysqli_set_charset()
Prawidłowa odpowiedź to mysqli_set_charset(), bo właśnie ta funkcja ustawia zestaw znaków (charset) dla połączenia z bazą danych w rozszerzeniu mysqli. W praktyce oznacza to, że dzięki niej PHP i serwer bazy danych (np. MySQL) „dogadują się”, w jakim kodowaniu mają być przesyłane i zapisywane teksty – w tym polskie znaki typu ą, ę, ł, ś itd. Bez poprawnie ustawionego charsetu bardzo łatwo o krzaczki, znaki zapytania zamiast liter albo problemy z sortowaniem tekstu. Moim zdaniem dobrą praktyką jest zawsze po nawiązaniu połączenia mysqli_connect natychmiast wywołać mysqli_set_charset($conn, 'utf8mb4'). Ten konkretny charset (utf8mb4) jest obecnie standardem de facto: obsługuje pełne Unicode, w tym emotikony, różne alfabety, a przy okazji bez problemu radzi sobie z polskimi znakami. Przykładowy, poprawny fragment kodu może wyglądać tak: $conn = mysqli_connect('localhost', 'user', 'haslo', 'baza'); mysqli_set_charset($conn, 'utf8mb4'); Dzięki temu każda instrukcja mysqli_query, każde pobieranie danych mysqli_fetch_assoc będzie już działać w odpowiednim kodowaniu. Warto pamiętać, że ustawienie charsetu powinno być spójne na wszystkich poziomach: konfiguracja bazy (collation i charset tabel), ustawienia połączenia (właśnie mysqli_set_charset) oraz nagłówki HTTP/HTML (meta charset="utf-8"). Dopiero takie podejście zgodne z dobrymi praktykami branżowymi zmniejsza ryzyko błędów związanych z kodowaniem tekstu, zwłaszcza w większych aplikacjach webowych. Jeśli robi się projekty komercyjne, to ignorowanie tej funkcji bardzo szybko mści się przy migracjach danych czy integracjach z innymi systemami.

Pytanie 26

Wynikiem działania poniższej pętli for w przedstawionym kodzie PHP jest wyświetlenie liczb:

<?php
   for($i=5;$i>1;$i-=2)
       echo ($i%2)." ";
?>
A. 1 0 1 0
B. 1 1
C. 1 0 1
D. 1 0
Poprawna odpowiedź to 1 1, ponieważ analizując przedstawioną pętlę for, zaczynamy od zmiennej $i, która ma wartość 5. Pętla będzie działać tak długo, jak wartość $i jest większa od 1. W każdym kroku $i jest zmniejszane o 2, co oznacza, że w kolejnych iteracjach przyjmuje wartości 5, 3, a następnie 1. Wartości te są poddawane operacji modulo 2. Operacja modulo zwraca resztę z dzielenia, która dla liczb nieparzystych (5 i 3) wynosi 1 oraz dla liczby parzystej (0) wynosi 0. Zatem, w pierwszej iteracji, $i = 5, 5 % 2 = 1, a w drugiej iteracji, $i = 3, 3 % 2 = 1. Ostatecznie, pętla nie wykonuje się, gdy $i = 1, ponieważ warunek $i > 1 nie jest już spełniony. W rezultacie, poprawnym wynikiem działania tego fragmentu kodu jest wyświetlenie dwóch wartości 1. Przykład zastosowania takiej konstrukcji można znaleźć w sytuacjach, w których chcemy przetworzyć kolekcję liczb i wyodrębnić ich parzystość lub nieparzystość, co jest powszechną operacją w programowaniu.

Pytanie 27

Definicja formularza została użyta na stronie internetowej, która przesyła dane do pliku napisanego w języku PHP. W jakiej tablicy będą dostępne dane z tego formularza?

Ilustracja do pytania
A. $_ACTION
B. $_POST
C. $_GET
D. $_COOKIE
Tablica $_POST w PHP służy do przechwytywania danych przesyłanych za pomocą metody POST. Jest to standardowa praktyka w przypadku formularzy, które zawierają dane wrażliwe lub dużą ilość informacji. Metoda POST przesyła dane w treści żądania HTTP, co oznacza, że nie są one widoczne w adresie URL, co zwiększa bezpieczeństwo w porównaniu do metody GET. Przykładem zastosowania mogą być formularze logowania czy przesyłania plików. W PHP dostęp do danych z formularza można uzyskać poprzez prostą składnię, na przykład $_POST['nazwa_pola']. Ważne jest, aby zawsze walidować i filtrować dane wejściowe, aby zabezpieczyć aplikację przed atakami typu SQL Injection czy XSS. Zastosowanie metody POST jest zgodne z ogólnymi zasadami bezpieczeństwa i standardami projektowania aplikacji webowych, które zalecają ograniczanie widoczności danych przesyłanych przez użytkownika. Dobre praktyki obejmują również stosowanie HTTPS, aby dodatkowo zaszyfrować dane przesyłane pomiędzy klientem a serwerem.

Pytanie 28

W języku PHP zapisano fragment kodu działającego na bazie MySQL. Jego zadaniem jest wypisanie

$z = mysqli_query($db, "SELECT ulica, miasto, kod_pocztowy FROM adresy");
$a = mysqli_fetch_row($z);
echo "$a[1], $a[2]";
A. ulicy i miasta z pierwszego zwróconego rekordu.
B. ulicy i miasta ze wszystkich zwróconych rekordów.
C. miasta i kodu pocztowego ze wszystkich zwróconych rekordów.
D. miasta i kodu pocztowego z pierwszego zwróconego rekordu.
Brawo, wybrałeś prawidłową odpowiedź. Twój fragment kodu PHP wykonuje zapytanie SQL, które wybiera kolumny 'ulica', 'miasto', 'kod_pocztowy' z tabeli 'adresy'. Następnie używasz funkcji mysqli_fetch_row(), która pobiera pierwszy zwrócony rekord jako indeksowaną tablicę. Funkcja echo wyświetla drugi i trzeci element tej tablicy (indeksy 1 i 2), które odpowiadają kolumnom 'miasto' i 'kod pocztowy'. To jest standardową praktyką w PHP, aby uzyskać dane z pierwszego zwróconego rekordu. Możesz zastosować tę wiedzę do tworzenia skomplikowanych zapytań SQL lub do tworzenia różnego rodzaju aplikacji webowych, które potrzebują interakcji z bazą danych.

Pytanie 29

W języku PHP, dla zmiennych a = 5 oraz b = 3, jakie wyrażenie zwróci wartość zmiennoprzecinkową?

A. a + b
B. a / b
C. a && b
D. a * b
W języku PHP operacje na zmiennych numerycznych mogą prowadzić do różnych typów wyników w zależności od zastosowanego operatora. W przypadku zmiennych a = 5 i b = 3, jeśli wykonamy operację a / b, uzyskamy wynik 1.6666666666667, co jest wartością zmiennoprzecinkową. Operacja dzielenia w PHP zawsze zwraca wynik typu float, gdy jest wykonywana na liczbach całkowitych, o ile nie jest to dzielenie całkowite przez zero. Wartość ta można wykorzystać w różnych kontekstach, np. w obliczeniach finansowych, gdzie precyzyjne wartości dziesiętne są kluczowe. Warto również zauważyć, że PHP automatycznie konwertuje typy, co oznacza, że operacje na mieszanych typach (np. integer i float) również będą skutkować wynikiem o typie float. Przykładem może być sytuacja, w której wynik dzielenia jest dalej używany w operacjach matematycznych, co może znacząco wpłynąć na końcowy rezultat. Z punktu widzenia standardów PHP, operacje arytmetyczne są ściśle określone w dokumentacji i warto zaznajomić się z funkcjami związanymi z operacjami na liczbach, aby w pełni wykorzystać możliwości języka.

Pytanie 30

Fragment formularza zaprezentowany powyżej został przetworzony w skrypcie PHP. Wskaż poprawny sposób pobierania wartości z pola edycyjnego.

Ilustracja do pytania
A. name = GET['imie']
B. $name = $POST['Imię']
C. name = $_GET[imie]
D. $name = $_POST['imie']
Prawidłowe pobranie wartości z formularza przesłanego metodą POST w języku PHP wymaga użycia globalnej tablicy asocjacyjnej $_POST. W kontekście tego pytania, zmienna $name zostaje przypisana wartości wprowadzonej do pola edycyjnego o nazwie imie. Kluczowym aspektem jest zrozumienie różnic między metodami GET i POST w HTTP. Metoda POST jest często preferowana do przesyłania danych formularzy, ponieważ umożliwia przesyłanie większych ilości danych i oferuje większe bezpieczeństwo, ponieważ dane nie są widoczne w adresie URL. Użycie $_POST['imie'] jest zgodne z dobrymi praktykami, a także zgodne z zasadami bezpieczeństwa takimi jak sanitizacja danych wejściowych i walidacja. Przykładowo można użyć filtrów: $name = filter_input(INPUT_POST 'imie' FILTER_SANITIZE_STRING); co zapobiega wstrzyknięciom kodu. Takie podejście jest zgodne z najlepszymi praktykami programowania w PHP i zapewnia bezpieczeństwo oraz niezawodność aplikacji. Zrozumienie tych mechanizmów jest kluczowe w tworzeniu bezpiecznych i efektywnych aplikacji webowych.

Pytanie 31

W języku PHP wykonano poniższą operację. Aby uzyskać wszystkie rezultaty tego zapytania, należy:

$tab = mysqli_query($db, "SELECT imie FROM Osoby WHERE wiek < 18");
A. wyświetlić zmienną $db
B. zaindeksować zmienną tab, tab[0] to pierwsze imię
C. zastosować pętlę z poleceniem mysqli_fetch_row
D. użyć polecenia mysql_fetch
Odpowiedź, która zakłada zastosowanie pętli z poleceniem mysqli_fetch_row, jest poprawna, ponieważ po wykonaniu zapytania do bazy danych za pomocą mysqli_query, otrzymujemy wynik w postaci zestawu rekordów, który musimy przetworzyć. Funkcja mysqli_fetch_row pozwala na iteracyjne pobieranie wierszy z tego zestawu, co jest niezbędne do wyświetlenia wszystkich imion osób, które spełniają warunek wieku poniżej 18 lat. Przykładowy kod do iteracji może wyglądać tak: while($wiersz = mysqli_fetch_row($tab)) { echo $wiersz[0]; } W ten sposób każda iteracja w pętli wyświetli pierwszą kolumnę (imie) z każdego wiersza rezultatu. Tego typu podejście jest zgodne z dobrymi praktykami, ponieważ pozwala na efektywne zarządzanie pamięcią i ogranicza ryzyko przeciążenia systemu, szczególnie w przypadku dużych zbiorów danych. Ważne jest, aby pamiętać, że połączenie z bazą danych i zapytania powinny być zawsze odpowiednio zamykane i zabezpieczane przed atakami, co jest istotne w kontekście bezpieczeństwa aplikacji.

Pytanie 32

Aby uzyskać dane dotyczące środowiska, w którym działa serwer obsługujący PHP, należy użyć funkcji

A. php()
B. phpgetinfo()
C. phpinfo()
D. phpinformation()
Funkcja phpinfo() jest kluczowym narzędziem dla programistów i administratorów systemów, pozwalającym na uzyskanie szczegółowych informacji o środowisku PHP zainstalowanym na serwerze. Po jej wywołaniu otrzymujemy kompletny zestaw danych, który obejmuje wersję PHP, zainstalowane rozszerzenia, konfiguracje oraz informacje o serwerze, takie jak wersja serwera HTTP. Przykładowe użycie polega na umieszczeniu w skrypcie PHP linii <?php phpinfo(); ?>, co spowoduje wygenerowanie strony z informacjami, które mogą być przydatne w diagnostyce problemów lub podczas optymalizacji aplikacji. Funkcja ta jest zgodna ze standardami PHP i jest powszechnie stosowana w celu monitorowania środowiska pracy. Ważne jest, aby pamiętać, że udostępnianie wyników phpinfo() publicznie może stanowić zagrożenie dla bezpieczeństwa, dlatego zaleca się ograniczenie dostępu do tej informacji tylko do zaufanych użytkowników i środowisk deweloperskich. W kontekście rozwoju aplikacji, phpinfo() jest również pomocne przy identyfikacji dostępnych ustawień konfiguracyjnych oraz ich wartości, co jest nieocenione podczas procesu rozwoju i testowania.

Pytanie 33

Aby zobaczyć rezultaty działania skryptu napisanego w PHP, który jest częścią strony internetowej, musi on być

A. zinterpretowany po stronie serwera
B. skomputeryzowany po stronie użytkownika
C. skomputeryzowany po stronie serwera
D. interpretowany po stronie użytkownika
Odpowiedź "zinterpretowany po stronie serwera" jest poprawna, ponieważ skrypty PHP są przetwarzane na serwerze, a wynik ich działania jest następnie przesyłany do przeglądarki klienta. PHP jest językiem skryptowym, który działa w kontekście serwera, co oznacza, że kod PHP jest wykonywany, a jego wynik (np. HTML, JSON, XML) jest generowany zanim trafi do klienta. W praktyce, gdy użytkownik odwiedza stronę napisanej w PHP, serwer uruchamia skrypt, przetwarza dane, korzysta z baz danych, a następnie zwraca gotowy dokument do przeglądarki. Jest to zgodne z zasadą architektury klient-serwer, w której serwer odpowiada za logikę aplikacji, natomiast klient koncentruje się na prezentacji danych. Przykładowe zastosowanie PHP obejmuje tworzenie dynamicznych stron internetowych, systemów zarządzania treścią (CMS), a także aplikacji webowych, które wymagają interakcji z bazą danych. W branży web developmentu standardem jest używanie PHP w połączeniu z bazami danych MySQL lub PostgreSQL, co czyni go popularnym wyborem dla programistów.

Pytanie 34

W języku PHP, aby wyeliminować białe znaki na początku i końcu łańcucha znaków, należy zastosować funkcję

A. strlen( )
B. time( )
C. trim( )
D. sort( )
Funkcja trim() w języku PHP jest kluczowym narzędziem do usuwania zbędnych spacji oraz innych białych znaków z początku i końca ciągu znaków. Jest to istotne, gdyż nieprawidłowe białe znaki mogą prowadzić do błędów w przetwarzaniu danych wejściowych, np. przy porównywaniu czy zapisywaniu do bazy danych. Przykład użycia funkcji trim() może wyglądać następująco: $str = ' Hello World! '; $result = trim($str); echo $result; // Wyświetli 'Hello World!'. Warto zauważyć, że funkcja trim() działa nie tylko na spacji, ale również na tabulatorach i innych znakach białych. Z perspektywy dobrych praktyk, warto stosować trim() przed zapisem danych użytkownika w celu uniknięcia nieprzewidzianych błędów w aplikacji. W kontekście bezpieczeństwa, usuwanie niepotrzebnych spacji pomoże również w walidacji i sanitizacji danych, co jest kluczowe w kontekście ochrony przed atakami typu injection.

Pytanie 35

Z którego z pól klasy ```Dane``` można będzie uzyskać dostęp z zewnątrz, korzystając z obiektu stworzonego jako instancja tej klasy? ```class Dane { public $a; private $b; protected $c; }```

A. Do pola $b.
B. Do pola $c.
C. Do pola $a.
D. Do wszystkich pól.
Odpowiedź jest prawidłowa, ponieważ pole $a jest zadeklarowane jako publiczne, co oznacza, że jest dostępne z zewnątrz klasy i może być modyfikowane oraz odczytywane przez instancje tej klasy oraz inne klasy. Publiczne modyfikatory dostępu są standardową praktyką w programowaniu obiektowym, umożliwiającą swobodny dostęp do danych, co jest szczególnie przydatne w przypadku, gdy chcemy, aby dane były łatwo dostępne dla innych komponentów systemu. Na przykład, jeśli klasa Dane jest używana w aplikacji, możemy tworzyć obiekty tej klasy i bezpośrednio operować na polu $a, co sprzyja elastyczności i prostocie w zarządzaniu danymi. W dobrych praktykach programistycznych często wykorzystuje się publiczne pola w prostych strukturach danych, gdzie dostęp do danych musi być łatwy i szybki. Warto także pamiętać, że dostępność publicznych pól może być użyteczna w kontekście serializacji obiektów, gdzie prosto jest zmapować dane obiektu na format JSON lub XML.

Pytanie 36

W podanym kodzie PHP, w miejscu kropek należy umieścić odpowiednią instrukcję

$zapytanie = mysqli_query($db, "SELECT imie, nazwisko FROM uzytkownik");
while ($wiersz = ...................)
    echo "$wiersz[0] $wiersz[1]";
A. mysqli_fetch_array($zapytanie)
B. mysqli_query($zapytanie)
C. mysqli_free_result($zapytanie)
D. mysqli_num_fields($zapytanie)
Funkcja mysqli_fetch_array($zapytanie) jest używana do pobierania wyników zapytania SQL w formie tablicy asocjacyjnej lub indeksowanej. W kontekście podanego kodu, po wykonaniu zapytania SELECT do bazy danych, wyniki są zwracane jako zasób, który musi być przetworzony. Mysqli_fetch_array pozwala na iteracyjne przetwarzanie każdego wiersza z zestawu wyników, co umożliwia dostęp do poszczególnych wartości pól za pomocą indeksów lub kluczy. Jest to przydatne w sytuacjach, gdzie dane muszą być wyświetlane lub przetwarzane w pętli, jak w przykładowym kodzie. Tablica zwracana przez mysqli_fetch_array może zawierać pola zarówno z indeksami numerycznymi, jak i nazwami kolumn, co daje elastyczność w dostępie do danych. Zgodnie z dobrymi praktykami programistycznymi, zawsze należy sprawdzić, czy zapytanie zostało wykonane poprawnie, zanim zacznie się przetwarzać jego wyniki, oraz zwolnić pamięć po zakończeniu przetwarzania wyników. Stosowanie odpowiednich mechanizmów obsługi błędów i zabezpieczeń, takich jak przygotowane zapytania, jest również kluczowe dla bezpieczeństwa aplikacji.

Pytanie 37

Aby włączyć do skryptu zawartość pliku egzamin.php z kodem PHP, należy użyć polecenia

A. getfile("egzamin.php");
B. include("egzamin.php");
C. fgets("egzamin.php");
D. fopen("egzamin.php");
Instrukcja include w PHP jest używana do włączania zawartości jednego pliku PHP do innego. Dzięki temu możemy dzielić kod na mniejsze, modularne fragmenty, co ułatwia zarządzanie nim oraz sprzyja wielokrotnemu używaniu tych samych elementów w różnych częściach aplikacji. Kiedy używamy include('egzamin.php');, PHP wykonuje kod zawarty w pliku egzamin.php w miejscu, w którym znajduje się ta instrukcja. Jest to szczególnie przydatne w przypadku, gdy chcemy załadować szereg funkcji, klas lub nawet szablonów HTML. Ponadto, jeśli plik, który chcemy dołączyć, nie istnieje, PHP zgłosi ostrzeżenie, ale skrypt będzie kontynuowany. Z perspektywy standardów programowania i najlepszych praktyk w PHP, użycie include jest szeroko akceptowane do organizacji kodu. Przykładowo, w projekcie PHP można mieć osobny plik dla połączenia z bazą danych i dołączyć go w każdym skrypcie, który wymaga dostępu do danych. Taki sposób organizacji kodu zwiększa jego czytelność i ułatwia konserwację.

Pytanie 38

Cookie stworzony za pomocą polecenia PHP

setcookie("osoba", "Anna Kowalska", time() + (3600 * 24));
A. wygaśnie po jednej godzinie od momentu jego utworzenia
B. będzie przechowywany na serwerze przez jedną godzinę
C. będzie przechowywany na serwerze przez 24 godziny
D. wygaśnie po dobie od momentu jego utworzenia
Odpowiedź wygaśnie po jednej dobie od jego utworzenia jest prawidłowa, ponieważ w funkcji setcookie() parametr time() + (3600 * 24) ustala czas wygaśnięcia ciasteczka na 24 godziny, licząc od momentu jego utworzenia. W praktyce oznacza to, że ciasteczko będzie dostępne dla przeglądarki przez całą dobę, co jest przydatne w wielu aplikacjach webowych. Ciasteczka są używane do przechowywania informacji o sesji użytkownika, preferencjach oraz stanach aplikacji. Przykładem zastosowania może być pamiętanie, że użytkownik jest zalogowany, co ułatwia korzystanie z serwisu. Zgodnie z najlepszymi praktykami, zaleca się ustawianie odpowiednich parametrów dla ciasteczek, takich jak HttpOnly i Secure, a także ich właściwe zarządzanie, aby nie narażać danych użytkowników na niebezpieczeństwo. Ponadto, dobrze jest regularnie przeglądać i aktualizować politykę dotycząca ciasteczek, aby spełniać wymogi przepisów o ochronie danych osobowych, takich jak RODO.

Pytanie 39

Funkcję session_start() w PHP należy zastosować przy realizacji

A. przetwarzania formularza
B. ładowania danych z zewnętrznych plików
C. jakiejkolwiek strony internetowej, która obsługuje cookies
D. wielostronicowej strony, która wymaga dostępu do danych podczas przechodzenia pomiędzy stronami
Wybór odpowiedzi dotyczącej dowolnej witryny obsługującej ciasteczka wskazuje na niepełne zrozumienie roli sesji w PHP. Ciasteczka, choć są narzędziem do przechowywania danych w przeglądarkach, różnią się zasadniczo od sesji. Główną różnicą jest to, że ciasteczka są przechowywane po stronie klienta, co oznacza, że użytkownik ma dostęp do ich zawartości i mogą być one modyfikowane przez użytkownika. W przypadku sesji, dane są przechowywane po stronie serwera, co oferuje większe bezpieczeństwo i kontrolę nad danymi użytkownika. W kontekście wczytywania danych z plików zewnętrznych, nie ma związku z sesjami, ponieważ ta operacja nie wymaga przechowywania stanu użytkownika. Podobnie, odpowiedź dotycząca obsługi formularza również nie uwzględnia, że sesje są stosowane do utrzymywania stanu aplikacji, a nie do samej obsługi formularzy. Typowym błędem jest mylenie sesji z mechanizmami przechowywania danych, które są bardziej odpowiednie dla informacji statycznych, a nie dynamicznych interakcji użytkownika. Zrozumienie, kiedy używać sesji, a kiedy ciasteczek lub innych metod przechowywania, jest kluczowe dla tworzenia bezpiecznych i funkcjonalnych aplikacji internetowych.

Pytanie 40

W dokumentacji języka PHP znajduje się informacja dotycząca jednej z jego funkcji:
„Warning. This extension was deprecated in PHP 5.5.0, and it was removed in PHP 7.0.0.”.
Zgodnie z tą informacją użycie tej funkcji jest:

A. niemożliwe w wersjach PHP 5.5.0 lub starszych i dostępne dopiero od wersji 7.0.0.
B. dostępne w wersjach PHP od 5.5.0 do 7.0.0 (włącznie) i niedostępne w innych wersjach.
C. niezalecane w wersji PHP 5.5.0 i dostępne od wersji 7.0.0.
D. przestarzałe od wersji PHP 5.5.0 i całkowicie usunięte w wersji 7.0.0.
Komunikat z dokumentacji PHP „Warning. This extension was deprecated in PHP 5.5.0, and it was removed in PHP 7.0.0.” oznacza dwa różne stany w cyklu życia funkcji/rozszerzenia. „Deprecated” od wersji 5.5.0 znaczy, że funkcja nadal działa, ale jej użycie jest oficjalnie niezalecane. Silnik PHP może generować ostrzeżenia (E_DEPRECATED), a autorzy języka jasno sugerują, żeby migrować kod na nowsze, wspierane rozwiązania. „Removed w PHP 7.0.0” oznacza, że od tej wersji funkcja po prostu nie istnieje – próba jej użycia skończy się błędem typu „undefined function” lub „undefined extension”. Z mojego doświadczenia wynika, że taki status to sygnał alarmowy dla programisty: w nowych projektach nie używamy funkcji oznaczonych jako deprecated, a w istniejących aplikacjach planujemy refaktoryzację, zanim wejdziemy na wyższą wersję PHP. Dobrym przykładem jest stare rozszerzenie mysql_* – od PHP 5.5 było oznaczone jako przestarzałe, a w PHP 7 zostało usunięte i trzeba było przejść na mysqli lub PDO. W praktyce, gdy widzisz w dokumentacji „deprecated od wersji X”, powinieneś: sprawdzić zalecaną alternatywę, włączyć raportowanie błędów i ostrzeżeń na środowisku developerskim, usunąć stopniowo wszystkie wywołania danej funkcji. Branżową dobrą praktyką jest też testowanie aplikacji na docelowej wersji PHP przed aktualizacją produkcji, żeby właśnie takie usunięte funkcje wyłapać automatycznie w logach lub podczas testów jednostkowych. Twoja odpowiedź dokładnie to odczytała: od 5.5 funkcja jest przestarzała (deprecated), a w 7.0 całkowicie znika z języka.