Wyniki egzaminu

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

Egzamin zdany!

Wynik: 28/40 punktów (70,0%)

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

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 1
B. 1 0 1
C. 1 0
D. 1 0 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 2

Jakie znaczniki należy zastosować, aby w pliku z rozszerzeniem php umieścić kod napisany w języku PHP?

A. <?php ................................ ?>
B. <?php> .......................... <php?>
C. <php ..................................... />
D. <php>  .......................  </php>
Żeby umieścić kod PHP w pliku o rozszerzeniu .php, trzeba użyć znaczników <?php i ?>. Te znaczniki mówią serwerowi, że wszystko, co jest między nimi, należy traktować jako kod PHP. To jest standardowa praktyka w PHP, ważne jest, aby kod był właściwie przetwarzany przez interpreter. Na przykład, jeżeli chcemy pokazać napis na stronie, możemy użyć: <?php echo 'Witaj świecie!'; ?>. Dzięki temu można w łatwy sposób wpleść kod PHP w plik HTML i robić różne rzeczy, jak np. pracować z bazami danych czy obsługiwać formularze. Zrozumienie tych znaczników jest mega ważne dla każdego programisty, bo wpływa to na wydajność i bezpieczeństwo aplikacji. Jeszcze jedno, PHP to język dynamicznie typowany, więc jego interpretacja może się różnić w zależności od kontekstu. Dlatego tak istotne jest, żeby dobrze formatować kod.

Pytanie 3

Określ rezultat działania podanego kodu PHP, jeśli zmienna tab jest tablicą. ```$tab = explode(",","jelenie,sarny,dziki,lisy,borsuki"); echo $tab[1]." ".$tab[2];```

A. dziki lisy
B. jelenie sarny
C. lisy borsuki
D. sarny dziki
Wynik działania tego kodu PHP to 'sarny dziki'. Dzieje się tak dzięki funkcji explode oraz indeksom tablicy. Funkcja explode dzieli tekst na kawałki według separatora, który w tym przypadku to przecinek. Więc, kiedy zastosujemy ją na ciągu 'jelenie,sarny,dziki,lisy,borsuki', dostaniemy tablicę, gdzie indeks 0 to 'jelenie', indeks 1 to 'sarny', indeks 2 to 'dziki', indeks 3 to 'lisy', a indeks 4 to 'borsuki'. Potem, polecenie echo wyświetla wartości z indeksów 1 i 2, które mają 'sarny' oraz 'dziki'. To całkiem praktyczne w programowaniu, zwłaszcza gdy przerabiamy i manipulujemy danymi tekstowymi. Dzięki explode łatwo dzielimy dane na mniejsze kawałki, co przydaje się w różnych sytuacjach, jak analiza danych czy robienie formularzy, a nawet w pracy z plikami CSV.

Pytanie 4

W języku PHP zmienna $_GET jest zmienną

A. predefiniowaną, wykorzystywaną do zbierania wartości formularza po nagłówkach żądania HTTP (dane z formularza nie są widoczne w adresie)
B. utworzoną przez autora strony, używaną do przesyłania danych z formularza przez adres URL
C. zwykłą, utworzoną przez autora witryny
D. predefiniowaną, używaną do przesyłania informacji do skryptów PHP za pośrednictwem adresu URL
Odpowiedź jest poprawna, ponieważ zmienna $_GET w języku PHP jest predefiniowaną tablicą asocjacyjną, która służy do pobierania danych przekazanych przez metodę GET. Gdy użytkownik wysyła formularz z wykorzystaniem metody GET, wartości pól formularza są dołączane do adresu URL jako parametry zapytania. Na przykład, w adresie 'example.com/page.php?name=John&age=30', zmienna $_GET będzie zawierać wartości ['name' => 'John', 'age' => '30']. Dzięki temu skrypty PHP mogą uzyskiwać dostęp do tych danych i je przetwarzać. Używanie $_GET jest powszechną praktyką, szczególnie w przypadku, gdy dane nie są wrażliwe, ponieważ są widoczne w adresie URL. Ważne jest, aby pamiętać o bezpieczeństwie, stosując odpowiednie mechanizmy filtrowania i walidacji, aby uniknąć ataków, takich jak SQL Injection. Zastosowanie $_GET jest istotne w kontekście SPA (Single Page Applications), gdzie dane są często przesyłane na serwer w celu pobrania lub zaktualizowania zawartości strony bez przeładowania całej aplikacji.

Pytanie 5

Jak, wykorzystując język PHP, można zapisać w ciasteczku wartość znajdującą się w zmiennej dane na okres jednego dnia?

A. setcookie("dane", $dane, time() + (3600*24));
B. setcookie("dane", "dane", 0);
C. setcookie("dane", $dane, time());
D. setcookie("dane", $dane, 0);
Poprawna odpowiedź to setcookie("dane", $dane, time() + (3600*24));, ponieważ umożliwia ona zapisanie wartości zmiennej $dane w ciasteczku o nazwie "dane" na okres jednego dnia. Funkcja setcookie() w PHP przyjmuje trzy podstawowe argumenty: nazwę ciasteczka, jego wartość oraz czas wygaśnięcia. W tym przypadku, używając time() + (3600*24), ustawiamy czas wygaśnięcia ciasteczka na aktualny czas plus 24 godziny (3600 sekund w godzinie razy 24). Jest to zgodne z najlepszymi praktykami zarządzania sesjami i danymi użytkowników, ponieważ pozwala na przechowywanie informacji, które są dostępne dla użytkownika przez dłuższy czas, co może być przydatne w różnych scenariuszach, takich jak zapamiętywanie preferencji użytkownika lub stanu logowania. Użycie odpowiednich czasów wygaśnięcia wpływa na bezpieczeństwo i prywatność danych. Dobre praktyki sugerują także, aby ciasteczka były używane w sposób przemyślany, aby nie obniżać wydajności aplikacji ani nie narażać danych użytkowników na nieautoryzowany dostęp.

Pytanie 6

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 $a.
B. Do wszystkich pól.
C. Do pola $c.
D. Do pola $b.
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 7

Jaką wartość przyjmie zmienna $a po wykonaniu poniższej sekwencji poleceń w języku PHP?

$a = 1; $a++; $a += 10; --$a;
A. 1
B. 10
C. 11
D. 12
Gratulacje, Twoja odpowiedź jest prawidłowa. Instrukcje wykonane w kodzie PHP prowadzą do osiągnięcia wartości 11 przez zmienną 'a'. Proces ten jest realizowany w czterech krokach. Najpierw zmienna 'a' jest inicjowana wartością 1. Następnie wartość ta jest zwiększana o 1, co daje nam 2. Do tej wartości dodawane jest 10, co daje nam łącznie 12. Na końcu, wartość ta jest zmniejszana o 1, co daje nam ostateczną wartość 11. Warto przypomnieć, że w języku programowania PHP, tak jak w większości języków, operacje są wykonywane od lewej do prawej. To jest ważne do zapamiętania, gdy mamy do czynienia z bardziej skomplikowanymi sekwencjami operacji.

Pytanie 8

Fragment kodu w PHP przedstawia się następująco (patrz ramka): Przy założeniu, że zmienna tablicowa $tab zawiera liczby naturalne, wynik działania programu polega na wypisaniu

