Как сделать перенаправление (редирект) в PHP

Довольно часто при работе с PHP-скриптами нужно автоматически перенаправлять посетителей на другую страницу (или другой сайт), например после успешного заполнения формы. В сегодняшнем уроке мы рассмотрим практическое решение вопроса перенаправления (редиректа) на другие страницы или сайты в PHP. К счастью, перенаправление с использованием PHP – это довольно простая задача.

 

Для перенаправления вы можете использовать функцию header() в PHP. Эта функция отправляет необработанный HTTP-заголовок в браузер. В результате браузер перенаправит посетителя на страницу, которая определена в этом новом HTTP-заголовке. Вам нужно только позаботиться о том, чтобы функция header() вызывалась перед отправкой любого фактического вывода. Это означает, что вы не можете использовать перед функцией HTML-теги, функции echo или print. Другими словами эту функцию необходимо использовать перед объявлением <!doctype ...>.

Ниже приведен пример использования перенаправления в PHP:

<?php
header('Location:https://sebweo.com');
?>

 

Если вы запустите этот код, браузер перенаправит вас на сайт sebweo.com. Однако не забывайте, что код после этой функции будет выполнен! Поэтому, чтобы сэкономить ресурсы, вы должны вызвать функцию die() после перенаправления, как показано ниже:

<?php
header('Location:https://sebweo.com');
die();
?>

 

 

Единственное, что вам нужно сделать, это изменить URL-адрес внутри параметра Location («пункт назначения»).

 

Если вы напишите echo до перенаправления, тогда вы получите следующую ошибку:

Warning: Cannot modify header information – headers already sent by…
Предупреждение: невозможно изменить информацию заголовка – заголовки уже отправлены…

 

Чтобы избежать этой ошибки, вы можете использовать выходную буферизацию PHP следующим образом:

<?php
ob_start();
echo "Test";
header('Location:https://sebweo.com');
ob_end_flush();
?>

 

 

Также, в качестве обходного пути, вы можете использовать вывод JavaScript из PHP, используя echo:

echo '<script type="text/javascript">window.location = "https://sebweo.com"</script>';

 

или так:

echo '<script type="text/javascript">window.location.replace("https://sebweo.com");</script>';

 

 

Вот и все! Спасибо за внимание!

 

Recent Posts

Интернет-магазин без лишнего функционала: как не переплатить за разработку на старте

Многие предприниматели сталкиваются с одной и той же проблемой. После утверждения бюджета разработка затягивается, появляются…

7 часов ago

Как выбрать детские бутсы для футбольной секции и не ошибиться с типом подошвы

Футбольная секция быстро показывает, насколько обувь подходит ребенку. Если пара скользит, давит или плохо цепляется…

1 день ago

Флагманский смартфон: почему стоит купить Samsung Galaxy S26 Ultra

Компания Samsung — один из лидеров на рынке электроники. Ее смартфоны выделяются надежностью, качественными дисплеями,…

1 день ago

Идеальное рабочее место: собираем надежный сетап для стабильной работы и гейминга

Рабочее пространство давно перестало быть просто столом с ноутбуком. Сегодня это полноценная экосистема, где каждая…

1 неделя ago

Серверы VPS для построения независимых онлайн-систем

Когда проект зависит от чужих ограничений, возрастают риски простоев, потери доступа к данным и сложности…

2 недели ago

Домен и хостинг: в чем разница и почему они работают только вместе

У тех, кто планирует создание сайта впервые, почти всегда возникает вопрос: что такое домен и…

2 недели ago