Página 1 de 1

[DICA] Corrigindo " Cannot modify header information "

Enviado: 02 Jun 2012, 09:58
por euclides.sp
PHP Warning: Cannot modify header information - headers already sent by...

Olá amigos do fórum. Venho postar a solução de um problema que percebi ao testar os links de minha loja, (ainda em construção mas já na fase final).
Percebo o erro ao clicar no link "Histórico de Pedidos" que me devolvia uma página em branco com a memsagem : "PHP Warning: Cannot modify header information - headers already sent by (output started at ...\catalog\controller\account\order.php:1)".
Quando ao acessar o forum opencart.com li um post dizendo que isto não é bug do OC procurei em foruns de php. Em vários sites tinha a orientação para que fosse feita a leitura do código com atenção. Tanto pelo dreamweaver como bloco de nota não consecuia ver nada errado na lonha do código (order.php:1 que começa com <?php).
Em um dos vários sites que fiz a busca pela solução do problema li o seguinte "voce fez upload para o servidor contém caracteres ocultos. No caso, são alguns caracteres antes da tag inicial “<?php”, logo no início do arquivo"
Aprendi que o problema não será visível em editores de texto comuns e que era necessário abrir o arquivo por um método do próprio Windows.
Eis a solução:
1-baixe por ftp o arquivo onde surge o erro. No meu caso era: catalog\controller\account\order.php

2-Vá no Menu Iniciar do seu computador, depois em Executar. Digite a linha de comando: C:/WINDOWS/system32/edit.com e dê Ok. Através desse edit.com você cairá numa tela onde terá como abrir o arquivo “página-de-erro.php”; finalmente, nesta tela você verá que o arquivo possuí alguns caracteres antes não vistos antes da tag “<?php”.

Espero ter contribuído com o fórum que tanto tem me ajudado.

Re: [DICA] Corrigindo " Cannot modify header information "

Enviado: 02 Jun 2012, 18:15
por Manoel Vidal
Parabéns pela contribuição! Realmente uma informação simples mas valiosa. :D

Re: [DICA] Corrigindo " Cannot modify header information "

Enviado: 08 Jun 2012, 03:11
por Moises
Cara!!!!

Isso resolveu inclusive o problema de imagem do captcha que nada fazia aparecer! (Já vi muitos paliativos aqui no forum, que não resolvem)

Ao ver a mensagem de erro no "log de erros" eu cai de paraquedas na sua dica e eis que a imagem apareceu.

Isso deve ser bom até pra resfriado... :D

Valeu!!!!!

Re: [DICA] Corrigindo " Cannot modify header information "

Enviado: 08 Jun 2012, 11:02
por juliocesar757
Esses caracteres 'invisíveis' é porque alguns arquivos foram salvos como UTF-8 com BOM.
No Notepad++ também tem como converter para UTF-8 sem BOM.

Re: [DICA] Corrigindo " Cannot modify header information "

Enviado: 15 Mar 2013, 13:14
por lutamos
Euclides,
Muito obrigado ! Eliminou diversos erros no log e também o problema do Captcha !
Fiz alterações no arquivo portuguese-br.php e salvei em outro editor, gerando esses caracteres invisíveis. A dica do NOTEPAD ++ de salvar como UTF-8 ( SEM BOM).

Att,

Alexandre Pereira
euclides.sp escreveu:PHP Warning: Cannot modify header information - headers already sent by...

Olá amigos do fórum. Venho postar a solução de um problema que percebi ao testar os links de minha loja, (ainda em construção mas já na fase final).
Percebo o erro ao clicar no link "Histórico de Pedidos" que me devolvia uma página em branco com a memsagem : "PHP Warning: Cannot modify header information - headers already sent by (output started at ...\catalog\controller\account\order.php:1)".
Quando ao acessar o forum opencart.com li um post dizendo que isto não é bug do OC procurei em foruns de php. Em vários sites tinha a orientação para que fosse feita a leitura do código com atenção. Tanto pelo dreamweaver como bloco de nota não consecuia ver nada errado na lonha do código (order.php:1 que começa com <?php).
Em um dos vários sites que fiz a busca pela solução do problema li o seguinte "voce fez upload para o servidor contém caracteres ocultos. No caso, são alguns caracteres antes da tag inicial “<?php”, logo no início do arquivo"
Aprendi que o problema não será visível em editores de texto comuns e que era necessário abrir o arquivo por um método do próprio Windows.
Eis a solução:
1-baixe por ftp o arquivo onde surge o erro. No meu caso era: catalog\controller\account\order.php

2-Vá no Menu Iniciar do seu computador, depois em Executar. Digite a linha de comando: C:/WINDOWS/system32/edit.com e dê Ok. Através desse edit.com você cairá numa tela onde terá como abrir o arquivo “página-de-erro.php”; finalmente, nesta tela você verá que o arquivo possuí alguns caracteres antes não vistos antes da tag “<?php”.

Espero ter contribuído com o fórum que tanto tem me ajudado.

Re: [DICA] Corrigindo " Cannot modify header information "

Enviado: 24 Abr 2013, 19:31
por Daylize
Isso não resolveu para mim.


Msg de erro:

Notice: Undefined index: customer_group_id in /home2/gamertra/public_html/admin/model/sale/customer.php on line 22Warning: Cannot modify header information - headers already sent by (output started at /home2/gamertra/public_html/admin/index.php:79) in /home2/gamertra/public_html/system/engine/controller.php on line 28Warning: Cannot modify header information - headers already sent by (output started at /home2/gamertra/public_html/admin/index.php:79) in /home2/gamertra/public_html/system/engine/controller.php on line 29


customer.php on line 22
Código: Selecionar todos
	public function editCustomer($customer_id, $data) {
		$this->db->query("UPDATE " . DB_PREFIX . "customer SET firstname = '" . $this->db->escape($data['firstname']) . "', lastname = '" . $this->db->escape($data['lastname']) . "', email = '" . $this->db->escape($data['email']) . "', telephone = '" . $this->db->escape($data['telephone']) . "', fax = '" . $this->db->escape($data['fax']) . "', newsletter = '" . (int)$data['newsletter'] . "', customer_group_id = '" . (int)$data['customer_group_id'] . "', status = '" . (int)$data['status'] . "' WHERE customer_id = '" . (int)$customer_id . "'");
	
      	if ($data['password']) {
        	$this->db->query("UPDATE " . DB_PREFIX . "customer SET password = '" . $this->db->escape(md5($data['password'])) . "' WHERE customer_id = '" . (int)$customer_id . "'");
      	}
controller.php on line 29
Código: Selecionar todos
		header('Location: ' . str_replace('&', '&', $url));
		exit();
	}

Re: [DICA] Corrigindo " Cannot modify header information "

Enviado: 08 Mar 2014, 21:14
por rogeriok
Valeu, funcionou aqui também

Re: [DICA] Corrigindo " Cannot modify header information "

Enviado: 14 Jul 2015, 06:44
por carlos_augusto
Obrigado, deu certo para mim também.