Ilustracja do pytania
A. elementu tablicy równemu wartości $tab[0]
B. największego elementu w tablicy
C. najmniejszego elementu w tablicy
D. tych elementów, które przewyższają wartość zmiennej $liczba
Kod w PHP, który widzisz, robi coś fajnego – znajduje największy element w tablicy. Na początku przydzielamy zmiennej $liczba wartość pierwszego elementu z tablicy $tab. Potem przechodzimy przez wszystkie elementy tablicy za pomocą pętli foreach. W środku mamy warunek if, który sprawdza, czy aktualny element $element jest większy od tego, co mamy w $liczba. Jeśli tak, zmieniamy wartość $liczba na ten właśnie element. Gdy już skończymy pętlę, w $liczba mamy największą wartość z tablicy, a następnie to wypisujemy przez echo. Takie podejście to całkiem dobre rozwiązanie, szczególnie przy mniejszych zbiorach danych. Moim zdaniem, jest to piece of cake w programowaniu i często używane za każdym razem, gdy porównujemy różne wartości. Dobrze jest się nauczyć tej metody, bo sprawdza się w różnych sytuacjach, chociaż przy większych danych warto też pomyśleć o innych algorytmach jak sortowanie, które mogą uprościć sprawę.

Pytanie 9

Określ rezultat działania podanego 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. sarny dziki
D. lisy borsuki
Wynik wykonania kodu PHP przedstawionego w pytaniu to 'sarny dziki', co odpowiada trzeciej opcji. Analizując kod, najpierw wykorzystujemy funkcję explode, która dzieli ciąg znaków na elementy tablicy, używając przecinka jako separatora. W rezultacie zmienna $tab stanie się tablicą składającą się z pięciu elementów: 'jelenie', 'sarny', 'dziki', 'lisy', 'borsuki'. Następnie w instrukcji echo odwołujemy się do drugiego i trzeciego elementu tablicy, co odpowiada indeksom 1 i 2, ponieważ indeksowanie w PHP zaczyna się od zera. Zatem $tab[1] to 'sarny', a $tab[2] to 'dziki'. W kontekście praktycznym, znajomość pracy z tablicami oraz funkcji do ich manipulacji jest kluczowa w programowaniu w PHP, zwłaszcza przy pracy z danymi w formacie CSV lub innymi formatami wymagającymi podziału ciągów. Opanowanie takich technik jest istotne dla programistów zajmujących się tworzeniem aplikacji webowych, gdzie przetwarzanie danych wejściowych jest na porządku dziennym.

Pytanie 10

W języku PHP zmienna globalna $_POST, służąca do odbierania danych z formularza przesłanych metodą POST, jest: 

A. tablicą asocjacyjną.
B. zmienną tekstową.
C. obiektem klasy stdClass.
D. ciągiem znaków zakodowanym w JSON.
Poprawnie – w PHP zmienna superglobalna $_POST jest tablicą asocjacyjną, czyli zbiorem par klucz ⇒ wartość. Kluczami są nazwy pól formularza (atrybut name w HTML), a wartościami – dane przesłane metodą POST. Dzięki temu po stronie PHP możesz wygodnie odwoływać się do konkretnych pól, np.: $imie = $_POST['imie']; $email = $_POST['email'];. To jest bardzo naturalne, bo struktura formularza HTML też opiera się na nazwach pól, więc mapowanie na tablicę asocjacyjną jest po prostu praktyczne. Moim zdaniem ważne jest też zrozumienie, że $_POST zawsze jest tablicą (array w PHP), nawet jeśli w formularzu jest tylko jedno pole. Jeżeli użytkownik nic nie wyśle, to będzie to pusta tablica, a nie null czy ciąg znaków. Z mojego doświadczenia warto zawsze sprawdzać isset($_POST['nazwa']) albo używać filter_input(INPUT_POST, 'nazwa'), co jest zgodne z dobrymi praktykami bezpieczeństwa. $_POST jest jedną z tzw. superglobali, obok $_GET, $_SERVER, $_FILES, $_SESSION itd. Są one dostępne w całym skrypcie, niezależnie od zasięgu (scope) funkcji. W kontekście formularzy webowych przyjętym standardem jest: używamy $_GET do danych z adresu URL (zapytania typu ?id=5), a $_POST do danych z formularzy, szczególnie gdy przesyłamy hasła, większe teksty, dane wrażliwe. To jest zgodne z typową architekturą aplikacji webowych w PHP. Warto też wiedzieć, że wartości w $_POST są zawsze typu string (lub tablica stringów, gdy używasz nazw pól z nawiasami, np. name="interesy[]"), ale sama zmienna $_POST jest tablicą asocjacyjną. Dobra praktyka: nie ufaj ślepo zawartości $_POST – zawsze waliduj i filtruj dane wejściowe przed zapisaniem do bazy czy wyświetleniem użytkownikowi, żeby unikać np. XSS i SQL injection.

Pytanie 11

Jaki zestaw liczb zostanie wyświetlony w wyniku działania pętli napisanej w języku PHP?

$liczba = 10;
while ($liczba < 50) {
  echo "$liczba ";
  $liczba = $liczba + 5;
}
A. 0 5 10 15 20 25 30 35 40 45 50
B. 0 5 10 15 20 25 30 35 40 45
C. 10 15 20 25 30 35 40 45
D. 10 15 20 25 30 35 40 45 50
Prawidłowa odpowiedź to 10 15 20 25 30 35 40 45 ponieważ pętla while w języku PHP działa na zasadzie sprawdzania warunku przed każdą iteracją. W tym przypadku zmienna $liczba jest inicjalizowana wartością 10 a warunek w pętli sprawdza czy $liczba jest mniejsza niż 50. Wartość zmiennej jest wypisywana i następnie zwiększana o 5 w każdym kroku iteracyjnym. Pętla zakończy się gdy $liczba osiągnie wartość 50 lub większą. Dlatego ostatnią wypisaną wartością będzie 45 gdyż po dodaniu 5 zmienna $liczba wyniesie 50 i przestanie spełniać warunek pętli. Takie konstrukcje pętli są powszechne w programowaniu szczególnie gdy mamy do czynienia z iteracją po stałych przedziałach liczbowych. Stosowanie pętli while jest zalecane w przypadku gdy liczba iteracji nie jest z góry znana a jedynie zależy od spełnienia określonego warunku. Ważne jest by pamiętać o możliwości nieskończonej pętli jeśli warunek nigdy nie zostanie spełniony co może prowadzić do błędów wykonania programu. Praktycznym zastosowaniem takiej pętli jest iteracja po zbiorze danych którego rozmiar zależy od zewnętrznych czynników np danych wejściowych od użytkownika lub zawartości pliku.

Pytanie 12

Instrukcja języka PHP tworząca obiekt pkt dla zdefiniowanej w ramce klasy Punkt ma postać

class Punkt {  public $x;
                public $y;  }
