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: 10 czerwca 2026 13:27
  • Data zakończenia: 10 czerwca 2026 13:50

Egzamin zdany!

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

Jakie polecenie umożliwia pokazanie konfiguracji serwera PHP, w tym między innymi informacji o: wersji PHP, systemie operacyjnym serwera oraz wartościach przedefiniowanych zmiennych?

A. phpinfo();
B. echo phpversion();
C. print_r(ini_get_all());
D. phpcredits();
Funkcja phpinfo() jest najczęściej używanym narzędziem w ekosystemie PHP do wyświetlania szczegółowych informacji dotyczących konfiguracji serwera PHP. Umożliwia uzyskanie dostępu do kluczowych danych, takich jak wersja PHP, informacje o systemie operacyjnym, wartości przedefiniowanych zmiennych, a także wiele innych ustawień konfiguracyjnych. Dzięki temu narzędziu deweloperzy mogą szybko zdiagnozować problemy związane z konfiguracją, a także zrozumieć, jakie moduły PHP są zainstalowane i aktywne. Przykładowo, uruchamiając skrypt z tą funkcją na stronie internetowej, automatycznie generowany jest szczegółowy raport w formie HTML, co ułatwia odczyt i zrozumienie. Standardy branżowe wskazują, że korzystanie z phpinfo() powinno być ograniczone do środowisk rozwijających, ponieważ ujawnia to wiele informacji o serwerze, co w kontekście bezpieczeństwa może stanowić ryzyko. W praktyce, dobrze jest również stosować funkcję w lokalnych środowiskach deweloperskich, by monitorować i weryfikować zmiany w konfiguracji serwera podczas pracy nad projektem.

Pytanie 2

Która z poniższych funkcji PHP służy do ładowania pliku z serwera?

