Redirecionar em PHP

Pergunta
Tenho um problema ao redirecionar, coloco a instrução na primeira linha, porém quando a coloca em outra linha me dá este erro Warning: Cannot modify header information - headers already sent by (output started at C:\Servidor\web\VBX\inc\valida_session.php:5)

Pelo menos em ASP ou .NET posso redirecionar desde qualquer parte do código tendo por exemplo:

<%



If x = 0 then

Response.redirect(?pag0.asp?)

Elseif x = 1 then

Response.redirect(?pag1.asp?)

Elseif x = 2 then

Response.redirect(?pag2.asp?)

End if



%>


Isto também se pode fazer em PHP???

Valorize esta FAQ:
A FAQ Redirecionar em PHP tem Pertence à categoria:
Resposta
Claro que se pode! Porém tenha em conta que a diferença do que está fazendo com ASP, em PHP mediante este método está criando um cabeçalho HTTP que diz ao navegador que redirecione a outro site, com o qual é importante que se execute antes que exista nenhuma saída prévia ao navegador, já seja de texto ou HTML. Do contrário, no momento de tirar algo por tela se está criando um cabeçalho com o tipo de conteúdo utilizado (text/hml, text/plain, etc) e uma vez que se cria um cabeçalho, não se pode modificar.
E é então quando se recebe este erro; que diz que não se pode modificar a informação do cabeçalho, porque já se enviou ao navegador, e ademais lhe diz a linha que se enviou esse cabeçalho. Enfim, espero lhe que sirva para dissipar suas dúvidas.

E bom, a tradução de seu código ASP a PHP seria algo assim:

<?php
if ($x == 0):
header("Location: pag0.asp");
elseif ($x == 1):
header("Location: pag1.asp");
elseif ($x == 2):
header("Location: pag2.asp");
endif;
?>


Dê uma olhada na sintaxe alternativa para as estruturas de controle do manual oficial de PHP, onde encontrará diferentes formas de construí-las, já que certamente há alguma (como o anterior exemplo) que se aproximem mais a VB, ASP e/ou ao que estiver acostumado.

Por Skunk

Voltar à árvore de categorias Voltar à árvore de categorias

 
FAQs relacionadas
  + Warning PHP por session_start
  + Mostrar array PHP
  + Como tirar os hífens de um texto
  + Como acessar variáveis globais em PHP dentro de uma função?
  + Mostrar data e hora em PHP
  + Ativar delimitador de código PHP <?
  + Problema com apache e PHP 5
  + Mostrar erros PHP na página, ao invés de erro 500
  + [...]

Ver todas las FAQS de Manuais de PHP

Usuários :    login / registro

Home | Sobre nós | Copyright | Anuncie | Entrar em contato