Как сделать перенаправление (редирект) в 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>';
Вот и все! Спасибо за внимание!
Последние посты
Как купить автомобиль на аукционе?
Если вас интересует вопрос, можно ли купить автомобиль на аукционе, вот вам краткий ответ: да.… Читать далее
На что обратить внимание при выборе фонарика на батарейках
Фонарик на батарейках способен помочь в разных ситуациях, начиная от походов и заканчивая авариями. При… Читать далее
Всесторонний обзор Apple Watch Series 9: в чем его отличия от других поколений
Последняя презентация американской компании продемонстрировала несколько разнообразных новинок. В частности, в середине сентября 2023 года… Читать далее
Как утеплить ребенка на зиму с помощью меховых наушников
Голова и уши – это те части тела, которые больше всего нуждаются в тепле зимой.… Читать далее
Как проходит осмотр у проктолога при различных заболеваниях и как к нему подготовиться?
Проктология специализируется на лечении различных заболеваний ануса и прямой кишки. Такие деликатные проблемы вызывают боли… Читать далее
Нюансы размещения мебели на кухне — на что обратить внимание
Обустраивая домашнее пространство, мы всегда стараемся сделать его как можно более уютным и функциональным. При… Читать далее