A. pkt Punkt();
B. pkt Punkt;
C. pkt = new Punkt();
D. Punkt() pkt;
Twoja odpowiedź jest prawidłowa, gratuluję! W języku PHP, aby utworzyć nowy obiekt klasy, używamy słowa kluczowego 'new', a następnie nazwy klasy. Poprawna instrukcja, która tworzy obiekt 'pkt' klasy 'Punkt', ma więc postać '$pkt = new Punkt();'. Tę konstrukcję używamy, kiedy chcemy utworzyć nową instancję klasy. Warto pamiętać, że można tworzyć wiele obiektów tej samej klasy, a każdy z nich będzie miał własny zestaw danych (właściwości). Instancje klas są podstawą programowania obiektowego, które pozwala na tworzenie bardziej złożonych i łatwiejszych do zarządzania systemów. Dobre zrozumienie tego konceptu jest kluczowe dla efektywnego programowania w PHP.

Pytanie 13

Jakie oznaczenie wykorzystuje się do jednoliniowego komentarza w skryptowym języku PHP?

A. $
B. /*
C. #
D. --
Oznaczenie jednoliniowego komentarza w języku PHP realizuje się za pomocą znaku '#'. Komentarze są niezwykle ważnym elementem kodu, ponieważ pozwalają programistom na dodawanie wyjaśnień, notatek lub przypomnień dotyczących implementacji. Umożliwiają one innym programistom (lub nawet samym sobie w przyszłości) zrozumienie kontekstu i logiki stosowanych rozwiązań. Przykładowo, można umieścić komentarz w kodzie w taki sposób: '# To jest komentarz, który wyjaśnia, co robi poniższy kod'. Warto pamiętać, że stosowanie komentarzy zgodnie z najlepszymi praktykami programowania zwiększa czytelność kodu oraz ułatwia jego utrzymanie. PHP pozwala również na stosowanie komentarzy wieloliniowych z użyciem znaków '/* ... */', jednak w przypadku komentarzy jednoliniowych preferowanym podejściem jest użycie znaku '#', szczególnie w kontekście prostych, krótkich notatek. Przykład: echo 'Hello World!'; # Ta linia wyświetla powitanie.

Pytanie 14

Który z kodów PHP sprawi, że zostanie wyświetlona sformatowana data oraz czas ostatnich odwiedzin użytkownika witryny, natomiast podczas pierwszej wizyty nic się nie wyświetli?

Kod 1.   echo date('d.m.Y, H:i', $_COOKIE['c1']);
         setcookie('c1', time());

Kod 2.   if(isset($_COOKIE['c1']))
           echo date($_COOKIE['c1']);
         setcookie('c1', time(), time() + 30 * 86400);

Kod 3.   echo date($_COOKIE['c1']);
         setcookie('c1', time(), time() + 30 * 86400);

Kod 4.   setcookie('c1', time(), time() + 30 * 86400);
A. Kod 3.
B. Kod 1.
C. Kod 2.
D. Kod 4.
Prawidłowa odpowiedź to Kod 2. Ten kod wykorzystuje funkcję isset() w PHP do sprawdzenia, czy ciasteczko o nazwie 'c1' jest już ustawione. Jeżeli tak, oznacza to, że użytkownik odwiedził stronę wcześniej i kod wyświetla datę i czas jego ostatnich odwiedzin zapisane w tym ciasteczku. Następnie ciasteczko jest aktualizowane i zapisuje obecny czas, który będzie wyświetlany podczas następnej wizyty. Jeżeli ciasteczko 'c1' nie istnieje, oznacza to, że jest to pierwsza wizyta użytkownika na stronie. W takim przypadku kod nie wyświetla nic, a jedynie tworzy ciasteczko 'c1' z aktualnym czasem. To podejście jest zgodne z dobrymi praktykami w PHP, które zalecają użycie funkcji isset() do sprawdzenia istnienia zmiennej przed jej użyciem, co pozwala uniknąć błędów w przypadku, gdy zmienna nie jest zdefiniowana. Korektnie użycie ciasteczek pozwala na śledzenie aktywności użytkownika i dostosowywanie treści do jego potrzeb.

Pytanie 15

Kiedy dane z formularza są przesyłane w sposób jawny jako parametry w adresie URL, w skrypcie PHP można je odczytać za pomocą tablicy

A. $_COOKIE
B. $_GET
C. $_SESSION
D. $_POST
Odpowiedź 1 jest poprawna, ponieważ dane przesyłane w postaci jawnej jako parametry w adresie URL są dostępne w PHP poprzez tablicę superglobalną $_GET. Ta tablica przechowuje dane, które zostały przesłane metodą GET. Przykład użycia: jeśli mamy adres URL w formie 'example.com/page.php?name=Jan&age=25', to w skrypcie PHP możemy uzyskać te wartości poprzez $_GET['name'] i $_GET['age']. Wartością $_GET['name'] będzie 'Jan', a $_GET['age'] to '25'. Jest to standardowa praktyka w PHP, umożliwiająca łatwe pozyskiwanie danych w różnych aplikacjach webowych, szczególnie w kontekście wyszukiwania i filtracji wyników. Ważne jest jednak pamiętanie o bezpieczeństwie i sanitizacji danych wejściowych, ponieważ wartości te mogą być modyfikowane przez użytkowników. Użycie funkcji takich jak htmlspecialchars() może pomóc w zapobieganiu atakom XSS, a filter_input() w walidacji danych. Dobrą praktyką jest także unikanie przesyłania wrażliwych informacji w adresie URL, ponieważ mogą być one widoczne w historii przeglądarki oraz serwerowych logach.

Pytanie 16

W języku PHP stwórz warunek, który będzie prawdziwy, gdy zmienna

$a 
będzie jakąkolwiek liczbą całkowitą mniejszą niż -10 lub gdy zmienna
$b 
będzie liczbą z zakresu (25, 75). Wyrażenie logiczne w tym warunku powinno mieć postać
A. ($a < -10) and (($b > 25) or ($b < 75))
B. ($a < -10) and (($b > 25) and ($b < 75))
C. ($a < -10) or (($b > 25) and ($b < 75))
D. ($a < -10) or (($b > 25) or ($b < 75))
W analizowanych odpowiedziach występują różne nieprawidłowe założenia dotyczące użycia operatorów logicznych. W przypadku wyrażenia ($a < -10) and (($b > 25) and ($b < 75)), warunek wymaga, aby oba kryteria były spełnione jednocześnie, co nie odpowiada treści pytania, w której wystarczy spełnienie jednego z nich. Z kolei odpowiedź ($a < -10) or (($b > 25) or ($b < 75)) wprowadza błąd przez użycie operatora 'or' w niewłaściwy sposób, ponieważ drugi człon pozwala na spełnienie jednego z warunków niezależnie od drugiego, co sprawia, że warunek dotyczący zmiennej $b staje się zbyt ogólny. Odpowiedź ($a < -10) and (($b > 25) or ($b < 75)) również jest błędna, ponieważ wymaga zarówno, aby zmienna $a była mniejsza od -10, jak i aby $b było większe niż 25 lub mniejsze niż 75, co wprowadza niepotrzebne ograniczenia. Te błędne odpowiedzi wskazują na typowe trudności w zrozumieniu logiki warunkowej w programowaniu, w szczególności przy użyciu operatorów 'and' i 'or'. Kluczowe jest, aby zawsze dokładnie analizować wymagania dotyczące warunków logicznych oraz zrozumieć ich konsekwencje w kontekście wykonania kodu.

Pytanie 17

