Przejdź do głównej treści
  1. Strona główna
  2. Słownik
  3. INF.03
  4. Funkcja header() w PHP

Funkcja header() w PHP

Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Funkcja header() w PHP

Funkcja header() służy do wysyłania nagłówków HTTP z poziomu skryptu PHP. Jednym z jej najczęstszych zastosowań jest przekierowanie użytkownika na inną stronę.

Przekierowanie na inną stronę

Aby przekierować użytkownika, używa się nagłówka Location:

header("Location: logowanie.php");
exit;

Instrukcja exit jest zalecana, ponieważ zatrzymuje dalsze wykonywanie skryptu po wysłaniu przekierowania.

Ważna zasada

Funkcja header() musi zostać wywołana zanim PHP wyśle jakąkolwiek treść do przeglądarki. Oznacza to, że przed header() nie powinno być:

  • kodu HTML,
  • tekstu wypisywanego przez echo,
  • spacji lub pustych linii poza znacznikami PHP,
  • komunikatów błędów.

Błędny przykład:

echo "Witaj";
header("Location: index.php");

Taki kod może spowodować błąd typu: headers already sent.

Przykład użycia po sprawdzeniu warunku

if (!isset($_SESSION["user"])) {
    header("Location: logowanie.php");
    exit;
}

Taki zapis często stosuje się przy zabezpieczaniu podstron dostępnych tylko dla zalogowanych użytkowników.

Inne zastosowania

header() może też służyć do ustawiania typu odpowiedzi, np.:

header("Content-Type: text/html; charset=UTF-8");

W kontekście egzaminu INF.03 najważniejsze jest jednak zapamiętanie: do przekierowania w PHP używa się funkcji header() z nagłówkiem Location.