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.