W skrypcie PHP należy stworzyć cookie o nazwie "owoce", które przyjmie wartość "jabłko". Cookie powinno być dostępne przez jedną godzinę od momentu jego utworzenia. W tym celu w skrypcie PHP trzeba zastosować funkcję:

A. setcookie("owoce", "jabłko", time()+3600);
B. setcookie("jabłko", "owoce", time()+3600);
C. cookie("owoce", "jabłko", 3600);
D. cookie("jabłko", "owoce", 3600);
Funkcja setcookie() jest standardowym narzędziem w PHP, używanym do tworzenia cookies. W przypadku tej odpowiedzi, używamy jej w poprawny sposób, definiując nazwę cookies jako 'owoce', wartość jako 'jabłko' oraz czas wygaśnięcia. Wywołanie time()+3600 oznacza, że cookie będzie ważne przez jedną godzinę od momentu jego utworzenia. Ważne jest, aby pamiętać, że setcookie() musi być wywołane przed jakimkolwiek kodem HTML, który jest wysyłany do przeglądarki. W praktyce, cookies mogą być używane do przechowywania informacji o użytkownikach, takich jak preferencje lub dane sesji. Na przykład, w przypadku aplikacji e-commerce, cookies mogą pomóc w śledzeniu produktów dodanych do koszyka przez użytkownika, co jest istotne dla poprawy doświadczeń zakupowych. Standardy dotyczące cookies wskazują również na konieczność zachowania ostrożności w zakresie prywatności i bezpieczeństwa, dlatego warto stosować flagi zabezpieczeń, takich jak HttpOnly i Secure, w zależności od kontekstu użycia.

Pytanie 18

Jaką wartość zwróci funkcja empty($a); w języku PHP, gdy zmienna $a będzie miała wartość 0?

A. TRUE
B. FALSE
C. NULL
D. 0
Funkcja empty($a) w języku PHP zwraca TRUE, gdy zmienna $a jest uznawana za pustą. Zgodnie z definicją, pustą wartość w PHP mają zmienne, które są równoważne FALSE, co obejmuje m.in. wartość 0, pusty string, NULL oraz pustą tablicę. W przypadku, gdy zmienna $a przyjmuje wartość liczbową równą 0, funkcja empty() zwróci TRUE, ponieważ 0 jest interpretowane jako wartość uznawana za pustą. To zachowanie jest zgodne z zasadami silnej typizacji w PHP, które pozwalają na dynamiczne sprawdzanie typów zmiennych. W praktyce, funkcję empty() można wykorzystać do walidacji danych wejściowych, na przykład w formularzach, gdzie istotne jest, aby użytkownik wprowadził wartość. Zamiast porównywać zmienną z różnymi pustymi wartościami, wywołanie empty() pozwala na bardziej zwięzły i czytelny kod. Warto również pamiętać, że empty() nie generuje ostrzeżeń w przypadku nieistniejącej zmiennej, co czyni ją bezpieczniejszym wyborem niż inne metody sprawdzania wartości.

Pytanie 19

Wskaź, która instrukcja jest równoważna z instrukcją switch w języku PHP?

Ilustracja do pytania
A. Instrukcja 1
B. Instrukcja 4
C. Instrukcja 3
D. Instrukcja 2
Instrukcja switch w PHP służy do wykonywania różnych bloków kodu w zależności od wartości wyrażenia. W podanym przykładzie, jeśli zmienna $liczba wynosi 10 lub 20, zostanie zwiększona o 1. W przeciwnym razie $liczba zostanie ustawiona na 0. Instrukcja 2 używa warunku if z operatorem or, który sprawdza, czy $liczba jest równa 10 lub 20, co odpowiada logice w switch. Dzięki temu, mimo że struktura instrukcji if różni się od switch, logika działania jest identyczna. Praktycznie, użycie instrukcji if z operatorem or w takich sytuacjach jest czytelne i wydajne zwłaszcza jeśli mamy do czynienia z ograniczoną liczbą warunków. Warto zauważyć, że switch jest bardziej efektywny, gdy mamy wiele przypadków do sprawdzenia, ale if z operatorami logicznymi jest bardziej elastyczny, co czyni go przydatnym w różnorodnych scenariuszach programistycznych. Dobre praktyki wskazują na wybór struktury kontrolnej w zależności od złożoności i specyfiki problemu, co pozwala na optymalizację czytelności i utrzymania kodu.

Pytanie 20

Po wykonaniu kodu PHP zostanie wyświetlona aktualna data zawierająca jedynie
echo date("Y");

A. rok
B. miesiąc i rok
C. dzień
D. dzień i miesiąc
Odpowiedź \"rok\" jest prawidłowa, ponieważ funkcja `date()` w PHP, w przypadku użycia formatu \"Y\", zwraca czterocyfrowy rok bieżącej daty. Funkcja ta jest kluczowa w kontekście programowania w PHP, szczególnie gdy chodzi o zarządzanie datami i czasem. W praktyce, używanie tej funkcji jest niezwykle istotne w aplikacjach internetowych, gdzie często jest potrzebne wyświetlenie daty w różnych formach. Na przykład, w systemach zarządzania treścią (CMS) można stosować funkcję `date()` do automatycznego generowania daty publikacji artykułów. Warto również zaznaczyć, że PHP oferuje różne formaty dla dat, a stosowanie standardów, takich jak format ISO 8601, może być przydatne w przypadku wymiany danych z innymi systemami. Używanie `date("Y")` to dobra praktyka, aby uniknąć problemów z lokalizacją i zapewnić spójność w wyświetlaniu daty na stronach internetowych."

Pytanie 21

Na stronie www znajduje się formularz, do którego należy stworzyć następujące funkcje: walidacja: w czasie wypełniania formularza na bieżąco kontrolowana jest poprawność danych, przesyłanie danych: po zrealizowaniu formularza i jego zatwierdzeniu, dane są przekazywane do bazy danych na serwerze. Aby zrealizować tę funkcjonalność w jak najprostszy sposób, należy zapisać

A. walidację w języku JavaScript, a przesyłanie danych w skrypcie PHP
B. walidację oraz przesyłanie danych w języku JavaScript
C. walidację oraz przesyłanie danych w języku PHP
D. walidację w skrypcie PHP, a przesyłanie danych w JavaScript
Wybór walidacji oraz przesyłania danych wyłącznie w PHP nie tylko nie jest optymalny, ale również niezgodny z dobrymi praktykami. Walidacja po stronie serwera, bez wcześniejszego sprawdzenia danych po stronie klienta, prowadzi do gorszego doświadczenia użytkownika, ponieważ każde błędne dane są wysyłane na serwer przed zwróceniem błędu do użytkownika. Taki proces zwiększa obciążenie serwera, ponieważ każde błędne żądanie wiąże się z niepotrzebnym przetwarzaniem, co jest szczególnie nieefektywne w przypadku formularzy często używanych przez użytkowników. W przypadku przesyłania danych w JavaScript, istnieje ryzyko, że dane mogą być manipulowane po drodze, co prowadzi do problemów z bezpieczeństwem, takich jak ataki typu Cross-Site Scripting (XSS). Oprócz tego, nie jest właściwe korzystanie z PHP do walidacji rzeczywistych danych wejściowych w interfejsie użytkownika, gdyż PHP jest językiem działającym po stronie serwera i nie ma dostępu do stanu interfejsu. Przykładem błędnego myślenia może być założenie, że serwer może efektywnie obsłużyć wszystkie błędy walidacji na etapie zapisu danych w bazie, co jest nieefektywne w praktyce. W związku z tym każda aplikacja internetowa powinna implementować walidację danych po stronie klienta i serwera, aby zminimalizować problemy z użytkownikami oraz zapewnić bezpieczeństwo aplikacji.

