KWALIFIKACJA INF3 - CZERWIEC 2021 (test 2)

PYTANIE NR 37.
W języku PHP przekierowanie użytkownika na inną stronę WWW jest możliwe za pomocą funkcji
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Przekierowanie w PHP wykonuje się przez wysłanie nagłówka odpowiedzi z adresem docelowym, co realizuje funkcja header() (np.
header('Location: /nowa.php');
). Funkcje include() i require() służą do dołączania plików, a upload() nie jest standardową funkcją do przekierowań.

Pełne wyjaśnienie:

W aplikacji WWW napisanej w PHP serwer zwraca do przeglądarki odpowiedź, która składa się m.in. z nagłówków oraz treści (HTML/JSON itp.). Aby przekierować użytkownika na inny adres, serwer powinien poinformować klienta, że ma przejść pod nową lokalizację. W praktyce robi się to przez wysłanie nagłówka Location.

W PHP nagłówki odpowiedzi ustawia się funkcją header(). Typowy zapis przekierowania wygląda tak:

header('Location: /nowa-strona.php');
exit;

Dodanie exit (lub die) jest częstą praktyką, aby po wysłaniu nagłówka nie generować już dalszej treści strony i nie wykonywać niepotrzebnego kodu.

Dlaczego pozostałe odpowiedzi są niepoprawne?

  • include() – służy do dołączania i wykonywania wskazanego pliku PHP w bieżącym skrypcie. Nie wysyła nagłówków przekierowania, więc nie przenosi użytkownika na inną stronę.
  • require() – działa podobnie do include(), ale w razie problemu z dołączeniem pliku zwykle kończy działanie skryptu błędem krytycznym. To nadal mechanizm włączania kodu, a nie przekierowania.
  • upload() – nie jest standardową funkcją PHP służącą do przekierowań; w kontekście PHP "upload" kojarzy się raczej z obsługą przesyłania plików (formularze, katalog tymczasowy), a nie z nawigacją użytkownika.

Wskazówka egzaminacyjna: jeśli w treści pytania pojawia się "przekierowanie", szukaj odpowiedzi związanej z nagłówkami odpowiedzi serwera (header), a nie z dołączaniem plików czy importem kodu.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Najczęściej używa się funkcji header() i nagłówka Location, np. header('Location: /nowa.php');. W praktyce często dodaje się też exit, aby zakończyć wykonywanie skryptu po wysłaniu przekierowania.
Ponieważ przekierowanie jest realizowane na poziomie odpowiedzi serwera: przeglądarka dostaje nagłówek informujący o nowym adresie. Funkcja header() umożliwia wysłanie takich nagłówków, zanim zostanie wysłana treść strony.
Nagłówek Location wskazuje adres docelowy, pod który klient (przeglądarka) ma przejść. Serwer nie "przenosi" użytkownika samodzielnie — to przeglądarka wykonuje przejście po otrzymaniu odpowiedniej odpowiedzi.
Nie. include() i require() służą do dołączania plików PHP i wykonywania ich kodu w bieżącym skrypcie. Nie ustawiają nagłówków przekierowania, więc nie powodują przejścia przeglądarki na inny adres.
Często warto użyć exit, aby zakończyć działanie skryptu po wysłaniu nagłówka przekierowania. Zapobiega to generowaniu dalszej treści strony i wykonywaniu kodu, który mógłby np. modyfikować sesję lub wysyłać dodatkowe nagłówki.
Najczęstszy powód to wysłanie jakiejkolwiek treści przed nagłówkami (np. spacja, BOM, echo). Gdy nagłówki zostały już wysłane, nie da się ich zmienić. Pomaga kontrola buforowania wyjścia oraz pilnowanie, by header() było wykonane przed generowaniem HTML.
Typowe pomyłki to wybór include()/require() zamiast header() oraz traktowanie przekierowania jak "wczytania pliku". Częsty jest też błąd praktyczny: wywołanie header() po wypisaniu HTML, co uniemożliwia wysłanie nagłówków.
Nie do końca. W PHP przekierowanie odbywa się zwykle przez nagłówki odpowiedzi serwera. W HTML można stosować np. metatagi odświeżania, ale to inny mechanizm. Na egzaminie dotyczącego PHP najczęściej oczekuje się wskazania funkcji header().
Post/Redirect/Get to wzorzec obsługi formularzy: po wysłaniu danych metodą POST serwer zapisuje dane, a potem robi przekierowanie (często przez header z Location) do strony wyniku. Dzięki temu odświeżenie strony nie powoduje ponownego wysłania formularza.
Można podejrzeć nagłówki odpowiedzi w narzędziach deweloperskich przeglądarki (zakładka sieć) i sprawdzić, czy pojawia się nagłówek Location oraz odpowiedni status odpowiedzi. W kodzie warto też upewnić się, że przed header() nic nie zostało wypisane.
info

To pytanie poprawnie rozwiązuje 66% zdających egzamin. średnie

W praktyce zawodowej kluczowe jest to, że przekierowanie w PHP wykonuje się przez wysłanie nagłówka odpowiedzi z adresem docelowym, co realizuje funkcja header() (np. header('Location: /nowa.php');).

Źródła:

  • PHP Manual: header — Sends a raw HTTP header, https://www.php.net/manual/en/function.header.php (dostęp: 2026-03-01)
  • PHP Manual: include, https://www.php.net/manual/en/function.include.php (dostęp: 2026-03-01)
  • PHP Manual: require, https://www.php.net/manual/en/function.require.php (dostęp: 2026-03-01)

Materiały:

  • Oficjalna dokumentacja PHP dotycząca funkcji header()
  • Materiały o komunikacji klient–serwer i roli nagłówków odpowiedzi
  • Ćwiczenia praktyczne: obsługa formularzy i wzorzec Post/Redirect/Get w PHP

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego