Як зробити перенаправлення (редирект) в 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>';

 

 

От і все! Дякуємо за увагу!

 

Share

Останні пости

Наполеон Гілл

Що розум людини може осягнути і в що він може повірити, того він здатен досягти… Читати далі

13/04/2024

Дейл Карнегі

Поводься так, ніби ти вже щасливий, і ти справді станеш щасливішим Дейл Карнегі   Читати далі

12/04/2024

Боротьба з тютюнопалінням на яскравих прикладах соціальної реклами

Кожного року величезна кількість людей передчасно помирає від серцево-судинних захворювань, раку, діабету, хронічних захворювань органів… Читати далі

11/04/2024

Альберт Ейнштейн

Безглуздо продовжувати робити те ж саме та очікувати на інші результати Альберт Ейнштейн   Читати далі

10/04/2024

Бернард Шоу

Чесність і вірність — це дорогий подарунок, якого від дешевих людей не варто очікувати Джордж… Читати далі

08/04/2024

Огляд технології, прикладів та переваг хмарних рішень: SaaS, PaaS та IaaS

Дослідження показують, що бізнес витрачає на хмарні технології дедалі більше грошей, і наразі ця цифра… Читати далі

07/04/2024