Pytanie 22

Funkcja phpinfo() umożliwia

A. uzyskanie danych o środowisku serwera, na którym działa PHP
B. analizowanie kodu PHP w celu wykrycia błędów
C. sprawdzenie wartości zmiennych zastosowanych w kodzie PHP
D. rozpoczęcie wykonywania kodu w języku PHP
Funkcja phpinfo() jest niezwykle użytecznym narzędziem w PHP, które pozwala deweloperom na uzyskanie szczegółowych informacji o środowisku pracy serwera. Dzięki temu, można dowiedzieć się o zainstalowanych rozszerzeniach PHP, wersji PHP, ustawieniach konfiguracyjnych, a także o systemie operacyjnym, na którym działa serwer. Przykładowo, wywołanie phpinfo(); w skrypcie PHP zwraca stronę zawierającą różnorodne informacje, takie jak wartości zmiennych konfiguracyjnych (np. memory_limit, upload_max_filesize), co jest nieocenione podczas optymalizacji aplikacji oraz rozwiązywania problemów. Ponadto, korzystanie z phpinfo() jest zgodne z dobrymi praktykami w programowaniu, ponieważ pomaga zrozumieć, w jakim środowisku działa aplikacja, co jest kluczowe przy jej rozwijaniu i testowaniu. Deweloperzy często używają tej funkcji w fazie debugowania, aby upewnić się, że wszystkie wymagane rozszerzenia są aktywne i poprawnie skonfigurowane, co może zapobiec wielu problemom podczas wdrożenia aplikacji na produkcję.

Pytanie 23

Mamy do czynienia z tablicą o nazwie tab, która zawiera liczby całkowite różniące się od zera. Zawarty w języku PHP kod ma na celu:

foreach ($tab as &$liczba)
    $liczba = $liczba * (-1);
unset($liczba);
A. przekształcić elementy tablicy na wartości zapisane w zmiennej liczba
B. obliczyć wartość bezwzględną elementów tej tablicy
C. zmienić wszystkie elementy tablicy na liczby o przeciwnym znaku
D. wyliczenie iloczynu wszystkich wartości w tablicy
Odpowiedź jest prawidłowa, ponieważ przedstawiony kod w języku PHP używa pętli foreach do iteracji po tablicy o nazwie tab. Dzięki zastosowaniu operatora & przed nazwą zmiennej $liczba, zmienna ta jest przekazywana przez referencję. Oznacza to, że każda modyfikacja dokonywana na zmiennej $liczba wpływa bezpośrednio na odpowiedni element tablicy. Wewnątrz pętli każda liczba w tablicy jest mnożona przez -1, co skutkuje zmianą jej znaku na przeciwny. W praktyce taka operacja jest powszechnie stosowana, gdy istnieje potrzeba szybkiej zmiany wszystkich wartości w strukturze danych na ich negatywne odpowiedniki, na przykład w algorytmach matematycznych lub finansowych. Istotnym aspektem jest również unikanie modyfikacji oryginalnych danych, co jest kluczowe w procesie przetwarzania danych. Po zakończeniu pętli unset($liczba) usuwa referencję, aby uniknąć niepożądanych efektów ubocznych. Takie podejście jest zgodne z dobrymi praktykami programowania, które kładą nacisk na zarządzanie pamięcią i poprawność danych.

Pytanie 24

Ile razy zostanie wykonana poniższa pętla w PHP?

for($i = 0; $i < 25; $i += 5) { ... }
A. 26
B. 0
C. 5
D. 25
Pętla for w PHP jest jednym z fundamentalnych narzędzi kontrolnych używanych do wykonywania powtarzających się zadań. W przedstawionym przykładzie pętli mamy następującą składnię: for($i = 0; $i < 25; $i += 5). Pętla rozpoczyna się od wartości początkowej zmiennej $i równej 0, a warunek kontynuacji pętli określa, że $i musi być mniejsze niż 25. W każdym przebiegu pętli zmienna $i zwiększa się o 5. Dzięki tej konstrukcji pętla wykona się dla wartości $i wynoszących kolejno 0, 5, 10, 15 i 20, co oznacza, że pętla zostanie wykonana dokładnie 5 razy. Takie konstrukcje są powszechnie stosowane w programowaniu do iteracyjnego przetwarzania danych, takich jak iterowanie przez tablice lub generowanie ciągów. Warto zwrócić uwagę na dobre praktyki programistyczne, które nakazują klarowność i czytelność kodu, dzięki czemu inni programiści mogą go łatwo zrozumieć i utrzymywać. Projektowanie pętli z precyzyjnie zdefiniowanymi warunkami początkowymi i końcowymi jest kluczowe dla unikania błędów logicznych, takich jak nieskończone pętle lub błędne iteracje. Użycie odpowiednich inkrementacji, jak w tym przypadku $i += 5, pozwala na kontrolowanie tempa i liczby iteracji zgodnie z zamierzonymi celami algorytmu.

Pytanie 25

Ile razy zostanie wykonana pętla przedstawiona w kodzie PHP?

for($i = 0; $i < 25; $i += 5) { ...... }
A. 5
B. 0
C. 25
D. 26
Pętla for w PHP, zdefiniowana jako for($i = 0; $i < 25; $i += 5), będzie wykonywana do momentu, gdy warunek $i < 25 będzie spełniony. Początkowa wartość $i to 0, a w każdej iteracji zwiększamy $i o 5. Wartości $i w kolejnych iteracjach będą wynosiły: 0, 5, 10, 15, 20. Po piątej iteracji, gdy $i osiągnie wartość 25, warunek $i < 25 przestanie być spełniony, co zakończy działanie pętli. W sumie, pętla wykona się dokładnie pięć razy. Zrozumienie działania pętli for jest kluczowe w programowaniu, ponieważ pozwala na automatyzację wielu zadań, co jest niezbędne w tworzeniu efektywnych i zoptymalizowanych aplikacji. Przykłady zastosowania to iteracja przez elementy tablic, generowanie numerów identyfikacyjnych czy przetwarzanie danych w bazach.

Pytanie 26

Fragment kodu w języku PHP ma następującą postać: Zakładając, że zmienne: a, b, c przechowują wartości numeryczne, wynikiem działania warunku będzie wypisanie liczby