A. mysqli_connect()
B. echo()
C. parse_str()
D. include()
Funkcja <code>include()</code> w PHP jest używana do ładowania i wstawiania zawartości jednego pliku PHP do innego. Jest to niezwykle przydatne, gdy pracujemy z wieloma modułami w aplikacji i chcemy zorganizować kod w bardziej zrozumiały sposób. Korzystanie z <code>include()</code> pozwala na ponowne użycie tego samego kodu w wielu miejscach, co jest zgodne z zasadą DRY (Don't Repeat Yourself). Dzięki temu, jeśli mamy wspólną część kodu, jak np. nagłówek strony, możemy umieścić ją w osobnym pliku i dołączyć tam, gdzie jest to potrzebne. To nie tylko oszczędza czas, ale także ułatwia utrzymanie kodu. W przypadku błędów, <code>include()</code> generuje ostrzeżenie, ale nie zatrzymuje wykonywania skryptu, co może być przydatne w niektórych sytuacjach. Z mojego doświadczenia wynika, że jest to jedna z podstawowych funkcji, z którą warto się zapoznać na początku nauki PHP.

Pytanie 3

Funkcja phpinfo() umożliwia:

A. sprawdzanie wartości zmiennych wykorzystanych w skrypcie PHP
B. inicjowanie skryptu w języku PHP
C. analizowanie kodu PHP pod kątem błędów
D. uzyskanie informacji o środowisku pracy serwera obsługującego PHP
Funkcja phpinfo() jest kluczowym narzędziem w ekosystemie PHP, które dostarcza szczegółowych informacji o konfiguracji środowiska, w którym działa PHP. Użycie tej funkcji pozwala deweloperom na uzyskanie danych takich jak wersja PHP, zainstalowane rozszerzenia, ustawienia konfiguracyjne, oraz dane o systemie operacyjnym. Przykładowo, deweloper może wykorzystać phpinfo() do szybkiego sprawdzenia, czy potrzebne rozszerzenie, takie jak GD lub cURL, jest zainstalowane na serwerze. Pozwoli to uniknąć problemów związanych z brakującymi funkcjami w kodzie. Ponadto, funkcja ta jest także pomocna w procesach rozwiązywania problemów, ponieważ umożliwia natychmiastowy wgląd w kluczowe zmienne konfiguracyjne, co jest zgodne z najlepszymi praktykami w zakresie zarządzania środowiskami aplikacji webowych. Warto jednak pamiętać, że phpinfo() powinno być używane ostrożnie i tylko w środowisku deweloperskim, aby nie ujawniać danych konfiguracyjnych w produkcji.

Pytanie 4

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_rep('Kowalski', 'Nowak', $a);
B. $a = str_replace('Nowak', 'Kowalski');
C. $a = str_replace('Nowak', 'Kowalski', $a);
D. $a = str_replace('Kowalski', 'Nowak', $a);
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 5

W języku PHP symbol "//" oznacza

A. operator alternatywy.
B. operator dzielenia całkowitego.
C. początek programu.
D. początek komentarza jednoliniowego
Znak "//" w PHP to początek komentarza jednoliniowego. Komentarze to naprawdę ważna część kodowania, bo dzięki nim można dodawać notatki, które wyjaśniają, co się dzieje w kodzie. Ułatwia to późniejsze zrozumienie przy pracy nad projektem. Kiedy programista wpisuje "//", mówi interpreterowi PHP, żeby zignorował wszystko, co znajduje się w tej linii po tym znaku. Dzięki temu można opisywać funkcje czy klasy albo tymczasowo wyłączać część kodu, gdy testujemy różne rzeczy. To dobra praktyka, bo czytelność i dokumentacja kodu są kluczowe, szczególnie w większych projektach. Przykładowo, można zobaczyć taki komentarz: // Funkcja oblicza sumę dwóch liczb function suma($a, $b) { return $a + $b; } Dzięki takiemu komentarzowi inny programista szybko zrozumie, co ta funkcja robi, co jest super ważne w sytuacjach, gdy w zespole jest więcej osób.

Pytanie 6

Jakie funkcje należy najpierw wywołać, aby aplikacja PHP mogła nawiązać połączenie z bazą danych?

A. mysqli_connect
B. mysql_select_db
C. mysqli_close
D. mysql_create_db
Odpowiedź 'mysqli_connect' jest prawidłowa, ponieważ to właśnie ta funkcja jest pierwszym krokiem w nawiązywaniu połączenia z bazą danych w PHP. Funkcja ta przyjmuje parametry takie jak nazwa hosta, użytkownik, hasło oraz nazwa bazy danych, co pozwala na zbudowanie komunikacji między aplikacją a bazą danych. Dzięki temu, programista uzyskuje dostęp do danych przechowywanych w bazie, co jest kluczowe dla dynamicznych aplikacji webowych. Przykład użycia tej funkcji to: $link = mysqli_connect('localhost', 'username', 'password', 'database_name');. Warto pamiętać, że dobrym zwyczajem jest również sprawdzenie, czy połączenie zostało nawiązane poprawnie, co można zrobić za pomocą instrukcji if, aby uniknąć błędów w działaniu aplikacji. W kontekście najlepszych praktyk, ważne jest, aby unikać używania przestarzałych funkcji, takich jak mysql_connect, które nie obsługują nowoczesnych standardów bezpieczeństwa. Użycie mysqli_connect zapewnia większą funkcjonalność i bezpieczeństwo, a także jest zgodne z aktualnymi standardami programowania w PHP.

Pytanie 7

Jaki będzie rezultat po uruchomieniu podanego skryptu?

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

Pytanie 8

Aby przekształcić tekst "ala ma psa" na "ALA MA PSA", konieczne jest zastosowanie funkcji w PHP

A. ucfirst('ala ma psa')
B. strtolower('ala ma psa')
C. strstr('ala ma psa')
D. strtoupper('ala ma psa')
Funkcja strtoupper() w PHP jest naprawdę przydatna do zamiany wszystkich liter w danym ciągu znaków na wielkie litery. Na przykład, kiedy mamy tekst 'ala ma psa' i użyjemy strtoupper('ala ma psa'), to dostaniemy 'ALA MA PSA'. To bardzo fajny trik, zwłaszcza gdy musimy ujednolicić format tekstu, na przykład jak ktoś wprowadza dane w różny sposób. Moim zdaniem, to jest ważne, bo różnice w wielkości liter mogą zepsuć nasze porównania. Weźmy pod uwagę sytuację, gdy użytkownik wpisuje różne rzeczy i chcemy, żeby wszystko było w jednym formacie przed dalszym przetwarzaniem, np. w bazach danych. To dobra funkcja, bo działa z różnymi zestawami znaków, więc jest świetnym narzędziem w PHP, nie tylko w aplikacjach webowych, ale też przy przetwarzaniu tekstów.

Pytanie 9

W PHP, aby połączyć się z bazą danych MySQL przy użyciu biblioteki mysqli, w zapisie zamieszczonym poniżej, w miejscu litery 'c' powinno się wpisać

Ilustracja do pytania
A. lokalizację serwera bazy danych
B. nazwę użytkownika
C. hasło użytkownika
D. nazwę bazy danych
W języku PHP używając biblioteki mysqli do połączenia z bazą danych MySQL, jako drugi argument funkcji mysqli należy podać nazwę użytkownika. Konstruktor mysqli przyjmuje pięć głównych argumentów: lokalizację serwera, nazwę użytkownika, hasło użytkownika, nazwę bazy danych oraz opcjonalne port i socket. Nazwa użytkownika jest kluczowa, ponieważ określa, który użytkownik bazy danych będzie używany do połączenia. Najczęściej używanym użytkownikiem przy lokalnych połączeniach testowych jest 'root', ale w środowiskach produkcyjnych stosuje się bardziej restrykcyjne podejście, tworząc dedykowane konta z ograniczonymi uprawnieniami dostępowymi. Korzystając z odpowiednich danych uwierzytelniających, można także lepiej logować działania i zarządzać prawami dostępu. Dobra praktyka wymaga, aby hasło było przechowywane bezpiecznie, np. w plikach konfiguracyjnych poza dostępem zewnętrznym, a dane użytkownika zawsze były szyfrowane przy przesyłaniu. Znajomość poprawnej konfiguracji połączenia z bazą danych jest kluczowa dla bezpieczeństwa i wydajności aplikacji.

Pytanie 10

W języku PHP przeprowadzono operację zaprezentowaną w ramce. Jak można wyświetlić wszystkie rezultaty tego zapytania?

Ilustracja do pytania
A. użyć polecenia mysql_fetch
B. zastosować pętlę z poleceniem mysqli_fetch_row
C. zaindeksować zmienną tab, gdzie tab[0] to pierwsze imię
D. pokazać zmienną $db
Zastosowanie pętli z poleceniem mysqli_fetch_row jest poprawnym rozwiązaniem dla wyświetlenia wyników zapytania w języku PHP. Funkcja mysqli_fetch_row zwraca kolejny wiersz wynikowy jako tablicę liczbową przy każdym wywołaniu. Oznacza to, że aby przetworzyć wszystkie wiersze wyników, należy zastosować pętlę while bądź for, która będzie kontynuować do momentu zwrócenia ostatniego wiersza. Przykładowy kod może wyglądać następująco while ($row = mysqli_fetch_row($tab)) { echo $row[0]; } gdzie $tab to wynik zapytania mysqli_query. Takie podejście pozwala na iteracyjne przetwarzanie każdego wiersza i jest zgodne z branżowymi standardami dotyczącymi pracy z bazami danych w PHP. Dodatkowo mysqli_fetch_row jest bardziej efektywny w przypadku dużych zbiorów danych, ograniczając zużycie pamięci. Jest to zgodne z dobrymi praktykami dotyczącymi przetwarzania dużych zbiorów danych, gdzie operacje powinny być jak najbardziej zoptymalizowane i pamięciooszczędne co ma kluczowe znaczenie w aplikacjach internetowych z dużym obciążeniem.

Pytanie 11

Funkcja PHP var_dump() wyświetla informację na temat zmiennej: jej typ i wartość. Wynikiem dla przedstawionego fragmentu kodu jest:

$x = 59.85;
var_dump($x);
A. int(59)
B. array(2) { [0]=> int(59) [1]=> int(85) }
C. float(59.85)
D. string(5) "59.85"
Gratulacje, Twoja odpowiedź jest poprawna! W poprawnej odpowiedzi, wartość zmiennej $x była 59.85, co jest liczbą zmiennoprzecinkową, a więc typem tej zmiennej jest float. Funkcja PHP var_dump() służy do wyświetlania informacji o zmiennej, w tym jej typu i wartości. Zatem wynikiem jej wykonania dla zmiennej $x inicjowanej wartością 59.85 jest float(59.85). To jest jeden z przykładów, gdzie rozumienie typów danych w PHP jest kluczowe. Zrozumienie typu float pozwoli Ci na prawidłową manipulację danymi, co jest niezwykle ważne w programowaniu. Jest to szczególnie istotne, gdy porównujesz różne wartości lub przekształcasz jedne typy danych w inne. Pamiętaj, że PHP jest językiem o słabej typizacji, co oznacza, że konwersja typów może nastąpić automatycznie w niektórych kontekstach, więc zawsze warto wiedzieć, jakiego typu jest dana zmienna.

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 = new Punkt();
C. pkt 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

Skrypt na stronę WWW stworzony w języku PHP

A. może działać bez wsparcia serwera WWW
B. jest realizowany po stronie klienta
C. jest przetwarzany w taki sam sposób jak JavaScript
D. jest wykonywany po stronie serwera
Kod PHP jest przetwarzany po stronie serwera, co oznacza, że wszystkie instrukcje napisane w tym języku są wykonywane na serwerze, a nie na komputerze klienta. Kiedy użytkownik żąda strony internetowej, serwer WWW interpretuje kod PHP, generuje odpowiedni HTML i wysyła go do przeglądarki. Dzięki temu możliwe jest dynamiczne tworzenie treści, uzależnionej od danych wejściowych użytkownika czy zawartości bazy danych. Przykładowo, w aplikacjach internetowych takich jak systemy zarządzania treścią (CMS) czy platformy e-commerce, PHP pozwala na generowanie różnorodnych widoków i interakcji w oparciu o aktualne informacje. Kluczowym aspektem dobrej praktyki w programowaniu w PHP jest separacja logiki aplikacji od warstwy prezentacji, co wspiera łatwiejsze zarządzanie kodem i jego utrzymanie. Warto również zaznaczyć, że PHP współpracuje z różnymi systemami baz danych, co umożliwia przechowywanie i przetwarzanie dużych ilości danych. Na przykład, w typowej aplikacji webowej można wykorzystać PHP do komunikacji z bazą MySQL, co pozwala na dynamiczne ładowanie treści w odpowiedzi na interakcje użytkownika.

Pytanie 14

Zdefiniowano funkcję w języku PHP:

function policz($Z) { 
while($Z < 5) {
$Z += 2 * $Z + 1;
}
return $Z;
}
Funkcja policz została wywołana z parametrem $Z = 1. Jaki rezultat zostanie zwrócony?
A. 1
B. 7
C. 13
D. 4
Funkcja policz w języku PHP działa na zmiennej $Z, która jest inicjowana wartością 1. W pętli while sprawdzany jest warunek, czy $Z jest mniejsze niż 5. W przypadku, gdy $Z wynosi 1, warunek jest spełniony, a funkcja przechodzi do ciała pętli. Wewnątrz pętli $Z jest aktualizowane poprzez wyrażenie $Z += 2 * $Z + 1. Oznacza to, że do $Z dodawana jest wartość 2 * $Z + 1, co dla $Z = 1 daje 2 * 1 + 1 = 3. Po pierwszym kroku $Z osiąga wartość 4. Pętla while sprawdza ponownie warunek: 4 < 5, co również jest prawdą. W drugim kroku $Z = 4, więc $Z zostaje zaktualizowane do 4 + 2 * 4 + 1, co daje 4 + 8 + 1 = 13. Po tym kroku $Z staje się 13 i pętla while zakończy działanie, ponieważ 13 nie jest już mniejsze niż 5. Funkcja zwraca wartość 13, co czyni tę odpowiedź poprawną. Tego typu operacje są typowe w sytuacjach, gdzie potrzeba wielokrotnego aktualizowania wartości na podstawie obliczeń matematycznych, a ich zrozumienie jest kluczowe w programowaniu.

Pytanie 15

Ile razy zostanie wykonana pętla w języku PHP, jeśli zmienna kontrolna pozostaje niezmienna podczas działania pętli?

for($i=0; $i<=10; $i++) {
        .......
}
A. 11
B. 0
C. 10
D. Nieskończoność
Pętla for w języku PHP, zapisana jako for($i=0; $i<=10; $i++), będzie miała 11 iteracji ponieważ warunek $i<=10 pozwala na wykonanie pętli aż do momentu gdy $i wynosi 10 włącznie. Pętla zaczyna się od wartości 0 dla zmiennej $i i zwiększa jej wartość o 1 w każdej iteracji. Ponieważ warunek końcowy dopuszcza wartość 10 pętla wykona się dla wartości 0 1 2 3 4 5 6 7 8 9 i 10 co daje łącznie 11 iteracji. Tego typu pętla jest często wykorzystywana do iteracyjnego przetwarzania elementów tablic czy generowania sekwencji liczb. Jest to zgodne ze standardowymi praktykami programistycznymi gdzie pętle for są używane do iteracji tam gdzie liczba kroków jest z góry znana. Znajomość podstawowych struktur iteracyjnych takich jak pętla for jest kluczowa w efektywnym programowaniu i umożliwia tworzenie czytelnego i efektywnego kodu. Ważne jest też aby odpowiednio definiować warunki początkowe i końcowe oraz krok iteracji zgodnie z zamierzonym działaniem algorytmu aby uniknąć nieskończonych pętli lub błędów logicznych wynikających z niewłaściwie ustawionych warunków.

Pytanie 16

$x = mysql_query('SELECT * FROM mieszkanci'); if (!$x) echo "??????????????????????????????"; W podanym kodzie PHP, w miejscu znaków zapytania powinien wyświetlić się komunikat:

A. Zapytania zakończono sukcesem
B. Nieprawidłowa nazwa bazy danych
C. Błąd w trakcie przetwarzania zapytania
D. Złe hasło do bazy danych
W przedstawionym kodzie PHP mamy do czynienia z próbą wykonania zapytania SQL do bazy danych przy pomocy funkcji mysql_query. Ta funkcja zwraca wartość false, jeśli wystąpił błąd w trakcie przetwarzania zapytania. W kontekście tego kodu, komunikat 'Błąd przetwarzania zapytania.' jest odpowiedni, ponieważ wskazuje, że zapytanie nie zostało poprawnie wykonane. Istotne jest, aby programista zrozumiał, że błędy mogą wynikać z różnych przyczyn, takich jak błędna składnia SQL, problemy z połączeniem do bazy danych lub inne czynniki techniczne. Ważną praktyką jest dodawanie mechanizmów obsługi błędów, które mogą dać więcej informacji na temat problemu, np. użycie mysql_error() do uzyskania szczegółowych informacji o błędzie. Standardy dotyczące programowania w PHP oraz najlepsze praktyki wskazują na konieczność stosowania try-catch dla lepszej kontroli błędów oraz logowania, co może pomóc w diagnozowaniu problemów na etapie produkcyjnym. Warto zaznaczyć, że mysql_query jest przestarzałą funkcją, a obecnie zaleca się użycie mysqli lub PDO do komunikacji z bazą danych, co poprawia bezpieczeństwo i wydajność aplikacji.

Pytanie 17

W języku PHP nie można zrealizować

A. zmiany dynamicznej zawartości strony HTML w przeglądarce
B. tworzenia dynamicznej treści strony
C. przetwarzania danych z formularzy
D. obróbki danych przechowywanych w bazach danych
PHP, jako skryptowy język programowania po stronie serwera, nie jest w stanie dynamicznie zmieniać zawartości strony HTML w przeglądarce użytkownika po jej załadowaniu. Operacje, które wykonuje PHP, są realizowane na serwerze, a wyniki tych operacji przesyłane są jako statyczny HTML do przeglądarki. Oznacza to, że jakiekolwiek zmiany w treści strony muszą być przeprowadzane przed wysłaniem odpowiedzi do klienta. Dynamiczne zmiany w istniejącej zawartości HTML w przeglądarce są realizowane za pomocą JavaScriptu, który działa po stronie klienta. Na przykład, jeśli mamy formularz, który po wypełnieniu wymaga zmiany niektórej zawartości na stronie bez jej ponownego ładowania, to właśnie JavaScript, a nie PHP, będzie odpowiedzialny za te zmiany. PHP może generować zawartość w odpowiedzi na żądania, ale nie ma możliwości interakcji z już załadowanym DOM w przeglądarce. To ograniczenie wynika z architektury webowej, w której PHP i JavaScript pełnią różne role, co jest zgodne z ogólnymi standardami tworzenia aplikacji webowych, w tym modelu MVC (Model-View-Controller), gdzie PHP obsługuje model i widok, a JavaScript kontroler.

Pytanie 18

Plik cookie utworzony przedstawionym poleceniem PHP:

setcookie("osoba", "Anna Kowalska", time() + (3600 * 24));
A. będzie przechowywany na serwerze przez jedną dobę.
B. będzie przechowywany na serwerze przez jedną godzinę.
C. wygaśnie po jednej dobie od jego utworzenia.
D. wygaśnie po jednej godzinie od jego utworzenia.
W tym poleceniu PHP funkcja setcookie() dostaje jako trzeci parametr czas wygaśnięcia ciasteczka w postaci znacznika czasu UNIX (timestamp). Wyrażenie time() + (3600 * 24) oznacza: aktualny czas serwera (time()) powiększony o 3600 sekund (czyli jedną godzinę) razy 24, co razem daje 86400 sekund, czyli dokładnie jedną dobę. Przeglądarka zapisuje to jako tzw. cookie trwałe (persistent cookie) i będzie je przechowywać do momentu osiągnięcia tego czasu. Po upływie doby od utworzenia, przeglądarka automatycznie przestanie wysyłać to cookie w nagłówkach HTTP do serwera. To jest ważne: cookie jest przechowywane po stronie klienta, czyli w przeglądarce użytkownika, a nie na serwerze. Serwer tylko wysyła nagłówek Set-Cookie w odpowiedzi HTTP. W praktyce takie ustawienie przydaje się np. do zapamiętania imienia użytkownika, preferencji językowych, koszyka w prostym sklepie albo ustawień wyglądu strony na krótki czas, np. na jedną dobę. Moim zdaniem warto zapamiętać, że brak trzeciego parametru w setcookie() oznacza cookie sesyjne (kasowane po zamknięciu przeglądarki), a podanie konkretnego timestampu tworzy cookie, które ma określoną datę wygaśnięcia. Dobrą praktyką jest zawsze świadomie dobierać czas życia ciasteczek: dane wrażliwe powinny mieć raczej krótki czas ważności, a informacje czysto techniczne lub preferencje interfejsu mogą być przechowywane dłużej. W nowoczesnych aplikacjach webowych łączy się to też z innymi atrybutami cookie (Secure, HttpOnly, SameSite), ale sam mechanizm czasu wygaśnięcia pozostaje taki sam – jest to po prostu liczba sekund od epoki UNIX, kiedy cookie przestanie być uznawane za ważne.

Pytanie 19

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.

Pytanie 20

Aby przekształcić tekst "ala ma psa" na "ALA MA PSA", należy zastosować funkcję PHP

A. ucfirst("ala ma psa")
B. strtolower("ala ma psa")
C. strstr("ala ma psa")
D. strtoupper("ala ma psa")
Fajnie, że użyłeś funkcji strtoupper w PHP! Dzięki niej przekształcasz cały tekst na wielkie litery, co w tym przypadku zmienia 'ala ma psa' na 'ALA MA PSA'. To naprawdę przydatna funkcja, zwłaszcza w aplikacjach webowych, gdzie ważne jest, żeby tekst wyglądał tak, jak powinien, np. zgodnie z zasadami SEO czy przy prezentacji danych. Przykładowo, w formularzach warto, żeby nazwy użytkowników zawsze były w tym samym formacie. Poza tym jest cała masa innych funkcji w PHP, które mogą przydać się do manipulacji tekstem, a ich znajomość poprawia jakość kodu i jego czytelność.

Pytanie 21

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

A. nawiązać połączenie bazy danych z serwerem SQL
B. określić tabelę, z której będą pobierane informacje
C. określić bazę, z której będą pobierane dane
D. pobrać dane z bazy danych na podstawie zapytania
Funkcja mysql_select_db() służy do określenia, która baza danych będzie używana w kontekście bieżącego połączenia z serwerem MySQL. W momencie, gdy nawiązuje się połączenie z serwerem za pomocą funkcji mysql_connect(), należy jasno zdefiniować, w której bazie danych będą wykonywane zapytania. Właściwe ustawienie aktualnej bazy danych jest kluczowe, ponieważ wszelkie operacje związane z pobieraniem lub modyfikowaniem danych będą odnosiły się tylko do tej wskazanej bazy. Przykładowo, jeżeli mamy bazę danych 'sklep' i chcemy pobrać dane o produktach, najpierw musimy wywołać mysql_select_db('sklep'). Dobrą praktyką jest również sprawdzenie, czy operacja wyboru bazy danych zakończyła się sukcesem, co można zrobić, sprawdzając zwracany wynik. Należy pamiętać, że funkcja mysql_select_db() jest częścią starzejącego się interfejsu MySQL, a w nowoczesnych aplikacjach rekomendowane są bardziej aktualne rozszerzenia, takie jak MySQLi lub PDO, które oferują lepsze możliwości obsługi błędów oraz bezpieczeństwo.

Pytanie 22

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

A. XHTML
B. CSS
C. HTML
D. PHP
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.

Pytanie 23

Przedstawiony kod języka PHP

$dane = array ('imie' => 'Anna', 'nazwisko' => 'Nowak', 'wiek' => 21);
A. definiuje tablicę z trzema wartościami.
B. definiuje tablicę z sześcioma wartościami.
C. jest błędny, indeksami tablicy mogą być tylko liczby całkowite.
D. jest błędny, nieznany operator =>
Dobra robota, wybrałeś właściwą odpowiedź! Ten kod PHP, który analizujesz, rzeczywiście ustawia tablicę asocjacyjną z trzema parami klucz-wartość. Tak naprawdę tablica asocjacyjna to coś w stylu tablicy, gdzie każdemu elementowi przypisujesz unikalny klucz zamiast numeru indeksu. No i ten operator '=>' to typowy element PHP, służy do przypisywania wartości kluczom w tablicach. W twoim przykładzie widzisz, że kluczami mogą być nie tylko liczby, ale też łańcuchy tekstowe. To naprawdę przydatne, szczególnie przy przechowywaniu informacji, które łatwo zidentyfikować – na przykład numery telefonów czy adresy e-mail. Pamiętaj, że w PHP tablica to jedna z podstawowych struktur danych. Może trzymać różne typy danych, takie jak liczby, teksty, obiekty czy inne tablice, a jej rozmiar może się zmieniać w trakcie działania programu.

Pytanie 24

Który z komentarzy przedstawia opis działania funkcji zdefiniowanej w języku PHP?

A. /* Funkcja zwraca większą z dwóch podanych wartości, a w przypadku ich równości zwraca -1 */
B. /* Funkcja zwraca większą z dwóch podanych wartości, a w przypadku ich równości zwraca wartość $a */
C. /* Funkcja zwraca mniejszą z dwóch podanych wartości, a w przypadku ich równości zwraca -1 */
D. /* Funkcja zwraca mniejszą z dwóch podanych wartości, a w przypadku ich równości zwraca wartość $a */
W analizowanych odpowiedziach można zauważyć kilka nieporozumień dotyczących działania funkcji. Niektóre propozycje podają informację, że funkcja zwraca wartość niższą z dwóch podanych argumentów, co jest absolutnie błędne. Funkcja jest zaprojektowana tak, aby zawsze zwracała wartość wyższą, co jest kluczowym aspektem jej działania. Inne odpowiedzi wskazują, że w przypadku równości funkcja zwraca wartość $a, co także jest niezgodne z kodem źródłowym. W rzeczywistości, zgodnie z implementacją, zwracana jest wartość -1, co jest istotne, ponieważ wskazuje na brak różnicy między argumentami. Tego rodzaju pomyłki mogą wynikać z nieścisłości w interpretacji warunków logicznych. Ważne jest, aby przy analizie funkcji dokładnie zwracać uwagę na każdy element kodu, aby nie przeoczyć istotnych szczegółów. Przykładowo, błędne rozumienie tego, co oznacza 'wyższa' wartość w kontekście porównania, może prowadzić do złych wniosków w dalszym programowaniu, w szczególności w funkcjach, które bazują na porównaniach. Dlatego tak istotne jest, aby korzystać z praktyk kodowania, które zapewniają jasność i przejrzystość działania funkcji.

Pytanie 25

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

$zmienna1 = 15;
$zmienna2 = "15";
$zmienna3 = (string) $zmienna1;
A. zmienna2 i zmienna3 mają ten sam typ.
B. zmienna1 i zmienna2 mają ten sam typ.
C. wszystkie zmienne mają ten sam typ.
D. zmienna1 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 26

Wskaż, jak wygląda komentarz wieloliniowy w języku PHP?

A. #
B. //
C. /* */
D. <!-- -->
Wybór symbolu '//' wskazuje na komentarz jednoliniowy, który służy do komentowania pojedynczej linii kodu. Chociaż może być przydatny do szybkich notatek, nie jest odpowiednim narzędziem do tworzenia długich opisów, co czyni go nieodpowiednim w kontekście tego pytania. Kolejnym błędnym wyborem jest '<!-- -->', który jest syntaktyką HTML i nie powinien być używany w kodzie PHP. Użycie tej konstrukcji w kodzie PHP nie będzie działać, ponieważ PHP nie interpretuje znaczników HTML jako komentarzy, co może prowadzić do nieoczekiwanych błędów. Inna odpowiedź, symbol '#', to również komentarz jednoliniowy, powszechnie używany w skryptach powłoki (shell). Choć PHP akceptuje ten typ komentarzy, w kontekście tego pytania nie jest on właściwy, gdyż nie umożliwia tworzenia komentarzy wieloliniowych. Wybierając niewłaściwe typy komentarzy, można doprowadzić do zjawiska, gdzie kod staje się trudniejszy do zrozumienia i utrzymania. Przy pisaniu kodu warto stosować odpowiednie typy komentarzy, aby zapewnić przejrzystość i łatwość w nawigacji, a także przestrzegać standardów programistycznych, które podkreślają znaczenie stosowania właściwej składni dla konkretnego języka programowania.

Pytanie 27

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

A. <?php phpcredits(); ?>
B. <?php ini_set(); ?>
C. <?php echo phpversion(); ?>
D. <?php phpinfo(); ?>
Pomimo że inne funkcje podane w odpowiedziach mogą być użyteczne w różnych kontekstach, nie są one odpowiednie do wyświetlania pełnych ustawień konfiguracyjnych PHP. Funkcja ini_set(), na przykład, służy do dynamicznego zmieniania ustawień konfiguracyjnych w czasie działania skryptu, ale nie dostarcza informacji o aktualnych wartościach tych ustawień. Można ją użyć do modyfikacji konfiguracji, ale nie do ich przeglądania, co czyni ją nieodpowiednią do omawianego zadania. Ponadto, echo phpversion() zwraca jedynie wersję PHP, co jest zbyt ograniczone, aby zapewnić pełny przegląd środowiska konfiguracyjnego. Z kolei phpcredits() wyświetla informacje o wkładzie programistów PHP i nie ma związku z konfiguracją systemu, przez co również nie spełnia wymagań związanych z pytaniem. Często programiści mogą mylić te funkcje, zakładając, że są one w stanie dostarczyć kompleksowych informacji o ustawieniach PHP. Kluczowe jest zrozumienie różnic między tymi funkcjami i umiejętność zastosowania ich w odpowiednich kontekstach, co jest niezbędne do efektywnego zarządzania aplikacjami PHP.

Pytanie 28

Jakim zapisem w języku PHP można określić komentarz, który rozciąga się na wiele linii?

A. //
B. <!-- -->
C. /*  */
D. #
W języku PHP komentarz wieloliniowy definiuje się za pomocą zapisu /* */. Taki komentarz może obejmować wiele linii tekstu, co czyni go niezwykle przydatnym do opisywania fragmentów kodu, które są zbyt obszerne, by umieścić je w pojedynczej linii. Używanie komentarzy wieloliniowych pozwala programistom na dodawanie szczegółowych wyjaśnień dotyczących funkcji, algorytmów czy też sposobu działania poszczególnych sekcji kodu. Dobrą praktyką jest stosowanie takich komentarzy, aby ułatwić innym programistom zrozumienie kodu lub przypomnienie sobie samego siebie, co dany fragment robi. Przykładowo: /* Funkcja oblicza sumę dwóch liczb Parametr 1: pierwsza liczba Parametr 2: druga liczba Zwraca: suma obu liczb */ Ponadto, stosowanie komentarzy jest zgodne z zasadami programowania zorientowanego na zrozumiałość, które są kluczowe w projektach zespołowych oraz w długofalowym utrzymaniu kodu. Poprawne stosowanie komentarzy pomaga w dokumentowaniu kodu oraz w jego przyszłym rozwoju.

Pytanie 29

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

A. a / b
B. a && b
C. a + b
D. a * b
Wybór operacji a + b prowadzi do 8, co jest wartością całkowitą, a nie zmiennoprzecinkową. Operator dodawania w PHP sumuje dwie liczby i w przypadku, gdy obie liczby są całkowite, wynik również pozostaje w tym samym typie. W kontekście operacji arytmetycznych, dodawanie nie wprowadza dodatkowej precyzji i nie korzysta z możliwości reprezentacji liczb dziesiętnych, co czyni je mniej odpowiednim w sytuacjach wymagających większej dokładności. Kolejna niepoprawna odpowiedź to a * b, która również zwraca 15, co jest wartością całkowitą. Mnożenie podobnie jak dodawanie nie zmienia typu wyniku, dlatego nie spełnia warunków pytania. Operacje mnożenia są powszechnie wykorzystywane, ale w przypadku podanych zmiennych nie generują wartości zmiennoprzecinkowej. Ostatnia z niepoprawnych odpowiedzi, a && b, to operator logiczny, który sprawdza, czy obie zmienne są prawdziwe (true). W PHP operator ten zwraca wartość logiczną true lub false, w zależności od tego, czy obydwie zmienne są różne od zera. W tym przypadku, ponieważ a i b są różne od zera, wynik tego wyrażenia to true, co zdecydowanie nie jest wartością zmiennoprzecinkową. Operator logiczny nie jest więc odpowiedni do uzyskiwania wyników numerycznych i nie może być używany do obliczeń arytmetycznych.

Pytanie 30

W języku PHP zapisano fragment kodu. Plik cookie utworzony przy pomocy tego polecenia

setcookie("osoba", "Anna Kowalska", time()+(3600*24));
A. zostanie usunięty po 24 godzinach od jego stworzenia
B. będzie przechowywany na serwerze przez 24 godziny
C. zostanie usunięty po jednej godzinie od momentu jego utworzenia
D. będzie przechowywany na serwerze przez jedną godzinę
W kontekście używania plików cookie w PHP ważne jest zrozumienie różnicy pomiędzy przechowywaniem danych na serwerze a w przeglądarce użytkownika. Pliki cookie są przechowywane po stronie klienta a nie na serwerze co oznacza że odpowiedź o przechowywaniu cookie na serwerze jest błędna. Plik cookie wygasa po określonym czasie od jego ustawienia co jest ustalane poprzez czas wygaśnięcia podany jako trzeci parametr funkcji setcookie. W analizowanym fragmencie kodu czas wygaśnięcia jest ustawiony poprzez dodanie liczby sekund odpowiadającej jednemu dniu do bieżącego czasu co oznacza że plik cookie zostanie usunięty po upływie jednego dnia a nie jednej godziny. Jednym z typowych błędów jest mylenie jednostek czasu co prowadzi do niepoprawnego zrozumienia działania czasów wygaśnięcia. Ponadto błędne jest przekonanie że cookie może być przechowywane na serwerze co jest fundamentalnym nieporozumieniem dotyczącym natury plików cookie w HTTP. Pliki cookie są częścią mechanizmu zarządzania sesjami i stanem w aplikacjach webowych co ma kluczowe znaczenie dla personalizacji i utrzymania sesji użytkownika. Poprawne zrozumienie jak działa mechanizm cookie oraz gdzie są przechowywane pomaga w bezpiecznym i efektywnym projektowaniu aplikacji internetowych zgodnie z dobrymi praktykami w zakresie zarządzania sesjami i danymi użytkowników.

Pytanie 31

Który z poniższych kodów stanowi alternatywę dla kodu umieszczonego w ramce?

Ilustracja do pytania
A. <?php for($x=2;$x<=56;$x+=2){echo $x." ";} ?>
B. <?php for($x=1;$x<=55;$x+=1){echo $x." ";} ?>
C. <?php for($x=2;$x<=54;$x+=2){echo $x." ";} ?>
D. <?php for($x=1;$x<=55;$x++){echo $x." ";} ?>
W wielu odpowiedziach widać, że nie do końca rozumiesz, jak działają pętle i warunki w PHP. Kod w ramce przyzwoicie wypisuje liczby parzyste od 2 do 54, ale pomija nieparzyste tylko dzięki warunkowi if i continue. Jak masz niepoprawne odpowiedzi, to pojawia się kilka problemów. Na przykład, jak pętla startuje od x=1 i zwiększa x o 1, to wszystkie liczby się drukują, a to nie jest to, co chcesz uzyskać. Zmiana kroku na zwiększanie x o 2 byłaby dobra, ale możesz też mieć za szeroki lub zbyt wąski zakres, tak jak w przypadku, gdy pętla kończy się na 56 zamiast 54. Żeby kod był poprawny, musisz zrozumieć, że każda iteracja musi spełniać konkretny warunek, który rozwiązuje problem. Często mylimy się, myśląc, że drobne zmiany w kodzie, jak zmiana zakresu czy kroku, same z siebie załatwią sprawę. Ważne, żeby przemyśleć, jak zaplanować strukturę pętli i warunków, żeby wszystko działało tak, jak powinno i wykorzystanie zasobów było efektywne.

Pytanie 32

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

A. miesiąc i rok
B. rok
C. dzień i miesiąc
D. dzień
W przypadku odpowiedzi wskazujących na inne aspekty daty, takie jak \"dzień\" czy \"miesiąc i rok\", warto zrozumieć, że te odpowiedzi są niepoprawne ze względu na sposób działania funkcji `date()` w PHP. Funkcja ta, w kontekście zapytania, jest zdefiniowana tak, że zwraca jedynie czterocyfrowy rok, a nie konkretne dni czy miesiące. Użytkownicy mogą czasami mylić ten aspekt, sądząc, że funkcja `date()` może zwracać więcej informacji jednocześnie, co jest nieprawdziwe w przypadku podanego formatu. Na przykład, odpowiedzi, które wskazują na \"dzień\" i \"miesiąc\", mogą wynikać z założenia, że `date()` automatycznie wprowadza wszystkie elementy daty, co jest błędne. Dobrą praktyką jest zrozumienie, jakie formaty można używać z funkcją `date()`, aby prawidłowo wykorzystać jej możliwości. Każdy z formatów, takich jak \"d\" dla dnia czy \"m\" dla miesiąca, musi być wywołany oddzielnie, co prowadzi do błędnych wniosków, jeśli nie jest to uwzględnione w programowaniu. Zrozumienie tego mechanizmu jest kluczowe dla efektywnego korzystania z PHP w kontekście pracy z datami.

Pytanie 33

Która z podanych funkcji napisanych w PHP oblicza sumę połowy a oraz połowy b?

A. function licz($a, $b) { return 2/$a + 2/$b; }
B. function licz($a, $b) { return $a/2 + $b; }
C. function licz($a, $b) { return $a/2 + $b/2; }
D. function licz($a, $b) { return ($a/2 + $b)/2; }
Jak spojrzymy na błędne odpowiedzi, to widać, że pojawiło się kilka typowych problemów. Często wynika to z mylnego rozumienia operacji matematycznych i niewłaściwego użycia operatorów. Na przykład, jeśli ktoś wybrał odpowiedź zwracającą 2/$a + 2/$b, to zamiast obliczać połówki, funkcja daje wartości odwrotne, co mija się z celem pytania. To może być spowodowane niezrozumieniem, jak działają operatory. Inna odpowiedź, która zwraca ($a/2 + $b)/2, dodaje jeszcze jedno dzielenie przez 2, co daje niepoprawny wynik, bo to już nie jest suma połowy a i b, ale połowa sumy tych połów. Z kolei odpowiedź, która zwraca $a/2 + $b, dodaje połówkę a do całej wartości b, co też niezgodne z tym, co powinno być zrobione. W programowaniu kluczowe jest rozumienie, jak działają operacje i ich poprawne zastosowanie. Te błędy pokazują, jak ważne jest dokładne analizowanie wymagań i korzystanie z testów jednostkowych, żeby upewnić się, że wszystko działa, zanim kod zostanie wdrożony. W codziennym programowaniu warto też dodawać komentarze w kodzie, bo to ułatwia innym zrozumienie, co autor miał na myśli.

Pytanie 34

Definicja formularza została wykorzystana na stronie www, która przesyła dane do pliku w języku PHP. W której tablicy będą dostępne informacje z formularza?

<form action="plik.php" method="post">
A. $_POST
B. $_COOKIE
C. $_GET
D. $_ACTION
W kontekście przesyłania danych z formularza w PHP, zrozumienie funkcji różnych superglobalnych tablic jest kluczowe. Odpowiedzi takie jak $_GET, $_COOKIE i $_ACTION wskazują na nieporozumienia dotyczące sposobu, w jaki formularze interagują z PHP. Tablica $_GET jest używana do odbierania danych przesyłanych metodą GET, co oznacza, że dane są dołączane do URL jako parametry. To podejście ma istotne ograniczenia, zwłaszcza w zakresie bezpieczeństwa oraz maksymalnej długości danych, co czyni je nieodpowiednim do bardziej złożonych formularzy, w których przesyłane informacje mogą być poufne. $_COOKIE z kolei służy do obsługi danych przechowywanych w plikach cookie, które są wykorzystywane głównie do śledzenia sesji użytkowników, a nie do bezpośredniego przesyłania danych z formularzy. Warto również zauważyć, że $_ACTION nie jest standardową superglobalną tablicą w PHP, co sprawia, że jest to odpowiedź błędna, ponieważ taka tablica po prostu nie istnieje w kontekście PHP. Typowe błędy myślowe prowadzące do takich niepoprawnych wniosków obejmują mylenie metod przesyłania danych oraz niewłaściwe zrozumienie roli poszczególnych superglobalnych tablic. Zrozumienie tych różnic jest kluczowe dla prawidłowego projektowania aplikacji webowych i zapewnienia bezpieczeństwa przesyłanych danych.

Pytanie 35

W PHP, aby poprawnie zakończyć połączenie z bazą danych MySQL, ostatnim krokiem powinno być użycie polecenia

A. mysqli_close
B. mysql_exit
C. die
D. exit
Wybór poleceń mysql_exit, exit oraz die jako sposobu na zamknięcie połączenia z bazą danych jest niewłaściwy z kilku powodów. mysql_exit to nieistniejąca funkcja w PHP. Nie ma takiego polecenia w dokumentacji PHP, co sugeruje, że użytkownik może być nieświadomy alternatywnych metod zarządzania połączeniami z bazą danych. exit i die, mimo że są często używane do zatrzymywania skryptu, mają zupełnie inne zastosowanie. Obie te komendy kończą wykonanie skryptu PHP, co może prowadzić do niezamierzonego przerywania całej aplikacji, zamiast zamknięcia jedynie połączenia z bazą danych. Używanie ich w kontekście zamykania połączenia z bazą danych jest nieefektywne i może prowadzić do błędów w logice aplikacji. Funkcje te nie zwalniają zasobów związanych z połączeniem, co może prowadzić do wycieków pamięci oraz nieoptymalnego działania bazy danych. Z tego względu, stosowanie tych poleceń w kontekście obsługi połączeń MySQL jest niewłaściwe i powinno być unikane w profesjonalnym kodzie PHP.

Pytanie 36

Poniżej przedstawiono fragment kodu obsługującego

<?php
if ( !isset($_COOKIE[$nazwa]) )
  echo "nie ustawiono!";
else
  echo "ustawiono, wartość: " . $_COOKIE[$nazwa];
?>
A. zmiennych tekstowych
B. baz danych
C. sesji
D. ciasteczek
Odpowiedzi takie jak "bazy danych", "zmiennych tekstowych" oraz "sesji" są niepoprawne, ponieważ w kontekście podanego kodu nie odnoszą się one do rzeczywistości przedstawionej w pytaniu. Bazy danych służą do trwałego przechowywania danych, ale nie są związane z tym, co jest opisane w kodzie. Kod PHP nie ma nic wspólnego z operacjami na bazach danych, takimi jak SQL, ani z mechanizmami przechowywania danych w relacyjnych bazach danych. Zmienne tekstowe to pojęcie ogólne, które nie oddaje sedna zagadnienia - kod nie operuje na zmiennych tekstowych w kontekście przetwarzania danych, lecz na ciasteczkach, które są szczególnym przypadkiem przechowywania informacji w przeglądarkach. Sesje, z kolei, są innym mechanizmem przechowywania informacji, który pozwala na utrzymanie stanu aplikacji pomiędzy różnymi żądaniami HTTP. Sesje są przechowywane po stronie serwera, a identyfikator sesji jest zazwyczaj przechowywany w ciasteczkach. W tym przypadku odpowiedzi te są mylące, ponieważ nie uwzględniają kluczowej różnicy między ciasteczkami a mechanizmami przechowywania danych, jak sesje czy bazy danych. Typowy błąd myślowy polega na myleniu ciasteczek z innymi formami przechowywania, co można zauważyć w kontekście użycia ciasteczek do identyfikacji użytkownika lub sesji. Zrozumienie różnic pomiędzy tymi pojęciami jest istotne dla skutecznego programowania w PHP oraz budowy aplikacji webowych.

Pytanie 37

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. hasło dla użytkownika
B. nazwa użytkownika
C. adres serwera bazy danych
D. nazwa bazy danych
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 38

W języku PHP komentarz w jednej linii zaczyna się od znaków

A. $ lub #
B. // lub #
C. /* lub //
D. <! lub <?
Jak popatrzysz na inne odpowiedzi, to zauważysz kilka rzeczy, które są błędne. Ta odpowiedź, gdzie mówi się, że komentarz jednoliniowy w PHP zaczyna się od $ lub #, jest pomyłką, bo $ oznacza zmienne, a nie komentarze. Używanie # jako jedynego sposobu na komentarze jednoliniowe też jest ograniczone, bo nie jest powszechnie akceptowany na serwerach, gdzie raczej korzysta się z //. Inna błędna odpowiedź sugeruje użycie znaków /* lub //, ale /* to zaczęcie komentarza wieloliniowego, co nie pasuje do komentarzy jednoliniowych. Komentarze wieloliniowe, zaczynające się od /* i kończące na */, przydają się do większych fragmentów, ale nie dotyczą ogólnie tego, co jest w pytaniu. Użycie <! lub <? to też błąd, bo te znaki służą do definiowania nagłówków HTML lub otwierania skryptów PHP. Takie nieporozumienia w komentarzach mogą prowadzić do bałaganu w kodzie, co z kolei negatywnie wpływa na jego jakość i współpracę w zespole. Na koniec, dobre użycie komentarzy w PHP to kluczowa sprawa, bo pomaga w utrzymaniu przejrzystości i zrozumiałości kodu.

Pytanie 39

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

$zapytanie = mysqli_query($db, "SELECT imie, nazwisko FROM uzytkownik");
while ($wiersz = ...................)
    echo "$wiersz[0] $wiersz[1]";
A. mysqli_query($zapytanie)
B. mysqli_free_result($zapytanie)
C. mysqli_num_fields($zapytanie)
D. mysqli_fetch_array($zapytanie)
Mysqli_query($zapytanie) to funkcja, która wykonuje zapytanie SQL, ale nie przetwarza wyników. Jest to kluczowy etap interakcji z bazą danych, ponieważ bez wykonania zapytania nie można uzyskać żadnych danych. Jednak w podanym kodzie funkcja ta już została użyta do utworzenia zasobu $zapytanie, więc jej ponowne użycie w pętli nie miałoby sensu. Z kolei mysqli_free_result($zapytanie) służy do zwolnienia zasobów związanych z wynikiem zapytania, co jest potrzebne po zakończeniu przetwarzania danych, aby unikać wycieków pamięci. W miejscu kropek nie jest jednak potrzebne, ponieważ nadal przetwarzamy dane. Mysqli_num_fields($zapytanie) zwraca liczbę pól w wyniku zapytania, co może być przydatne podczas analizy struktury danych, ale nie jest właściwe do pobierania danych z zapytania. Typowe błędy myślowe wynikają z niezrozumienia procesu przetwarzania wyników zapytania i różnicy między wykonaniem zapytania a przetwarzaniem jego wyników. Ważne jest, aby rozróżniać role poszczególnych funkcji i stosować je zgodnie z ich przeznaczeniem, co jest fundamentem efektywnej pracy z bazami danych.

Pytanie 40

Jakie oznaczenie w języku PHP wskazuje na komentarz wieloliniowy?

A. #
B. /* */
C. <!-- -->
D. //
Istnieje wiele błędnych przekonań na temat różnych typów komentarzy w PHP, co może prowadzić do nieprawidłowych wniosków. Opcja // definiuje komentarze jednoliniowe, które są używane do dokumentowania pojedynczych linijek kodu i są ignorowane do końca danej linii. Ten typ komentarzy jest przydatny do krótkich notatek, ale nie nadaje się do bardziej skomplikowanych opisów, które wymagają kilku linii. Z kolei <!-- --> jest składnią HTML i nie jest akceptowany w PHP jako sposób definiowania komentarzy. Używanie tej składni w plikach PHP może prowadzić do nieprzewidywalnych błędów, szczególnie jeśli kod jest interpretowany w kontekście serwera. Ostatnia opcja, #, jest również poprawnym sposobem na definiowanie komentarzy jednoliniowych w PHP, ale nie spełnia wymagań dla komentarzy wieloliniowych, które można zdefiniować wyłącznie przy użyciu /* */. Dobrą praktyką jest stosowanie odpowiednich typów komentarzy w zależności od kontekstu, aby zapewnić przejrzystość i zrozumiałość kodu dla innych programistów. Ważne jest zrozumienie, jakie składnie są dozwolone w danym języku programowania, aby unikać potencjalnych błędów w kodzie oraz nieporozumień w zespole projektowym.