O erro "Cannot modify header information - headers already sent" ocorre quando adicionamos alguma saída ao script antes de utilizar a função header:
Segue exemplos:
#A linha abaixo é uma saÃda HTML que é processada antes da função header() echo "Aguarde..."; header("Location: redirecionamento.php");
Versão correta:
header("Location: redirecionamento.php"); echo "Aguarde...";
Meu site apresenta o erro "Cannot modify header information - headers already sent", o que fazer?:
1) Procure a função "header" no código e filtre a declaração que apresenta o problema. Comente-a e veja alternativas ou corrija a localização do header.
2) Procure por todas as declarações que poderiam enviar a saída para o usuário antes desta declaração de cabeçalho. Se você encontrar uma ou mais declarações de HEADER, encontre-os como citado acima e mova-os para antes deles. O uso de HTML/JavaScript para redirecionamentos, por exemplo, é uma opção.
3) Certifique-se que não há espaço em branco fora do inÃcio e fim das tags PHP. Enquanto uma linha em branco antes ou depois do fim do código pode causar este tipo de problema.
4) Um detalhe importante, os editores com suporte a UTF-8 como o DWCS4 e Eclipse salvam o arquivo .php com Assinatura Unicode (BOM), basta desmarcar esta opção, salvar e problema resolvido.
5) Adicione no inÃcio do seu script o seguinte código:
ob_start()
Estou recebendo o erro "Cannot modify header information â headers already sent" em meu blog WordPress, o que fazer?
Em sites WordPress a solução é simples. O que ocorre é que normalmente o usuário altera o arquivo "wp-config.php" com editores simples como o Notepad do Windows, o que causa a corrupção do arquivo no momento de enviá-lo para o Servidor (Assinatura Unicode [BOM]). O primeiro passo será instalar o programa "Notepad++" e após abrir o seu arquivo "wp-config.php" e remover quaisquer espaços em branco contidos antes do inÃcio do código.