if ($a > $b && $a > $c)   echo $a;
else if ($b > $c)   echo $b;
else   echo $c;
A. najmniejszej.
B. nieparzystej.
C. parzystej.
D. największej.
Dobrze zrozumiałeś działanie warunków logicznych w języku PHP! Fragment kodu prezentowany na zdjęciu rzeczywiście wypisuje wartość największej zmiennej. Jest to wynik skumulowanego działania kilku warunków if oraz else if, które porównują wartości zmiennych a, b, c. Najpierw, warunek sprawdza, czy zmienna a jest większa od pozostałych. Jeśli tak, wartość a jest wypisywana. Jeżeli nie, przechodzi do kolejnego warunku, gdzie sprawdza, czy b jest większe od c. Jeżeli tak, wypisuje b, jeżeli nie - wypisze c. W ten sposób kod zawsze wypisze największą wartość. Zrozumienie tej logiki jest kluczowe w programowaniu, szczególnie w kontekście operacji porównania, które są podstawą wielu bardziej skomplikowanych algorytmów. To ważny fragment wiedzy, który pomaga w budowaniu efektywnych i optymalnych rozwiązań kodowych.

Pytanie 27

W PHP tablice asocjacyjne to struktury, w których

A. indeks może być dowolnym ciągiem znaków
B. są co najmniej dwa wymiary
C. w każdej pozycji tablicy znajduje się inna tablica
D. elementy tablicy są zawsze numerowane od zera
W przypadku niepoprawnych odpowiedzi, warto zwrócić uwagę na podstawowe koncepcje dotyczące tablic asocjacyjnych. Gdybyśmy uznali, że tablica asocjacyjna musi mieć przynajmniej dwa wymiary, byłoby to niezgodne z definicją, ponieważ tablice asocjacyjne w PHP mogą być jednowymiarowe. W rzeczywistości, tablica asocjacyjna to po prostu kolekcja par klucz-wartość, gdzie klucz może być unikalnym napisem, a wartość może być dowolnym typem danych. Odpowiedź sugerująca, że w każdej komórce tablicy przechowywana jest inna tablica, również jest myląca, ponieważ tablice asocjacyjne mogą przechowywać różne typy danych, a nie tylko inne tablice. Dlatego każde przechowywane dane mogą być różnorodne, co czyni je elastycznym narzędziem. Z kolei stwierdzenie, że elementy tablicy są zawsze indeksowane od liczby równej 0, odnosi się do standardowych tablic numerowanych w PHP, a nie tablic asocjacyjnych, gdzie klucze mogą przybierać różne wartości, a nie tylko liczby. Te nieporozumienia mogą prowadzić do nieefektywnego użycia tablic asocjacyjnych, co w praktyce skutkuje trudnościami w zarządzaniu danymi i ich dostępem. Aby efektywnie korzystać z tablic asocjacyjnych, kluczowe jest zrozumienie ich podstawowych właściwości oraz różnic w porównaniu do tablic numerowanych.

Pytanie 28

W języku PHP do zmiennej a wprowadzono tekst, w którym wielokrotnie występuje fraza Kowalski. Jakim poleceniem można jednocześnie zamienić wszystkie pojawienia się słowa Kowalski na słowo Nowak w zmiennej a?

A. $a = str_replace('Nowak', 'Kowalski', $a);
B. $a = str_rep('Kowalski', 'Nowak', $a);
C. $a = str_replace('Kowalski', 'Nowak', $a);
D. $a = str_replace('Nowak', 'Kowalski');
Odpowiedź $a = str_replace('Kowalski', 'Nowak', $a); jest poprawna, ponieważ wykorzystuje funkcję str_replace, która jest standardowym narzędziem w PHP do zamiany wszystkich wystąpień określonego ciągu znaków na inny w danym tekście. W tym przypadku zamieniamy słowo 'Kowalski' na 'Nowak' wewnątrz zmiennej $a. Funkcja str_replace działa w sposób, który jest zgodny z dobrymi praktykami programistycznymi, pozwalając na prostą i efektywną manipulację łańcuchami tekstowymi. Przykład zastosowania: jeśli $a = 'Jan Kowalski jest programistą. Kowalski ma doświadczenie.', to po wykonaniu powyższego polecenia zmienna $a stanie się 'Jan Nowak jest programistą. Nowak ma doświadczenie.'. Warto pamiętać, że str_replace jest wrażliwa na wielkość liter, co oznacza, że najlepiej stosować ją w kontekście, gdzie zapisy są jednolite. Dodatkowo, funkcja ta zwraca nowy łańcuch znaków, co oznacza, że oryginalna zmienna $a pozostaje niezmieniona, co jest zgodne z zasadami programowania funkcyjnego.

Pytanie 29

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_list_fields
B. mysql_fetch_row
C. mysql_field_len
D. mysql_fetch_lengths
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 30

W języku PHP zapis // służy do

A. zastosowania operatora dzielenia bez reszty
B. używania tablicy superglobalnej
C. dodawania komentarza jednoliniowego
D. dodawania komentarza wieloliniowego
Zastosowanie tablicy superglobalnej nie ma bezpośredniego związku z używaniem znaku //. Superglobalne tablice w PHP, takie jak $_POST, $_GET czy $_SESSION, służą do przechowywania i wymiany danych pomiędzy stronami, ale nie mają nic wspólnego z komentarzami. Wstawianie komentarza wieloliniowego jest poprawnym sposobem dodawania dłuższych wyjaśnień w kodzie, jednak znakiem // nie uzyskujemy tego efektu, a raczej ograniczamy się do komentarzy jednoliniowych. Z kolei zastosowanie operatora dzielenia bez reszty również nie jest powiązane z komentarzami. Operator / służy do dzielenia wartości, a jego użycie nie wymaga znaków // do oznaczania komentarzy. W środowisku programistycznym często można spotkać mylne przekonania, że znaki komentarza mogą pełnić inne funkcje, co prowadzi do nieporozumień w stosowaniu kodu. Prawidłowe rozumienie komentarzy w PHP jest kluczowe dla tworzenia zrozumiałego i łatwego do utrzymania kodu. Nieprawidłowe przypisanie funkcji komentarzy do innych elementów języka PHP może prowadzić do poważnych błędów w kodzie oraz trudności w jego analizie przez innych programistów.

Pytanie 31

Które z poniższych twierdzeń najlepiej opisuje klasę Owoc zdefiniowaną w PHP i przedstawioną w kodzie?

class Owoc {
  public $nazwa;
  private $kolor;
  function set_nazwa($nazwa) {
    $this->nazwa = $nazwa;
  }
}
A. Zawiera dwa pola oraz jedną metodę, pole kolor ma widoczność ograniczoną jedynie do metod klasy
B. Zawiera dwa pola oraz jedną metodę, pole nazwa ma widoczność ograniczoną tylko do metod klasy
C. Zawiera dwa pola oraz jeden konstruktor, oba pola mają widoczność ograniczoną tylko do metod klasy
D. Zawiera jedno pole oraz dwie metody, przy czym jedna z metod ma zakres prywatny
Błędne odpowiedzi wynikają z niezrozumienia zakresów widoczności oraz struktury klasy w PHP. Klasa Owoc ma dwa pola: $nazwa i $kolor. Pole $nazwa jest publiczne, co oznacza, że jest dostępne z dowolnego miejsca, które posiada instancję klasy. Natomiast $kolor jest prywatne, co ogranicza jego dostępność tylko do metod wewnątrz klasy. To kluczowy aspekt programowania obiektowego, gdzie stosowanie modyfikatora private zapewnia, że dane nie mogą być modyfikowane bezpośrednio z zewnątrz, chroniąc integralność obiektu. W konstrukcji tej klasy znajduje się również tylko jedna metoda: set_nazwa, która służy do ustawiania wartości pola $nazwa. Brak jest tutaj konstruktora, co wyklucza błędną odpowiedź sugerującą jego obecność. Konstruktor w PHP definiuje się jako funkcję __construct i służy do inicjalizacji obiektu przy jego tworzeniu. Każda z niepoprawnych odpowiedzi błędnie interpretuje strukturę i dostępność elementów klasy. Często popełnianym błędem jest mylenie zakresów widoczności pola publicznego i prywatnego, oraz brak rozpoznania i zastosowania dobrych praktyk, takich jak enkapsulacja, która jest jednym z filarów programowania obiektowego, mającym na celu ukrycie wewnętrznej implementacji oraz ochronę danych przed nieautoryzowanym dostępem.

