PHP redirect mechanism is used to navigate the user from one page to another without clicking any hyperlinks. This will be helpful in such circumstances where the redirect should be done in the background.
For example, when the user is accessing the payment gateway, the redirect should automatically be taken place to notify the URL using a PHP script.
PHP provides predefined function, named header(),for URL redirection. Using this header() function, we need to send the location header by specifying the URL to which the page should be redirected.
Unlike JavaScript redirect where there are several ways to handle URL redirect works based on the browser, PHP avoids such confusion and has a header() function to create the same effect in all browsers. For that only, we have concluded with the JavaScript redirect article that server-side redirect is preferable.
header("Location: target-url");
In the above syntax of PHP redirect, we need to replace it with a valid URL to which we want to move. We can specify either an absolute URL or a relative URL for this location header. If we specify a relative URL, it will search for the page in our domain where we exist.
Note: Before specifying the page URL for the location header, we should make sure that the page exists.
Before executing PHP redirect, we should ensure about, no output is sent to the browser before the line where we call the header() function. For example,
<?php
echo "PHP Redirect";
header("Location: phppot.com");
?>
This script will display the following warning notice to the browser.
Warning: Cannot modify header information - headers already sent by (...
It is not only applicable for the header function, but rather for all the PHP functions like set_cookie(), session_start() and etc., whatever can modify the header. For that, we should remove all content that will stop sending location header to the browser.
<?php
header("Location: phppot.com");
exit();
?>
<?php
ob_start(); // Output Buffering on
header("Location: phppot.com");
exit();
?>