Jak przekierować przeglądarkę na inną stronę?

Z PHPEdia.pl
Skocz do: nawigacji, wyszukiwania

Aby przekierować przeglądarkę na inną stronę, musimy wysłać do niej nagłówek. Służy do tego funkcja header(). Przyjmuje ona treść nagłówka HTTP, która może posłużyć właśnie do przekierowania przeglądarki na inny adres.

<?php
header('Location: http://wiki.php.pl'); //tak może wyglądać przekierowanie
?>

Często przekierowujemy przeglądarkę na inny element serwisu. Możemy użyć do tego adresu względnego:

<?php
header('Location: index2.php'); //tak może wyglądać przekierowanie
?>

Jednak protokół HTTP 1.1 wymaga, aby nagłówek Location zawierał bezwględny adres. Chociaż większość przeglądarek poprawnie obsłuży adres względny, powinniśmy używać pełnej wersji:

<?php
$wzgledny_url = 'index2.php';
header("Location: http://".$_SERVER['HTTP_HOST']
                       ."/".dirname($_SERVER['PHP_SELF'])
                       ."/".$wzgledny_url); //tak powinno wyglądać przekierowanie do adresu względnego
?>

Ważną rzeczą przy wysyłaniu nagłówków, jest to, żeby wysłać header przed wysłaniem jakiejkolwiek innej treści (np. za pomocą print) - chyba że używasz buforowania danych.


Jest to element FAQ, czyli zestawienia odpowiedzi na najczęściej zadawane pytania.

Zestawienie: Informacje | Podstawy PHP | Porady praktyczne | Pytania z forum | Bezpieczeństwo