Pytanie 32

Zaprezentowana linia kodu w języku PHP ma na celu

define("OSOBA", "Anna Kowalska");
A. ustalić wartość dla zmiennej $OSOBA
B. porównać dwa ciągi znaków
C. zdefiniować stałą o nazwie OSOBA
D. przypisać dwie wartości do tablicy
Wybór odpowiedzi dotyczącej porównania dwóch napisów jest błędny, ponieważ linia kodu define("OSOBA", "Anna Kowalska"); nie wykonuje żadnego porównania. PHP oferuje różne operatory do porównywania wartości, takie jak == lub ===, ale w tym przypadku nie mamy do czynienia z żadnym z tych operatorów. Kolejną nieprawidłową koncepcją jest sugestia, że linia ta miałaby przypisywać dwie wartości do tablicy. W PHP, aby zdefiniować tablicę, używa się notacji z użyciem nawiasów kwadratowych lub funkcji array(). W przypadku stałych, które definiujemy za pomocą funkcji define(), nie możemy ich zdefiniować jako tablicy. Ponadto, nieprawidłowe jest też stwierdzenie, że linia ta definiuje wartość dla zmiennej $OSOBA. W PHP zmienne są definiowane z użyciem znaku dolara ($) na początku, a stałe nie wymagają takiego oznaczenia. Jest to częsty błąd myślowy, który wynika z mylenia zmiennych ze stałymi. Warto zrozumieć, że zmienne mogą zmieniać swoje wartości w trakcie działania programu, podczas gdy stałe pozostają niezmienne. Ostatecznie, zrozumienie różnicy między zmiennymi a stałymi jest kluczowe dla efektywnego programowania w PHP, a pomyłki w tym zakresie mogą prowadzić do nieprzewidywalnych błędów i trudności w dalszym rozwoju aplikacji.

Pytanie 33

W języku PHP, aby nawiązać połączenie z bazą danych MySQL przy użyciu biblioteki mysqli, w poniższym zapisie w miejsce litery 'c' należy wpisać:

$a = new mysqli('b', 'c', 'd', 'e');
A. nazwa bazy danych
B. nazwa użytkownika
C. adres serwera bazy danych
D. hasło dla użytkownika
Wybór odpowiedzi dotyczącej 'nazwa bazy danych', 'hasło użytkownika' i 'lokalizacja serwera bazy danych' nie jest poprawny, bo żaden z tych elementów nie odnosi się do drugiego argumentu w konstruktorze mysqli. Zrozumienie połączeń z bazą danych jest kluczowe przy programowaniu w PHP. 'Nazwa bazy danych' to czwarty argument, więc dotyczy tego, do której bazy chcemy się podłączyć. 'Hasło użytkownika' to trzeci argument, który jest potrzebny, żeby się autoryzować. A 'lokalizacja serwera bazy danych' to pierwszy argument, który mówi, gdzie znajduje się serwer, najczęściej będzie to 'localhost', na którym działa nasza aplikacja. Błędne wnioski mogą się brać z niepełnego zrozumienia struktury połączeń w PHP.

Pytanie 34

Jakim sposobem można w języku PHP dokumentować blok komentarza składający się z wielu linii?

A. #
B. //
C. /* */
D. <!-- -->
Komentarze w języku PHP mogą być tworzone na kilka sposobów, jednak jedynie sposób wykorzystujący /* */ pozwala na zapis bloku komentarza rozciągającego się na wiele linii. Jest to szczególnie użyteczne w sytuacjach, gdy programista chce umieścić obszerniejsze wyjaśnienia dotyczące kodu, które nie ograniczają się do jednej linii. Przykładem zastosowania może być opis skomplikowanej funkcji lub sekcji kodu, gdzie istotne jest podanie kontekstu lub dodatkowych informacji. Na przykład: /* * Funkcja obliczająca sumę dwóch liczb. * Przyjmuje dwa argumenty: a oraz b. */ function suma($a, $b) { return $a + $b; } Stosowanie bloku komentarza zgodnie z tym stylem jest zgodne z najlepszymi praktykami programowania, gdyż poprawia czytelność kodu oraz ułatwia jego późniejsze utrzymanie. Z punktu widzenia standardów kodowania, szczególnie w większych projektach, dobrze opisane fragmenty kodu mogą zminimalizować ryzyko błędów oraz ułatwić pracę zespołową.

Pytanie 35

Funkcją w PHP, która służy do tworzenia ciasteczek, jest

A. addcokie()
B. createcookie()
C. setcookie()
D. echocokie()
W pytaniu o funkcję tworzącą ciasteczko w języku PHP, niektóre odpowiedzi nie są poprawne z kilku kluczowych powodów. Stwierdzenie, że createcookie() jest funkcją odpowiedzialną za tworzenie ciasteczek, jest błędne, gdyż nie istnieje taka funkcja w standardowej bibliotece PHP. Pomimo podobieństwa nazwy, programiści nie znajdą jej w dokumentacji PHP, co czyni ją nieodpowiednią odpowiedzią. Kolejna odpowiedź, echocokie(), również jest myląca, ponieważ nie jest to funkcja ani słowo kluczowe w PHP. Funkcja echo w PHP służy do wyświetlania danych, ale nie ma związku z zarządzaniem ciasteczkami. Również, addcokie() jest nieprawidłową nazwą, która może sugerować działanie związane z dodawaniem ciasteczek, lecz taka funkcjonalność nie istnieje w języku PHP. Prawidłowym podejściem do zarządzania ciasteczkami jest wykorzystanie setcookie(), która stanowi jedyną standardową metodę w PHP do ich tworzenia i edytowania. Zrozumienie właściwych nazw funkcji oraz ich zastosowania jest kluczowe dla efektywnego programowania w PHP i unikania błędów w kodzie.

Pytanie 36

W przedstawionym kodzie PHP w miejscu kropek powinno zostać umieszczone polecenie

