Як зробити перенаправлення (редирект) в 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>';
От і все! Дякуємо за увагу!
Останні пости
Демокріт
Ми потребуємо не стільки допомоги друзів, а більше тієї впевненості, що ми її отримаємо Демокріт… Читати далі
Майк Тайсон
Коли мені важко, я завжди нагадую собі про те, що якщо я здамся — краще… Читати далі
25 корисних порад та рішень jQuery, які ви повинні знати
jQuery – це швидка і досить невелика бібліотека JavaScript. Вона спрощує створення інтерактивних та приголомшливих… Читати далі
Йоганн Вольфганг фон Гете
Кожен чує тільки те, що він розуміє Йоганн Вольфганг фон Гете Читати далі
Сайт для перукарні Teti Bond
Опис проекту: Розробка офіційного сайту для перукарні Teti Bond в місті Житомир. Перукарня орієнтована… Читати далі
Як повністю і без сліду видалити плагін у WordPress
Плагіни є невід'ємною частиною функціонування WordPress, адже за їх допомогою можна досягти практично необмеженої розширюваності… Читати далі