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: 23 kwietnia 2026 08:29
  • Data zakończenia: 23 kwietnia 2026 09:09

Egzamin zdany!

Wynik: 20/40 punktów (50,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

Skrypt strony internetowej stworzony w PHP

A. jest przetwarzany na tych samych zasadach co JavaScript
B. jest realizowany po stronie klienta
C. może być uruchomiony bez wsparcia serwera WWW
D. jest realizowany po stronie serwera
Kod strony WWW napisanej w języku PHP jest wykonywany po stronie serwera, co oznacza, że cały proces przetwarzania kodu zachodzi na serwerze, zanim strona zostanie wysłana do przeglądarki użytkownika. PHP jest językiem skryptowym, który generuje dynamiczne treści oraz może wchodzić w interakcje z bazami danych, co czyni go niezwykle efektywnym narzędziem do tworzenia aplikacji webowych. Przykładowo, gdy użytkownik wysyła formularz, skrypt PHP na serwerze może przetworzyć dane, a następnie wygenerować odpowiednią stronę HTML, która jest następnie przesyłana do klienta. Dodatkowo, PHP wspiera różne standardy, takie jak RESTful API, co pozwala na łatwe integrowanie z innymi systemami oraz aplikacjami. Warto także zauważyć, że PHP ma szeroką gamę frameworków, takich jak Laravel czy Symfony, które jeszcze bardziej ułatwiają rozwój aplikacji webowych poprzez dostarczanie gotowych rozwiązań oraz najlepszych praktyk. Z tego względu, znajomość PHP oraz jego działania po stronie serwera jest kluczowa dla każdego dewelopera webowego, który pragnie tworzyć nowoczesne i efektywne aplikacje.

Pytanie 2

W języku PHP zapisano fragment kodu. Plik cookie stworzony tym poleceniem

setcookie("osoba", "Anna Kowalska", time() + (3600 * 24));
A. zostanie usunięty po jednej godzinie od jego utworzenia.
B. będzie przechowywany na serwerze przez jedną godzinę.
C. zostanie usunięty po jednym dniu od jego utworzenia.
D. będzie przechowywany na serwerze przez jeden dzień.
Odpowiedź, którą zaznaczyłeś, to 'zostanie usunięty po jednym dniu od jego utworzenia'. W PHP działa to tak, że funkcja setcookie() bierze pod uwagę czas, po jakim cookie ma wygasnąć. To jest dodawane do aktualnego czasu, który dostajemy z funkcji time(). Kiedy widzisz wartość 3600 * 24, to znaczy, że mamy tu 86400 sekund, a to dokładnie jeden dzień. Czyli cookie zniknie z przeglądarki po upływie doby od założenia. Wydaje mi się, że to ważna sprawa, bo dobrze wiedzieć, jak działa cykl życia cookies w PHP. Pomoże to w ogarnianiu sesji i dbaniu o bezpieczeństwo w aplikacjach internetowych.

Pytanie 3

Jak przy użyciu języka PHP można zapisać w ciasteczku wartość z zmiennej dane na okres jednego dnia?

A. setcookie("dane","dane",0)
B. setcookie("dane",$dane,time())
C. setcookie("dane",$dane,0)
D. setcookie("dane",$dane,time()+(3600*24))
Odpowiedź setcookie("dane", $dane, time() + (3600 * 24)); jest prawidłowa, ponieważ wykorzystuje funkcję setcookie, która pozwala na ustawienie ciasteczka w PHP. W pierwszym argumencie podajemy nazwę ciasteczka, w drugim jego wartość, a w trzecim czasie wygaśnięcia, który jest określony jako aktualny czas (time()) plus 24 godziny w sekundach (3600 sekund w godzinie razy 24). Takie podejście zapewnia, że ciasteczko będzie dostępne przez jeden dzień, co jest zgodne z dobrymi praktykami w zakresie zarządzania stanem użytkownika. Ciasteczka są powszechnie stosowane w aplikacjach webowych do przechowywania danych użytkownika pomiędzy sesjami, co zwiększa komfort korzystania z serwisów. Przykładem może być zapisanie preferencji użytkownika lub informacji o sesji. Warto pamiętać, że przed użyciem setcookie nie może być wysłany żaden HTML, więc ta funkcja powinna być wywoływana przed jakimkolwiek innym kodem, który generuje wyjście.

Pytanie 4

W PHP konstrukcja foreach stanowi rodzaj

A. warunkową, niezależnie od typu zmiennej
B. pętli, niezależnie od typu zmiennej
C. wyboru, dla elementów tablicy
D. pętli, wyłącznie dla elementów tablicy
Pierwsza niepoprawna odpowiedź myli foreach z instrukcją wyboru, co jest błędne. Foreach nie wybiera elementów, tylko je przetwarza. W PHP nie mamy jakiejś instrukcji wyboru jak if-else, które różnicują zadania w zależności od warunków. Pętla foreach działa na zasadzie przetwarzania wszystkich elementów, a nie ich selekcji. Następnie, ktoś napisał, że foreach jest niezależna od typu zmiennej, co również jest mylące. W prawdziwym życiu foreach wymaga, aby zmienna była tablicą. Jakbyś wrzucił coś innego, co nie jest tablicą, PHP wyrzuci błąd, więc to nie jest uniwersalne dla wszystkich typów. Ostatnia błędna odpowiedź próbuje przypisać foreach do instrukcji warunkowej. Instrukcje warunkowe, jak if czy switch, decydują na podstawie spełniania pewnych warunków, a foreach po prostu wykonuje operację na każdym elemencie tablicy. Ważne jest, żeby zrozumieć tę różnicę, bo każda z tych konstrukcji ma swoje zastosowania, które są istotne, gdy programujemy.

Pytanie 5

Która z poniższych funkcji języka PHP zamieni wyraz „kota” na wyraz „mysz” w zdaniu „ala ma kota”?

A. str_replace( "kota", "mysz", "ala ma kota");
B. replace("kota", "mysz", "ala ma kota");
C. str_replace("ala ma kota", "kota", "mysz");
D. replace("ala ma kota", "kota", "mysz");
Niektóre z odpowiedzi mogą wydawać się na pierwszy rzut oka zbliżone do prawidłowego rozwiązania, jednak po bliższym przyjrzeniu się można zauważyć ich zasadnicze błędy. Pierwsza z niepoprawnych opcji używa funkcji replace, jednak ta funkcja nie istnieje w PHP; poprawna nazwa to str_replace. Druga opcja również nie jest poprawna, ponieważ argumenty zostały podane w niewłaściwej kolejności. Funkcja str_replace zawsze wymaga, aby szukany ciąg był podany jako pierwszy argument, a nie drugi. Ostatnia z propozycji również jest błędna, ponieważ zamienia miejscami ciąg do zastąpienia i kontekst, co uniemożliwia prawidłowe działanie. Takie błędne przekonania często wynikają z mylnego założenia, że kolejność argumentów jest dowolna lub że istnieje inna funkcja o nazwie replace, co jest nieprawdziwe. W praktyce programiści powinni zwracać szczególną uwagę na dokumentację PHP oraz przestrzegać definicji funkcji, aby unikać takich pomyłek. Zrozumienie właściwego użycia funkcji oraz jej argumentów jest kluczowe dla efektywnego programowania w PHP i unikania błędów, które mogą prowadzić do nieoczekiwanych rezultatów.

Pytanie 6

W aplikacji webowej komunikat powinien być wyświetlany jedynie wtedy, gdy użytkownik odwiedza stronę po raz pierwszy. Jakiej funkcji PHP należy użyć w tym przypadku?

A. setcookie
B. define
C. session_destroy
D. mysqli_change_user
Funkcja setcookie w PHP jest wykorzystywana do ustawiania ciasteczek w przeglądarkach użytkowników. Ciasteczka te mogą przechowywać różne informacje, co umożliwia personalizację doświadczeń użytkownika na stronie internetowej. W kontekście opisanego zagadnienia, można zastosować setcookie do zdefiniowania ciasteczka, które będzie informować, że dany użytkownik odwiedza stronę po raz pierwszy. Przykładowe zastosowanie może wyglądać tak: jeśli na stronie nie ma określonego ciasteczka (np. 'first_visit'), można wyświetlić komunikat powitalny i wówczas ustawić ciasteczko z odpowiednim czasem ważności, co pozwala na ukrycie tego komunikatu przy kolejnych wizytach. Użycie tej funkcji jest zgodne z najlepszymi praktykami w zakresie zarządzania sesjami użytkowników, ponieważ pozwala na zachowanie stanu użytkownika w sposób prosty i efektywny. Dodatkowo, dzięki ciasteczkom, można analizować zachowanie użytkowników, co pozwala na dalsze optymalizowanie doświadczeń na stronie.

Pytanie 7

$x = 0; while($x < 5) { echo "$x,"; $x++; } Wskaż instrukcję, która jest funkcjonalnie równoważna dla podanej pętli while w języku PHP.

Ilustracja do pytania
A. Instrukcja 4
B. Instrukcja 2
C. Instrukcja 3
D. Instrukcja 1
Instrukcja while w PHP jest pętlą, która kontroluje warunek przed każdą iteracją. W jej przypadku zmienna $x jest początkowo równa 0, a warunek $x < 5 powoduje, że blok kodu wewnątrz pętli wykonuje się dopóki $x jest mniejsze od 5. Za każdym razem, gdy kod wewnątrz pętli się wykonuje, echo wyświetla aktualną wartość zmiennej $x, a następnie $x jest inkrementowane o 1. Instrukcja for, która jest funkcjonalnie równoważna tej pętli while, to taka, która zaczyna się z $x równe 0, kończy na $x mniejszym od 5, i w każdym kroku zwiększa $x o 1, dokładnie tak jak instrukcja 3. Odpowiednia struktura pętli for daje możliwość precyzyjnego określenia wszystkich trzech elementów: inicjalizacji zmiennej, warunku kontynuacji oraz zmiany wartości zmiennej po każdej iteracji, co zapewnia pełną kontrolę nad przebiegiem pętli i transparentność kodu, realizując te same funkcjonalności co pętla while w bardziej kompaktowy sposób. Tego typu podejście jest szeroko stosowane w branży ze względu na swoją czytelność i efektywność, co czyni je zgodnym z dobrymi praktykami programistycznymi.

Pytanie 8

W wyniku działania pętli zapisanej w języku PHP zostanie wypisany ciąg liczb:

 $liczba = 10;
while ($liczba < 50) {
    echo "$liczba ";
    $liczba = $liczba + 5;
}
A. 10 15 20 25 30 35 40 45
B. 0 5 10 15 20 25 30 35 40 45 50
C. 10 15 20 25 30 35 40 45 50
D. 0 5 10 15 20 25 30 35 40 45
Wybrana odpowiedź nie jest poprawna. Może wynikać to z niepełnego zrozumienia, jak działa pętla while w języku PHP. Pętla while wykonuje kod, dopóki warunek jest prawdziwy. W tym przypadku, rozpoczyna się od wartości zmiennej 10, która jest zwiększana o 5 za każdą iteracją, ale tylko do momentu, kiedy osiągnie wartość mniejszą niż 50. Oznacza to, że ostatnią wydrukowaną liczbą jest 45, ponieważ przy następnej iteracji wartość zmiennej wynosiłaby 50 - wartość nie spełniającą warunku pętli. Błędne odpowiedzi sugerują błędną interpretację, jak to działa - zaburzony początek ciągu (powinien zaczynać się od 10, a nie 0) lub błędną końcówkę (50 nie jest wydrukowane, ponieważ jest to wartość już poza zakresem pętli). Ważne jest, aby dokładnie analizować i rozumieć warunki pętli i jej działanie.

Pytanie 9

W której superglobalnej tablicy w PHP należy przechowywać informacje dotyczące logowania użytkownika w sposób gwarantujący ich bezpieczeństwo?

A. $_SESSION
B. $_COOKIE
C. $_SERVER
D. $_FILES
Wybór $_COOKIE do przechowywania danych logowania to kiepski pomysł z kilku powodów. Ciasteczka są trzymane po stronie klienta, co znaczy, że mogą być łatwo dostępne dla innych, a to stwarza poważne zagrożenie dla bezpieczeństwa. Na przykład, hakerzy mogą wykraść ciasteczka przez różne techniki, takie jak XSS, co mogłoby prowadzić do nieautoryzowanego dostępu do kont. Poza tym, ciasteczka mają ograniczoną pojemność i użytkownik może je modyfikować, co czyni je nieodpowiednim miejscem na wrażliwe dane. Używanie $_FILES także jest nietrafione, bo ta tablica służy do obsługi plików przesyłanych przez użytkowników, a nie zarządzania sesjami. $_SERVER to z kolei tablica, która ma informacje o serwerze oraz zapytaniach, ale nie nadaje się do trzymania danych użytkowników. Typowym błędem przy wyborze $_COOKIE czy $_SERVER jest to, że nie rozumie się ich funkcji, co może prowadzić do niebezpiecznych sytuacji. Żeby dobrze zabezpieczyć dane logowania, najlepiej korzystać z sesji, bo są zaprojektowane właśnie do tego i oferują znacznie lepszą ochronę.

Pytanie 10

Język PHP zapewnia wsparcie dla

A. obiektów przeglądarki
B. zdarzeń związanych z myszą
C. sesji i ciastek
D. klawiszy klawiatury
PHP, jako język skryptowy po stronie serwera, oferuje wsparcie dla zarządzania sesjami oraz ciasteczkami, co jest kluczowe w kontekście tworzenia aplikacji internetowych. Sesje w PHP umożliwiają przechowywanie danych użytkownika pomiędzy różnymi żądaniami HTTP, co jest istotne w przypadku potrzeb utrzymania stanu aplikacji, np. podczas logowania. Dzięki funkcjom takim jak session_start() można łatwo rozpocząć nową sesję lub wznowić istniejącą. Ciasteczka, z kolei, pozwalają na przechowywanie danych po stronie klienta, co umożliwia personalizację doświadczeń użytkowników na stronie. Przykładem może być zapisywanie preferencji użytkownika, takich jak język interfejsu. Dobre praktyki w zakresie obsługi sesji i ciasteczek obejmują stosowanie bezpiecznych identyfikatorów sesji, ograniczanie czasu życia ciasteczek, a także ich szyfrowanie, co chroni przed atakami typu session hijacking. W ten sposób PHP gwarantuje, że aplikacje są nie tylko funkcjonalne, ale także bezpieczne.

Pytanie 11

Zdefiniowano poniższą funkcję w PHP:

function policz($Z) {
    while($Z < 5) {
        $Z += 2 * $Z + 1;
    }
    return $Z;
}
Funkcję policz wywołano z wartością argumentu $Z = 1. Jaki rezultat zostanie zwrócony?
A. 13
B. 7
C. 1
D. 4
Niestety, tutaj coś nie zagrało. W pytaniu była funkcja 'policz' w PHP, która iteracyjnie zwiększa wartość zmiennej $Z, aż ta nie przekroczy 5. W każdej iteracji $Z rośnie o 2 * $Z + 1. Jak widać, przy odpowiednim argumencie początkowym wartość $Z rośnie bardzo szybko. W naszym przypadku zaczynamy z $Z równym 1. Po dwóch krokach mamy już 13, co kończy działanie pętli. Zamiast 1, 7 czy 4, funkcja 'policz' zwraca 13. Kluczowe jest zrozumienie, jak działają te iteracje i pętle w PHP.

Pytanie 12

$z = mysqli_query($db, "SELECT ulica, miasto, kod_pocztowy FROM adresy");
$a = mysqli_fetch_row($z);
echo "$a[1], $a[2]";
W języku PHP zapisano fragment kodu działającego na bazie MySQL. Jego zadaniem jest wypisanie
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
Kod PHP wykonuje zapytanie do bazy danych przy użyciu funkcji mysqli_query co powoduje pobranie wszystkich rekordów z kolumn ulica miasto i kod_pocztowy z tabeli adresy jednak funkcja mysqli_fetch_row pobiera tylko pierwszy rekord z wynikowego zbioru danych. Jest to kluczowy aspekt ponieważ mysqli_fetch_row nie iteruje automatycznie przez wszystkie rekordy co jest częstym błędem w interpretacji działania tej funkcji. Często mylnie zakłada się że funkcja echo w połączeniu z pętlą może obsłużyć cały zestaw danych co w kontekście tego kodu nie ma miejsca ponieważ pętla nie została użyta. Zrozumienie działania funkcji takich jak mysqli_fetch_row jest kluczowe dla poprawnego przetwarzania danych z bazy. Indeksowanie w tablicach wynikowych zaczyna się od zera dlatego też $a[1] i $a[2] odnoszą się do drugiego i trzeciego elementu tablicy a nie pierwszego i drugiego co również jest częstym źródłem błędów wśród początkujących programistów. Ponadto brak zrozumienia że echo wypisuje wartości z jednego rekordu a nie wszystkich może prowadzić do błędnych założeń w projektowaniu logiki aplikacji. Aby uzyskać dane ze wszystkich rekordów konieczne byłoby zastosowanie pętli takiej jak while która iterowałaby przez cały zbiór wyników co pokazuje różnicę w podejściu między pobieraniem pojedynczego rekordu a całego zestawu danych. Zrozumienie tych koncepcji jest istotne dla efektywnego i bezpiecznego korzystania z bazy danych w aplikacjach PHP i pozwala na unikanie typowych błędów związanych z przetwarzaniem rekordów z bazy danych. Dokładne zrozumienie struktury tablic wynikowych i sposobu ich przetwarzania jest niezbędne do rozwijania wydajnych i bezpiecznych aplikacji webowych. Warto również pamiętać o zabezpieczeniach takich jak użycie przygotowanych zapytań SQL by uniknąć ataków typu SQL Injection co jest istotnym aspektem tworzenia aplikacji bezpiecznych i odpornych na próby nieautoryzowanego dostępu.

Pytanie 13

Czy poniższy kod PHP działa poprawnie, wyświetlając na stronie dane pobrane z bazy danych? Ile pól zostanie zaprezentowanych?

$ile = mysqli_num_rows($zapytanie);
for ($i = 0; $i < $ile; $i++)
{
  $wiersz = mysqli_fetch_row($zapytanie);
  echo "<p>Klient: $wiersz[0] $wiersz[1], adres: $wiersz[2] </p>";
}
A. Z trzech pól
B. Z czterech pól
C. Z jednego pola
D. Z dwóch pól
Kod PHP wykorzystuje funkcję mysqli_fetch_row aby pobrać dane z bazy danych które są następnie wyświetlane. W funkcji tej każda wiersz z wyników zapytania jest reprezentowany jako tablica indeksowana liczbowo. W zaprezentowanym fragmencie kodu mamy dostęp do trzech indeksów: $wiersz[0] $wiersz[1] oraz $wiersz[2]. Oznacza to że z każdego wiersza wyniku kwerendy pobierane są trzy pola. Kod ten wyświetla dane w formacie paragrafu HTML zawierającego imię i nazwisko klienta oraz jego adres. W praktyce taka konstrukcja jest często wykorzystywana do generowania dynamicznych treści na stronie internetowej. Należy jednak pamiętać o zabezpieczeniach takich jak filtrowanie danych wejściowych aby uniknąć zagrożeń związanych z SQL injection. Warto również rozważyć wykorzystanie bardziej złożonych struktur danych jak tablice asocjacyjne które pozwalają na bardziej czytelne i zrozumiałe odwoływanie się do poszczególnych pól wiersza danych zwłaszcza w przypadku większych projektów. Użycie mysqli_fetch_row jest zgodne z dobrą praktyką jeśli chcemy uzyskać dostęp do danych w sposób sekwencyjny i wydajny

Pytanie 14

Zamieszczony kod w języku PHP

Ilustracja do pytania
A. określa tablicę z sześcioma wartościami
B. jest niepoprawny, nieznany operator =>
C. definiuje tablicę z trzema wartościami
D. jest błędny, indeksami tablicy mogą być wyłącznie liczby całkowite
W przedstawionym kodzie PHP definiowana jest tablica asocjacyjna. Jest to typ tablicy, która pozwala na użycie łańcuchów znaków jako kluczy, nie ograniczając się jedynie do liczb całkowitych. Twierdzenie, że operator '=>' jest nieznany, jest błędne. Operator ten jest kluczowym elementem składni PHP, używanym do przypisywania wartości do kluczy w tablicach asocjacyjnych. Ponadto twierdzenie, że indeksy tablicy mogą być tylko liczbami całkowitymi, nie jest prawdziwe dla tablic asocjacyjnych, które są powszechnie używane w PHP do tworzenia bardziej czytelnych i zorganizowanych struktur danych. Tego typu tablice są przydatne wszędzie tam, gdzie dane mają bardziej strukturalny charakter, jak w przypadku danych użytkowników. Pogląd, że tablica definiuje sześć wartości, jest błędny, ponieważ każda para klucz-wartość stanowi pojedynczą jednostkę w tablicy, a nie oddzielne elementy. Częstym błędem jest myślenie o każdej wartości w tablicy jako osobnym elemencie, pomijając fakt, że klucz i wartość tworzą integralną parę. W praktycznym zastosowaniu znajomość i właściwe wykorzystanie tablic asocjacyjnych w PHP znacząco poprawia efektywność pisania i zarządzania kodem oraz jego zrozumienie przez innych programistów.

Pytanie 15

W PHP, aby usunąć białe znaki z początku i końca ciągu tekstowego, można skorzystać z funkcji

A. trim()
B. time()
C. strlen()
D. sort()
Funkcja trim() w języku PHP jest niezwykle przydatna do usuwania zbędnych spacji oraz innych białych znaków z początku i końca ciągu znaków. Jest to funkcjonalność, która jest często wykorzystywana w różnych aplikacjach, szczególnie w kontekście przetwarzania danych wejściowych od użytkowników, gdzie niechciane spacje mogą prowadzić do błędów podczas walidacji lub przechowywania danych w bazie danych. Przykład użycia funkcji trim() jest prosty: jeśli mamy zmienną $text = ' Przykladowy tekst '; używając trim($text), otrzymamy 'Przykladowy tekst'. Funkcja ta przyjmuje również drugi argument, który pozwala na określenie dodatkowych znaków do usunięcia. Na przykład trim($text, "a ") usunie zarówno spacje, jak i litery 'a' z końców ciągu. Zgodnie z dokumentacją PHP, trim() jest częścią standardowej biblioteki funkcji stringowych, co czyni ją niezawodnym narzędziem w każdej aplikacji PHP."

Pytanie 16

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

A. #
B. /* */
C. //
D. <!-- -->
W języku PHP oprócz bloku komentarza /* */ istnieją inne metody, które jednak nie są przeznaczone do tworzenia komentarzy wieloliniowych. Użycie // pozwala na komentowanie jedynie pojedynczych linii kodu, co może być mylące dla osób, które szukają sposobu na dodawanie dłuższych opisów. Kiedy stosujemy ten styl, każda linia, którą chcemy skomentować, musi być poprzedzona tymi znakami, co znacząco ogranicza możliwości dokumentacji w kodzie. Podobnie sytuacja wygląda w przypadku znaku #, który również działa jedynie na poziomie pojedynczych linii. Te podejścia mogą prowadzić do nieefektywności, zwłaszcza w bardziej złożonych projektach, gdzie jasne i zwięzłe komentarze są kluczowe dla utrzymania zrozumiałości kodu. Alternatywnie, użycie <!-- --> jest związane z HTML i nie jest poprawne w kontekście PHP, ponieważ nie jest uznawane za standardowy sposób komentowania w tym języku. Dlatego istotne jest, aby programiści stosowali odpowiednie metody zgodne z konwencjami PHP, aby uniknąć nieporozumień oraz zapewnić, że dokumentacja kodu będzie użyteczna i łatwo dostępna dla innych twórców. Błędem jest zatem stosowanie nieodpowiednich znaków do komentowania, co może prowadzić do nieczytelności oraz trudności w utrzymaniu kodu.

Pytanie 17

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

A. <php> ......... </php>
B. <php .......... />
C. <?php .......... ?>
D. <?php> ........ <php?>
Odpowiedź <?php .......... ?> jest poprawna, ponieważ jest to standardowy sposób wstawiania kodu PHP do plików z rozszerzeniem .php. Znaczniki te pozwalają interpreterowi PHP rozpoznać, że zawarty w nich kod powinien być przetworzony przez silnik PHP, a nie przez przeglądarkę jako HTML. W praktyce, użycie tych znaczników umożliwia twórcom aplikacji webowych dynamiczne generowanie treści, operowanie na danych wejściowych oraz integrację z bazami danych. Przykład zastosowania może obejmować skrypty do przetwarzania formularzy, generowania stron internetowych w zależności od warunków lub wyświetlania danych z bazy danych. Standardowe znaczniki <?php ?> są również zalecane w dokumentacji PHP jako najlepsza praktyka, co zapewnia większą kompatybilność i zrozumiałość kodu, a także minimalizuje ryzyko błędów związanych z interpretacją kodu przez serwer. Warto również pamiętać, że znaczniki te powinny być stosowane z zachowaniem odpowiednich zasad formatowania, aby kod był czytelny i łatwy do utrzymania.

Pytanie 18

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. miasta i kodu pocztowego ze wszystkich zwróconych wpisów
B. ulicy oraz miasta ze wszystkich zwróconych wpisów
C. miasta i kodu pocztowego z pierwszego zwróconego wpisu
D. ulicy oraz miasta z pierwszego zwróconego wpisu
Pierwsza z niepoprawnych odpowiedzi sugeruje, że kod wypisuje ulicę i miasto z pierwszego zwróconego rekordu. Choć kod rzeczywiście korzysta z indeksów, to jednak nie wypisuje ulicy, lecz miasto i kod pocztowy. Kolejna odpowiedź sugeruje, że kod wyświetla ulicę i miasto ze wszystkich zwróconych rekordów. W rzeczywistości, kod jest skonstruowany w taki sposób, że ogranicza się do jednego wiersza danych, przez co nie ma możliwości wypisania informacji o wszystkich rekordach. Ostatnia z odpowiedzi stwierdza, że kod wypisuje miasto i kod pocztowy ze wszystkich zwróconych rekordów, co również jest błędne, ponieważ kod jedynie prezentuje dane pierwszego rekordu. Takie zrozumienie kodu może prowadzić do błędnych wniosków i nieprawidłowego użycia funkcji w praktyce tworzenia aplikacji webowych, dlatego kluczowe jest dokładne zapoznanie się z dokumentacją PHP oraz zasadami działania baz danych.

Pytanie 19

W formularzu dokumentu PHP znajduje się pole <input name="im" />. Po wpisaniu przez użytkownika ciągu „Janek”, aby dodać wartość tego pola do bazy danych, w tablicy $_POST będzie obecny element

A. im z indeksem Janek
B. Janek z indeksem im
C. im z kolejnym numerem indeksu
D. Janek z kolejnym numerem indeksu
Odpowiedzi, które nie są poprawne, bazują na nieprawidłowych założeniach dotyczących sposobu, w jaki PHP przetwarza dane z formularzy. Pierwsza z niepoprawnych odpowiedzi sugeruje, że w tablicy $_POST istnieje element o kluczu 'im' z indeksem 'Janek'. W rzeczywistości, kluczem jest nazwa pola, a wartością jest to, co zostało wprowadzone przez użytkownika, więc takie połączenie klucza i wartości jest mylące. W drugiej niepoprawnej opcji mowa o 'Janek' jako kluczu, co również jest błędne, ponieważ 'Janek' jest wartością, a nie kluczem. Klucz w tablicy $_POST to zawsze nazwa pola formularza, czyli w tym przypadku 'im', a jego wartość to 'Janek'. Trzecia niepoprawna odpowiedź sugeruje, że klucz 'im' miałby być skojarzony z kolejnym numerem indeksu. To również jest niewłaściwe, ponieważ PHP nie dodaje automatycznie numerów indeksów do kluczy tablic, a klucze pozostają takie same, jak nazwy w formularzu. W każdej sytuacji nazwa pola pozostaje kluczem, co jest istotnym elementem przetwarzania danych w PHP.

Pytanie 20

W języku PHP predefiniowana zmienna $_SESSION przechowuje

A. zmienne zarejestrowane w aktualnej sesji
B. zmienne przesyłane do skryptu przez formularz
C. listę zarejestrowanych sesji na serwerze WWW
D. zmienne przesyłane do skryptu przy pomocy ciastek (cookie)
Zmienna predefiniowana $_SESSION w języku PHP jest używana do przechowywania zmiennych, które są dostępne w trakcie trwania sesji użytkownika. Sesja pozwala na utrzymanie stanu między różnymi żądaniami HTTP, co jest istotne w aplikacjach webowych, gdzie HTTP jest protokołem bezstanowym. Dzięki $_SESSION, programiści mogą przechowywać dane użytkownika, takie jak identyfikatory, koszyki zakupowe czy inne ustawienia, bez konieczności przesyłania ich za każdym razem przez formularze lub ciasteczka. Przykładem może być sytuacja, w której użytkownik loguje się do serwisu – po zalogowaniu, jego identyfikator sesji jest przechowywany w $_SESSION, co pozwala na identyfikację użytkownika w kolejnych żądaniach. Ważne jest, aby pamiętać o odpowiednim zarządzaniu sesjami, np. poprzez regularne ich odnawianie, a także zabezpieczanie danych przechowywanych w $_SESSION, aby uniknąć ataków takich jak hijacking sesji. Praktyka ta jest zgodna z najlepszymi standardami bezpieczeństwa w programowaniu aplikacji webowych.

Pytanie 21

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 $a.
C. Do pola $c.
D. Do wszystkich pól.
Wybór odpowiedzi nieprawidłowych wynika z nieporozumienia dotyczącego poziomów dostępu w programowaniu obiektowym. Pole $b jest zadeklarowane jako private, co oznacza, że dostęp do niego mają tylko metody tej samej klasy. Oznacza to, że nawet instancje klasy ani klasy dziedziczące nie mają dostępu do tego pola, co jest ważne dla encapsulacji i ochrony danych. Ochrona danych jest kluczowym aspektem programowania obiektowego, ponieważ pozwala na kontrolowanie, które części programu mogą modyfikować lub odczytywać dane. Z kolei pole $c, zadeklarowane jako protected, jest dostępne tylko dla klasy oraz klas dziedziczących, co również ogranicza jego dostępność do określonego kontekstu. Mylne jest także przekonanie, że dostęp do wszystkich pól jest możliwy; w rzeczywistości, stosując zasady programowania obiektowego, projektanci aplikacji muszą świadomie dobierać poziomy dostępu do danych, aby zapewnić ich integralność i bezpieczeństwo. Wniosek jest taki, że publiczne, private i protected to fundamentalne koncepcje, które kształtują sposób interakcji z danymi w obiektach, a ich właściwe zrozumienie jest kluczem do tworzenia dobrze zorganizowanego i bezpiecznego kodu.

Pytanie 22

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

A. zwraca następny rekord z wynikami zapytania
B. zwraca ilość wierszy znajdujących się w rezultacie zapytania
C. numeruje rekordy w bazie danych
D. zwraca rekord o numerze podanym w argumencie funkcji
Wybór odpowiedzi, że funkcja mysql_num_rows() zwraca rekord, którego numer podany został w parametrze funkcji, jest błędny, ponieważ nie odzwierciedla rzeczywistego działania tej funkcji. mysql_num_rows() nie ma możliwości indeksowania rekordów ani bezpośredniego ich zwracania; jej jedyną rolą jest zliczanie wierszy w zestawie wyników z zapytania SQL. Kolejny wybór sugerujący, że funkcja ponumerowuje rekordy w bazie danych, uwidacznia nieporozumienie dotyczące operacji na bazach danych. W rzeczywistości, numeracja rekordów jest zadaniem, które powinno być rozwiązywane na poziomie aplikacji, a nie na poziomie bazy danych. Również odpowiedź mówiąca, że funkcja zwraca kolejny rekord z wynikami zapytania, wprowadza w błąd, ponieważ mysql_num_rows() nie jest przeznaczona do nawigacji po wynikach; nie zwraca konkretnego rekordu, lecz jedynie liczbę dostępnych wierszy. Typowy błąd myślowy przy takich odpowiedziach polega na pomyleniu funkcji do zliczania z funkcjami, które manipulują lub przetwarzają dane. Rozumienie funkcji i ich właściwości jest kluczowe dla efektywnego programowania w PHP oraz dla optymalizacji interakcji z bazami danych.

Pytanie 23

Które z wymienionych stwierdzeń na temat zasad programowania w PHP jest prawdziwe?

A. Jest to język o słabej kontroli typów
B. W nazwach zmiennych nie rozróżnia się wielkości liter
C. Nazwy zmiennych poprzedza znak !
D. Deklaracja zmiennych następuje po słowie var
Deklaracja zmiennych w PHP nie odbywa się za pomocą słowa kluczowego 'var', lecz po prostu przez przypisanie wartości do zmiennej, która musi być poprzedzona znakiem dolara ($). Ten błąd często wynika z przyzwyczajenia do innych języków programowania, takich jak Java czy C#, w których takie deklaracje są powszechne. W PHP, zamiast deklaracji, chodzi o dynamiczne przypisanie wartości, co sprawia, że kod jest bardziej elastyczny, ale i bardziej podatny na błędy typowe dla typów dynamicznych. W kontekście nazw zmiennych, PHP jest językiem rozróżniającym wielkość liter, co oznacza, że '$zmienna' i '$Zmienna' to dwie różne zmienne. Oznacza to, że programiści muszą być szczególnie uważni, aby unikać niezamierzonych błędów przez niewłaściwe użycie wielkości liter. Termin '!', jako znak poprzedzający zmienne, również jest błędny, ponieważ w PHP zmienne zawsze zaczynają się od '$'. Rozważając typy danych, PHP ma słabą kontrolę typów, co oznacza, że programista może zmieniać typy zmiennych w trakcie działania programu, ale nie znaczy to, że jest to język bez kontroli typów. Właściwe zarządzanie typami danych jest kluczowe dla pisania efektywnego i bezpiecznego kodu, a użytkownicy muszą rozumieć konsekwencje dynamicznej typizacji w kontekście debuggingu i przyszłej konserwacji aplikacji.

Pytanie 24

Aby zweryfikować ustawienia w pliku php.ini, można wykonać skrypt PHP, który zawiera polecenie

A. <?php phpinfo(); ?>
B. <?php echo phpversion(); ?>
C. <?php ini_set(); ?>
D. <?php phpcredits(); ?>
Funkcja phpinfo() jest jednym z najczęściej używanych narzędzi w PHP do uzyskiwania szczegółowych informacji o środowisku PHP, w tym ustawieniach konfiguracyjnych z pliku php.ini. Po jej wywołaniu, generowana jest strona HTML zawierająca dane o wersji PHP, zainstalowanych modułach, dostępnych zmiennych i wielu innych istotnych informacjach. Dzięki temu programiści mogą szybko zidentyfikować, jakie opcje są aktywne, co jest szczególnie przydatne przy diagnozowaniu problemów lub optymalizacji aplikacji. Przykładowo, w przypadku występowania błędów związanych z pamięcią lub czasem wykonywania skryptów, programista może skorzystać z phpinfo(), aby sprawdzić, jakie limity są ustawione. Warto również zauważyć, że korzystanie z tej funkcji w środowisku produkcyjnym powinno być ograniczone, aby uniknąć ujawnienia informacji o serwerze. Dobrym praktyką jest ograniczenie dostępu do wyników phpinfo() tylko do zaufanych użytkowników lub wyłączenie jej w wersji produkcyjnej.

Pytanie 25

$n = '[email protected]'; $dl = strlen($n); $i = 0; while ($i < $dl && $n[$i] != '@') {     echo $n[$i];     $i++; } Fragment kodu w języku PHP wyświetli

A. tylko nazwę domeny, czyli 'host.pl'
B. cały adres e-mail, czyli '[email protected]'
C. nazwę konta z znakiem @, czyli 'adres@'
D. wyłącznie nazwę konta, czyli 'adres'
Analizując niepoprawne odpowiedzi, warto zwrócić uwagę na kilka kluczowych aspektów. W przypadku odpowiedzi, która wskazuje na wypisanie nazwy konta ze znakiem '@', należy zauważyć, że kod w rzeczywistości nie wlicza znaku '@' do wypisywanej wartości. Działanie pętli opiera się na warunku przerywającym, który kończy iterację przed napotkaniem '@', co oznacza, że nie może on znaleźć się w rezultacie. Z kolei wskazanie, że kod wypisze cały adres e-mail jest błędne, ponieważ pętla jest zaprojektowana tak, aby zakończyć działanie przed osiągnięciem znaku '@', więc taki wynik nie jest możliwy. Ostatnia niepoprawna odpowiedź, sugerująca, że kod wypisze samą nazwę domeny, jest również myląca. W kodzie nie ma logiki, która pozwalałaby na wyodrębnienie części po znaku '@'; zamiast tego pętla przerywa działanie, gdy osiągnie ten znak. Jest to kluczowe, aby zrozumieć, że kod nie ma mechanizmu do analizy lub rozdzielania adresu e-mail po znaku '@'. Wszystkie te odpowiedzi pokazują niezrozumienie, jak działają operacje na ciągach w PHP oraz logikę pętli, która w kontekście tego fragmentu kodu jest fundamentalna dla uzyskania prawidłowego wyniku.

Pytanie 26

Jak można zaznaczyć komentarz w kodzie PHP?

A. /? … ?/
B. /* … */
C. <? … ?>
D. <!-- …. -->
Komentarze w kodzie PHP można umieszczać za pomocą znaków /* … */. Jest to standardowy sposób na dodawanie notatek, które są ignorowane przez interpreter PHP. Komentarze wieloliniowe są szczególnie przydatne w przypadku, gdy chcemy opisać większe fragmenty kodu lub wyłączyć sekcje kodu bez ich usuwania. Na przykład, możemy umieścić w komentarzach informacje o autorze, dacie powstania lub szczegóły dotyczące funkcjonalności danej funkcji. Dobrą praktyką jest również dokumentowanie ważnych informacji dotyczących zmiennych czy parametrów funkcji, co ułatwia przyszłą konserwację kodu. Warto pamiętać, że użycie komentarzy jest kluczowe w pracy zespołowej lub w projektach długoterminowych, gdzie zrozumienie kodu przez innych programistów może być kluczowe dla sukcesu projektu. Ponadto, stosowanie komentarzy zgodnie z dobrymi praktykami programowania zwiększa czytelność kodu i ułatwia jego późniejsze modyfikacje oraz debugowanie.

Pytanie 27

Program napisany w języku PHP ma na celu wyliczenie średniej pozytywnych ocen ucznia w zakresie od 2 do 6. Warunek doboru ocen w pętli obliczającej średnią powinien zawierać wyrażenie logiczne

A. $ocena >= 2 or $ocena <= 6
B. $ocena > 2 or $ocena < 6
C. $ocena >= 2 and $ocena <= 6
D. $ocena > 2 and $ocena < 6
Wybrana odpowiedź jest poprawna, ponieważ warunek '$ocena >= 2 and $ocena <= 6' precyzyjnie definiuje zakres ocen, które mają być brane pod uwagę przy obliczaniu średniej. Użycie operatora 'and' zapewnia, że tylko oceny mieszczące się w przedziale od 2 do 6, włącznie z obydwoma krańcami, będą uwzględnione. Przykład praktyczny to sytuacja, w której programista chciałby zrealizować system oceny uczniów, w którym dopuszczalne oceny to 2, 3, 4, 5 i 6. Gdybyśmy użyli operatora 'or', program mógłby przyjąć oceny spoza tego zakresu, co prowadziłoby do nieprawidłowych obliczeń i fałszywych wniosków. W kontekście programowania w PHP, stosowanie poprawnych warunków logicznych jest kluczowe dla zapewnienia prawidłowego działania kodu. Dobrym przykładem zastosowania takiego warunku jest pętla, która iteruje przez zestaw ocen i sumuje je, aby na końcu obliczyć średnią. Stosując odpowiednie warunki, programista może być pewny, że obliczenia są realizowane na danych, które są zgodne z wymaganiami. Warto również zauważyć, że w kontekście dobrych praktyk programistycznych, jasne definiowanie warunków logicznych pozwala na łatwiejsze zrozumienie kodu przez innych programistów oraz ułatwia jego późniejsze utrzymanie.

Pytanie 28

W języku PHP symbol "//" oznacza

A. operator alernatywy
B. operator dzielenia całkowitego
C. początek komentarza jednoliniowego
D. początek skryptu
W PHP znak "//" oznacza początek komentarza jednoliniowego. Komentarze są niezwykle ważnym elementem kodu, ponieważ pozwalają programistom na dodawanie objaśnień i notatek, które nie są wykonywane przez interpreter. Dzięki temu kod staje się bardziej czytelny i łatwiejszy w utrzymaniu, zwłaszcza w projektach zespołowych czy przy dłuższych skryptach. Na przykład, można użyć komentarza, aby wyjaśnić, jak działa dana funkcjonalność lub dlaczego podjęto określoną decyzję projektową. Ponadto, stosowanie komentarzy zgodnie z dobrymi praktykami zwiększa jakość dokumentacji projektu oraz ułatwia przyszłym programistom (lub samemu autorowi) zrozumienie logiki kodu. Warto również zauważyć, że w PHP istnieją inne sposoby komentowania, takie jak "#" dla komentarzy jednoliniowych oraz "/* ... */" dla komentarzy wieloliniowych. Użycie komentarzy w kodzie źródłowym jest istotnym aspektem programowania, promującym najlepsze praktyki związane z czytelnością i zarządzaniem projektami.

Pytanie 29

Na podstawie przydzielenia wartości do zmiennych w języku PHP można zauważyć, że

$zmienna1 = 15;
$zmienna2 = "15";
$zmienna3 = (string) $zmienna1;
A. wszystkie zmienne mają ten sam typ.
B. zmienna1 i zmienna3 mają ten sam typ.
C. zmienna1 i zmienna2 mają ten sam typ.
D. zmienna2 i zmienna3 mają ten sam typ.
Nie do końca to jest dobre, co mówisz, bo $zmienna1 to liczba całkowita (integer), a $zmienna2 to string. Typy danych w PHP mają znaczenie, bo różnie się zachowują w trakcie działania. Liczby są liczone, a teksty traktowane jako znaki. Mimo że obie pokazują "15", to ich typy są inne, co może prowadzić do błędów. Z $zmienna1 i $zmienna3 też jest nieciekawie, bo mimo że to liczby, to jednak typy się różnią - $zmienna1 to integer, a $zmienna3 to string. Często można się w tym pogubić, zakładając, że mając te same wartości, są też tego samego typu. Jak mówisz, że trzy zmienne są takie same, to pokazujesz, że nie do końca masz jasność co do typów w PHP. Pamiętaj, żeby zwracać uwagę na rzutowanie typów, bo niedopatrzenia mogą skutkować problemami w kodzie. Rekomenduję, żeby programiści regularnie sięgać do dokumentacji i używać dobrych praktyk, by lepiej ogarnąć temat typów danych w swoich projektach.

Pytanie 30

Jaką funkcję w języku PHP należy wykorzystać, aby nawiązać połączenie z bazą danych o nazwie zwierzaki?

A. $polacz = server_connect('localhost', 'root','','zwierzaki');
B. $polacz = db_connect('localhost', 'root','','zwierzaki');
C. $polacz = sql_connect('localhost', 'root','','zwierzaki');
D. $polacz = mysqli_connect('localhost', 'root','','zwierzaki');
Odpowiedź $polacz = mysqli_connect('localhost', 'root','','zwierzaki'); jest poprawna, ponieważ funkcja mysqli_connect jest standardowym sposobem nawiązywania połączenia z bazą danych MySQL w języku PHP. Funkcja ta jest częścią rozszerzenia MySQLi, które oferuje bardziej zaawansowane możliwości w porównaniu do oryginalnego rozszerzenia MySQL. Umożliwia obsługę złożonych zapytań i zabezpieczeń, a także wspiera techniki programowania obiektowego. Warto zauważyć, że przy wywołaniu tej funkcji przekazujemy cztery argumenty: adres serwera (w tym przypadku 'localhost'), nazwę użytkownika ('root'), hasło (które jest puste w tym przypadku), oraz nazwę bazy danych ('zwierzaki'). Praktyczne zastosowanie tej funkcji jest kluczowe w kontekście aplikacji webowych, gdzie interakcja z bazą danych jest niezbędna. Na przykład, po nawiązaniu połączenia możemy wykonywać zapytania SQL, pobierać dane, a także dodawać nowe rekordy. Warto również dodać, że przed użyciem tej funkcji, powinniśmy zawsze sprawdzić, czy rozszerzenie MySQLi jest zainstalowane i aktywne, co jest zgodne z dobrymi praktykami programistycznymi.

Pytanie 31

Do czego służy funkcja PHP o nazwie mysql_num_rows?

A. podawać liczbę wierszy, które są w wynikach zapytania
B. zwracać rekord, którego numer został przekazany jako parametr funkcji
C. oddawać następny rekord z wyników zapytania
D. przyporządkować numery rekordom w bazie danych
Wszystkie pozostałe odpowiedzi są niepoprawne z kilku kluczowych powodów. Pierwsza z niepoprawnych odpowiedzi sugeruje, że funkcja mysql_num_rows ma na celu ponumerowanie rekordów w bazie danych. Takie podejście jest mylące, ponieważ mysql_num_rows nie modyfikuje ani nie przechowuje żadnych danych w bazie, a jedynie zwraca informację o liczbie wierszy w zestawie wyników, co w żaden sposób nie wiąże się z ich numerowaniem. Kolejna błędna odpowiedź wskazuje, że funkcja miałaby zwracać kolejny rekord z wynikami zapytania. W rzeczywistości, mysql_num_rows nie zwraca danych samych w sobie, lecz jedynie informację o ich liczbie, co czyni tę odpowiedź zupełnie nietrafioną. Ostatnia niepoprawna odpowiedź sugeruje, że funkcja zwraca rekord na podstawie numeru podanego w jej parametrze. Znowu, taka interpretacja jest nieprawidłowa, ponieważ mysql_num_rows nie przyjmuje parametrów odnoszących się do konkretnych rekordów, a jedynie do zmiennej wynikowej, która zawiera efekty zapytania SQL. W związku z tym, każde z tych stwierdzeń nieodzwierciedla rzeczywistej funkcji mysql_num_rows i jej zastosowania w kontekście zarządzania i przetwarzania danych w PHP.

Pytanie 32

Ile razy zostanie wykonana pętla w zamieszczonym skrypcie PHP?

$a = $x = 0;
do{
    $a++;
    $x = $x + $a;
}while($x != 21);
A. 6
B. 7
C. 0
D. 5
Pętla typu do-while jest specyficzna w tym że jej ciało wykonuje się przynajmniej raz przed sprawdzeniem warunku pętli. To różni ją od pętli while gdzie warunek jest sprawdzany przed wykonaniem kodu wewnątrz pętli. W analizowanym skrypcie zmienne $a i $x są inicjalizowane wartością 0 i najpierw $a jest inkrementowane co powoduje że w pierwszej iteracji $x przyjmuje wartość 1. W każdej kolejnej iteracji do $x dodaje się aktualną wartość $a która rośnie o 1 w każdym kroku. Częstym błędem jest zakładanie że pętla do-while wykona się tyle razy ile wskazuje różnica między wartościami początkowymi zmiennych a wartością końcową warunku. Jednak w tym przypadku każda iteracja przyczynia się do sumowania wartości rosnącej $a z $x co wpływa na liczbę iteracji. Przy złym zrozumieniu mechanizmu może się wydawać że pętla wykona mniej lub więcej iteracji zwłaszcza gdy nie prześledzimy krok po kroku wartości zmiennych. Obliczenia są kluczowe aby określić że pętla do momentu osiągnięcia $x równego 21 wykonuje się dokładnie 6 razy a nie 5 czy 7 co podkreśla znaczenie dokładności w analizie kodu i zrozumieniu jego działania w kontekście iteracji i warunków kończących pętlę.

Pytanie 33

W języku PHP, przy pracy z bazą MySQL, aby zakończyć sesję z bazą, należy wywołać

A. mysqli_exit()
B. mysqli_rollback()
C. mysqli_close()
D. mysqli_commit()
Odpowiedź mysqli_close() jest prawidłowa, ponieważ ta funkcja jest używana do zamknięcia połączenia z bazą danych MySQL w języku PHP. Po zakończeniu wszystkich operacji na bazie danych, zaleca się wywołanie tej funkcji, aby zwolnić zasoby systemowe oraz zamknąć połączenie, co jest zgodne z dobrymi praktykami programistycznymi. Użycie mysqli_close() jest istotne, ponieważ niezamknięte połączenia mogą prowadzić do wycieków pamięci i wyczerpania dostępnych zasobów, co z kolei może wpłynąć na wydajność aplikacji. W praktyce, jeśli mamy otwarte połączenie z bazą danych, po zakończeniu operacji, takich jak pobieranie lub wstawianie danych, używamy mysqli_close($connection), gdzie $connection to nasza zmienna reprezentująca połączenie. Oprócz tego, pamiętajmy, że dbanie o odpowiednie zarządzanie połączeniami ma kluczowe znaczenie dla bezpieczeństwa i stabilności naszych aplikacji.

Pytanie 34

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
B. 1 0 1 0
C. 1 0
D. 1 1
Wybór błędnych odpowiedzi wynika z niepełnej analizy działania pętli oraz błędnych założeń dotyczących wartości zwracanych przez operację modulo. Odpowiedzi 1 0, 1 0 1 oraz 1 0 1 0 wskazują na zrozumienie, że liczby mogą mieć różne wartości modulo 2, ale z niewłaściwym przypisaniem ich do konkretnego kontekstu pętli. Wartość 0 w odpowiedzi 1 0 sugeruje, że użytkownik myśli, że $i może kiedykolwiek przyjąć wartość parzystą i wpłynąć na wynik, co jest błędne w kontekście analizowanego kodu. Liczba 5 jest liczbą nieparzystą, więc operacja modulo skutkuje 1, a 3 również jest liczbą nieparzystą, co również daje 1. Odpowiedź 1 0 1 sugeruje, że po osiągnięciu wartości $i = 1, wynik zmienia się na zero, co jest niezgodne z zasadami przetwarzania w tej pętli. Podobnie, odpowiedź 1 0 1 0 sugeruje, że w pętli mogłyby pojawić się inne wartości, podczas gdy w rzeczywistości, jak pokazuje analiza, pętla kończy się po dwóch iteracjach. Kluczowe jest zrozumienie, jak działają struktury kontrolne w programowaniu oraz jakie wyniki można otrzymać na podstawie operacji arytmetycznych. Taka analiza jest niezbędna, aby uniknąć typowych błędów związanych z operacjami na liczbach oraz wyciąganiem wniosków na temat ich właściwości.

Pytanie 35

Podany kod źródłowy ma na celu pokazanie

$liczba = 1;
while ($liczba != 0)
{
  $liczba = rand(0, 100);
  echo $liczba;
}
A. losowe liczby od 0 do 100 aż do momentu, gdy wylosowana zostanie wartość 0
B. kolejne liczby od 1 do 100
C. liczby wprowadzane z klawiatury do momentu, gdy wczytana zostanie wartość 0
D. wylosowane liczby od 1 do 99
Odpowiedzi, które sugerują, że kod generuje kolejne liczby od 1 do 100, wylosowane liczby od 1 do 99, czy też wczytane z klawiatury liczby, zawierają fundamentalne błędy w interpretacji logiki działania przedstawionego kodu. Po pierwsze, pętla while w kodzie analizowanym opiera się na losowym generowaniu liczb z wykorzystaniem funkcji rand(), a nie na sekwencyjnym przydzielaniu wartości. Kod nie generuje przyrostu numerycznego, jak sugeruje odpowiedź sugerująca liczby od 1 do 100. Ponadto, nie ma żadnej logiki, która wprowadzałaby wartości do programu z klawiatury, co całkowicie wyklucza odpowiedzi sugerujące wczytywanie liczb. Ważne jest, aby zrozumieć, że w kontekście programowania różnica pomiędzy losowym generowaniem a sekwencyjnym przydzielaniem wartości ma kluczowe znaczenie. Niepoprawne koncepcje pochodzą często z mylenia pojęć losowości i deterministycznych sekwencji, co prowadzi do błędnych wniosków. Każdy programista musi być świadomy tych różnic, aby unikać nieporozumień w kodzie, co jest istotne zarówno w codziennej praktyce programistycznej, jak i w bardziej złożonych projektach, gdzie precyzyjne działanie kodu jest kluczowe dla uzyskania oczekiwanych wyników.

Pytanie 36

Z którego z pól klasy

class Dane {
    public $a;
    private $b;
    protected $c;
}
będzie można uzyskać dostęp z zewnątrz przy użyciu obiektu stworzonego jako instancja tej klasy?
A. Do pola $c.
B. Do pola $b.
C. Do pola $a.
D. Do wszystkich pól.
Odpowiedź 'Do pola $a' jest prawidłowa, ponieważ pole $a jest zdefiniowane jako publiczne, co oznacza, że jest dostępne z zewnątrz dla instancji klasy oraz dla kodu, który jest poza tą klasą. W praktyce, gdy tworzysz obiekt klasy Dane, możesz łatwo uzyskać dostęp do tego pola, na przykład za pomocą $obiekt->a. Zastosowanie publicznych pól jest typowe, gdy chcesz, aby dane były szeroko dostępne, na przykład w interfejsach API lub podczas tworzenia prostych klas modelujących dane. W przypadku pól prywatnych oraz chronionych, dostęp do nich jest ograniczony. Pole $b jest prywatne, co oznacza, że może być używane tylko wewnątrz tej samej klasy, a pole $c, będące chronionym, może być używane przez klasę i jej podklasy, ale nie przez kod zewnętrzny. Warto zaznaczyć, że dobre praktyki programowania obiektowego sugerują ograniczanie dostępu do pól, co sprzyja enkapsulacji i ochronie integralności danych, a publiczne pola należy stosować z ostrożnością, aby nie naruszyć zasad projektowania systemów oprogramowania.

Pytanie 37

W języku PHP zmienna typu float może przyjmować wartości

A. wartości nieliczbowe
B. jedynie liczby całkowite
C. wartości logiczne
D. wartości zmiennoprzecinkowe
W języku PHP zmienne typu float są używane do reprezentowania liczb zmiennoprzecinkowych, co oznacza, że mogą przechowywać zarówno wartości całkowite, jak i wartości z częścią ułamkową. Typ float w PHP jest szczególnie przydatny w sytuacjach, gdzie precyzyjne obliczenia są niezbędne, na przykład w aplikacjach finansowych, gdzie obliczenia z użyciem pieniędzy wymagają uwzględnienia centów. W praktyce, operacje na zmiennych typu float mogą obejmować dodawanie, odejmowanie, mnożenie oraz dzielenie. Warto również zauważyć, że PHP obsługuje zarówno liczby w formacie dziesiętnym, jak i w notacji naukowej. Dobrą praktyką jest używanie funkcji takich jak round() do zaokrąglania wyników obliczeń zmiennoprzecinkowych, aby uniknąć problemów z precyzją, które mogą występować w wyniku ograniczeń reprezentacji liczb zmiennoprzecinkowych w pamięci komputera. W dokumentacji PHP, typ float jest jasno zdefiniowany jako liczba zmiennoprzecinkowa, co podkreśla jego kluczową rolę w różnych zastosowaniach programistycznych. Zrozumienie tego typu zmiennych jest fundamentem dla efektywnego programowania w PHP.

Pytanie 38

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

A. phpinfo()
B. php()
C. phpinformation()
D. phpgetinfo()
Odpowiedzi, które nie są poprawne, wynikają z nieznajomości funkcji PHP oraz ich zastosowania. Funkcja php() nie istnieje w standardowej bibliotece PHP, co czyni ją niepoprawną. Jej podanie sugeruje mylne rozumienie dostępnych funkcji, co może prowadzić do frustracji podczas programowania. Z kolei phpgetinfo() to nazwa, która nie jest zdefiniowana w dokumentacji PHP, co sprawia, że jest to funkcja, której użycie zakończyłoby się błędem. Nazwa ta może sugerować, że ma na celu zdobycie informacji o PHP, ale w rzeczywistości nie istnieje. Wreszcie, phpinformation() również nie jest funkcją obecnie dostępna w PHP. Brak tej funkcji w dokumentacji PHP jest dowodem na to, że nie została ona zaimplementowana przez twórców języka. Wszystkie te niepoprawne odpowiedzi pokazują, jak ważne jest zrozumienie dokumentacji oraz standardów PHP przy tworzeniu aplikacji. Właściwe zrozumienie funkcji i ich zastosowania jest kluczowe dla efektywnego programowania i uniknięcia błędów w kodzie.

Pytanie 39

Aby zweryfikować konfigurację w pliku php.ini, można uruchomić skrypt PHP, który zawiera zapis

A. <?php phpcredits(); ?>
B. <?php phpinfo(); ?>
C. <?php ini_set(); ?>
D. <?php echo phpversion(); ?>
Odpowiedź <?php phpinfo(); ?> jest poprawna, ponieważ funkcja phpinfo() generuje szczegółowy raport na temat konfiguracji PHP, w tym informacje o zainstalowanych rozszerzeniach, wersji PHP, oraz ustawieniach w pliku php.ini. W praktyce, ta funkcja jest niezwykle przydatna przy diagnozowaniu problemów związanych z konfiguracją serwera, ponieważ dostarcza pełen wgląd w aktualne ustawienia środowiska, co pozwala na szybkie zidentyfikowanie ewentualnych niezgodności. Przykładem zastosowania może być sytuacja, w której programista chce sprawdzić, czy określone rozszerzenie PHP jest aktywne lub jakie są wartości domyślne dla różnych dyrektyw, takich jak memory_limit czy upload_max_filesize. Dobrą praktyką w sytuacjach produkcyjnych jest ograniczenie dostępu do skryptów wywołujących phpinfo(), aby nie ujawniać wrażliwych informacji o serwerze osobom nieupoważnionym. Myśląc o bezpieczeństwie aplikacji, warto usunąć takie skrypty po zakończeniu diagnostyki.

Pytanie 40

W języku PHP znak "//" wskazuje na

A. początek skryptu
B. operator alternatywny
C. początek komentarza jednoliniowego
D. operator dzielenia całkowitego
W języku PHP znak '//' oznacza początek komentarza jednoliniowego. Komentarze w PHP są istotnym elementem kodu, pozwalającym programistom na dodawanie adnotacji, które nie wpływają na wykonywanie skryptu. Komentarze są niezwykle pomocne, gdyż umożliwiają wyjaśnienie złożonych fragmentów kodu, co ułatwia jego dalsze utrzymanie i rozwijanie. Dzięki używaniu '//', programista może opisać, co dany fragment kodu robi, dla siebie lub innych osób przeglądających kod w przyszłości. Przykład zastosowania: jeśli mamy kod 'echo "Hello World!";', możemy dodać komentarz wyjaśniający: '// Wyświetla tekst Hello World!'. Warto zaznaczyć, że PHP pozwala także na korzystanie z komentarzy wieloliniowych, które zaczynają się od '/**' i kończą na '*/'. Stosowanie komentarzy jest zgodne z najlepszymi praktykami programistycznymi, które zalecają dokumentowanie kodu oraz poprawne jego komentowanie, co jest częścią standardów kodowania, takich jak PSR-1 oraz PSR-2, promujących czytelność i spójność w kodzie.