Redirecionar em PHP

Subodh Poudel 30 janeiro 2023
  1. Use a função header() em PHP para enviar URL como cabeçalho HTTP para o navegador
  2. Use um método auxiliar em PHP para redirecionar para uma página diferente usando a função header() com código de status
  3. Use o buffer de saída em JavaScript para redirecionar para outra página
Redirecionar em PHP

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 Poudel avatar Subodh Poudel avatar

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