Redirecionar em PHP
-
Use a função
header()em PHP para enviar URL como cabeçalho HTTP para o navegador -
Use um método auxiliar em PHP para redirecionar para uma página diferente usando a função
header()com código de status - Use o buffer de saída em JavaScript para redirecionar para outra página
Demonstraremos uma maneira de redirecionar uma página para outra página em PHP usando a função header() enviando o cabeçalho HTTP para o navegador. Este método usa a função header() embutida no PHP, que leva Location como um parâmetro cujo valor é a URL da página desejada.
Também apresentaremos um método para redirecionar uma página para outra usando uma função auxiliar com URL e códigos de status como parâmetros e, em seguida, chamaremos a função header() dentro do método.
Mostraremos outra maneira de redirecionar para outra página usando javascript dentro de echo em PHP usando window.location para armazenar a URL da página a ser redirecionada.
Use a função header() em PHP para enviar URL como cabeçalho HTTP para o navegador
Podemos usar a função header(), que leva Location como parâmetro. O valor de Location é o URL da página desejada, que precisamos redirecionar. Observe que a função de cabeçalho deve ser escrita acima das tags HTML e textos no arquivo. A função header() não é executada depois que outros dados são enviados ao navegador. Deve ser a primeira linha de código a ser executada.
Por exemplo, armazene o url http://facebook.com em uma variável redirect_page. Use a função header() e especifique a variável redirect_page em Location na função. Então, chame a função die().
No exemplo abaixo, a URL do Facebook é armazenada na variável redirect_page. A variável é usada na função de cabeçalho. Quando o script a seguir é executado, a página redireciona para a página inicial do Facebook. A função die() impede que o script continue após a execução da função header() para evitar um comportamento inesperado. Por favor, verifique o manual php para informações sobre a função header(). Certifique-se de colocar o arquivo PHP dentro do servidor da web local para executá-lo em seu navegador.
Código de exemplo:
# php 7.x
<?php
$redirect_page = 'http://facebook.com';
header('Location:' .$redirect_page);
die();
?>
Use um método auxiliar em PHP para redirecionar para uma página diferente usando a função header() com código de status
Usaremos uma função auxiliar redirect para redirecionar uma página para uma página diferente.
Defina um método redirect. Considere o URL e o código de status como argumentos na função. Escreva a função header() dentro do método. Considere o URL para Location e o código de status como argumentos para a função header(). Então, chame a função die(). O script morre após a execução da função header() quando encontra a função die(). Fora da definição da função, chame a função redirect fornecendo o URL http://example.com/ como parâmetro. Ele invoca a função com o URL como parâmetro.
No exemplo abaixo, o código de status 301 é usado para redirecionar para outra página permanentemente. O script redireciona a página atual para http://example.com/. Verifique MDN Web Docs para saber mais sobre o código de status 303.
Código de exemplo:
#php 7.x
<?php
function redirect($url, $statusCode = 301) {
header('Location: ' . $url, $statusCode);
die();
}
redirect('http://example.com/');
?>
Use o buffer de saída em JavaScript para redirecionar para outra página
Usaremos JavaScript dentro do PHP para redirecionar uma página para outra página. No exemplo abaixo, redirecionamos uma página para a página inicial do Twitter.
Escreva o tipo de script de tag como text/javascript para escrever algum código JavaScript. Use window.location para armazenar o URL - http://www.twitter.com. Imprima toda a tag script usando echo.
Esse método é chamado de saída de buffer. É um método mais rápido para redirecionar para outra página. Por favor, verifique o site oficial do PHP para saber mais sobre saída em buffer.
Código de exemplo:
#php 7.x
<?php
echo '<script type="text/javascript">
window.location = "http://www.twitter.com/"
</script>';
?>
Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.
LinkedIn