$zapytanie = mysqli_query($db, "SELECT imie, nazwisko FROM uzytkownik");
$ile = mysqli_num_rows($zapytanie);
for ($i = 0; $i < $ile; $i++)
{
  $wiersz = ……………………………….;
  echo "$wiersz[0] $wiersz[1]";
}
A. mysqli_fetch_row($zapytanie);
B. mysqli_free_result($zapytanie);
C. mysqli_query($zapytanie);
D. mysqli_num_fields($zapytanie);
W analizowanym kodzie PHP, nieprawidłowe opcje wskazują na brak zrozumienia mechanizmu działania zestawów wyników w kontekście interakcji z bazą danych. Użycie mysqli_free_result($zapytanie) nie jest właściwe w tym miejscu, ponieważ ta funkcja służy do zwolnienia pamięci zajmowanej przez zestaw wyników. Powinna być wywoływana po zakończeniu wszystkich operacji na pobranych danych, a nie podczas ich odczytu. Jeśli chodzi o mysqli_num_fields($zapytanie), jest to funkcja, która zwraca liczbę kolumn w zestawie wyników, ale nie dostarcza danych wierszy, co czyni ją nieprzydatną w kontekście iteracji przez wyniki. Z kolei mysqli_query($zapytanie) jest błędne, ponieważ ta funkcja służy do wykonywania zapytań, a nie do pobierania ich wyników. W odpowiedzi na to, kluczowym błędem myślowym jest pomylenie funkcji służących do wykonywania zapytań z tymi, które służą do odczytu danych. Właściwe zrozumienie różnic między tymi funkcjami jest niezbędne do efektywnego zarządzania bazami danych w PHP. Zaleca się, aby programiści dokładnie zapoznali się z dokumentacją funkcji mysqli i ich zastosowaniami, aby unikać podobnych nieporozumień w przyszłości.

Pytanie 37

Warunek zapisany w języku PHP wyświetli liczbę, gdy

if ($liczba % 2 == 0)
{
    echo $liczba;
}
A. wynik dzielenia danej liczby przez 2 jest równy 0
B. jest to liczba dodatnia
C. jest to liczba pierwsza
D. jest to liczba parzysta
Analizując inne odpowiedzi należy zauważyć że dzielenie liczby przez 2 i uzyskiwanie wyniku 0 odnosi się do całkowitego ilorazu a nie reszty co jest fundamentalnym błędem w interpretacji operatora modulo. Przykładowo liczba 0 po podzieleniu przez 2 daje iloraz 0 ale to nie jest tym czego dotyczy operator % który ocenia resztę. Z kolei liczba pierwsza nie jest związana z dzieleniem przez 2 i nie musi być parzysta. Liczby pierwsze to liczby większe od 1 które dzielą się tylko przez 1 i siebie samą co wyklucza możliwość posługiwania się wyrażeniem modulo 2 do ich identyfikacji. Dodatkowo bycie liczbą dodatnią nie jest w żaden sposób związane z dzieleniem przez 2 ani z właściwościami operatora modulo. Liczby dodatnie mogą być zarówno parzyste jak i nieparzyste dlatego użycie warunku modulo w kontekście określania czy liczba jest dodatnia jest błędne. Te błędne interpretacje często wynikają z nieznajomości specyfiki działania operatorów arytmetycznych w PHP co jest kluczowe dla unikania logicznych błędów w kodzie.

Pytanie 38

W PHP do zapisywania informacji w pliku służy funkcja

A. freadfile()
B. fgets()
C. fopen()
D. fputs()
Analizując inne funkcje wymienione w pytaniu, można zauważyć, że każda z nich pełni inną rolę w kontekście operacji na plikach. fgets() służy do odczytywania linii tekstu z otwartego pliku, co sprawia, że jest całkowicie nieodpowiednia do zapisu danych. Użytkownicy mogą myśleć, że skoro fgets() dotyczy plików, to może również być używana do ich modyfikacji, co jest błędnym założeniem, gdyż funkcja ta nie ma możliwości zapisu. Z kolei fopen() jest używana do otwierania plików, a nie do zapisywania. Chociaż jest to pierwsza czynność przed zapisaniem danych, sama fopen() nie wykonuje operacji zapisu. Użytkownicy mogą mylić otwieranie pliku z jego zapisaniem, co prowadzi do nieporozumienia w zakresie operacji na plikach. freadfile() natomiast jest przeznaczona do odczytu zawartości pliku i jej wyświetlenia, co również czyni tę funkcję nieodpowiednią do zapisu. Wszelkie nieporozumienia związane z tymi funkcjami mogą wynikać z braku zrozumienia ich podstawowych zastosowań i funkcji w PHP. Aby uniknąć takich pomyłek, ważne jest, aby podczas nauki programowania w PHP szczegółowo zaznajomić się z dokumentacją oraz przykładami zastosowania każdej funkcji, co pomoże w lepszym zrozumieniu, jak prawidłowo manipulować plikami.

Pytanie 39

Który fragment kodu stanowi zamiennik dla kodu umieszczonego w ramce?

Ilustracja do pytania
A. D
B. A
C. C
D. B
Odpowiedzi B i D są nieprawidłowe ponieważ ignorują kluczową część logiki oryginalnego kodu mianowicie filtrację parzystych liczb. Odpowiedź B iteruje przez wszystkie liczby od 1 do 55 wypisując je wszystkie bez wyjątku co diametralnie odbiega od zamierzonego wyniku kodu źródłowego. Odpowiedź D jest identyczna z B z tym że format zapisu jest nieco odmienny nie ma to jednak wpływu na logikę działania co czyni ją również błędną. Odpowiedź C inicjuje pętlę od 2 i inkrementuje x o 2 co teoretycznie powinno zbliżyć się do rozwiązania jednak zakres iteracji kończy się na 56 co wykracza poza zadany limit 55 oraz wypisuje nieistniejącą w oryginalnej pętli dodatkową liczbę co jest błędne. Wybory te mogą wynikać z niewłaściwego zrozumienia zakresu pętli lub metody przeskakiwania wartości co jest częstym błędem przy interpretacji pętli iteracyjnych. Kluczowe jest zrozumienie jak zastosowana logika i zakres wpływają na wynik końcowy oraz jak można optymalnie odwzorować te zasady w alternatywnym kodzie.

Pytanie 40

Jakiego języka można użyć do obsługi połączenia z bazą danych MySQL podczas rozwijania aplikacji webowej?

A. PHP
B. HTML
C. XHTML
D. CSS
PHP jest językiem skryptowym, który jest szeroko stosowany do tworzenia dynamicznych aplikacji internetowych, a jego zdolność do interakcji z bazami danych, takimi jak MySQL, czyni go idealnym narzędziem do obsługi połączeń z bazą danych. PHP umożliwia programistom wysyłanie zapytań SQL do bazy danych, wykonywanie operacji CRUD (tworzenie, odczyt, aktualizacja, usuwanie) oraz przetwarzanie wyników, co jest kluczowe w nowoczesnym tworzeniu aplikacji webowych. Przykładowy kod PHP do nawiązania połączenia z bazą danych MySQL może wyglądać następująco: $conn = new mysqli('localhost', 'username', 'password', 'database');. W przypadku niepowodzenia połączenia, można użyć if ($conn->connect_error) { die('Connection failed: ' . $conn->connect_error); }. PHP wspiera również różne techniki zabezpieczeń, takie jak przygotowywanie zapytań, co znacząco zwiększa bezpieczeństwo aplikacji przed atakami typu SQL Injection. Dokumentacja PHP oraz standardy, takie jak PSR (PHP Standards Recommendations), dostarczają programistom niezbędnych wytycznych, aby tworzyć wydajne i bezpieczne aplikacje. Dzięki swojej elastyczności i wszechstronności, PHP stał się językiem pierwszego wyboru dla programistów zajmujących się tworzeniem aplikacji internetowych z interfejsem do baz danych.