Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

bcs_ptx

[Resolvido] Problema com header

Recommended Posts

Pessoal o seguinte, fiz um script para exportar para excel, em minha intranet funcionou perfeitamente, mas quando passei para a internet deu os seguintes erros

 

Warning: Cannot modify header information - headers already sent by (output started at /home/discomed/www/extranet/exportar.php:1) in /home/discomed/www/extranet/exportar.php on line 2

 

essas linhas são as com problemas

 

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D,d M YH:i:s") . " GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
header("Content-type: application/x-msexcel");
header("Content-Disposition: attachment; filename=\"{$arquivo}\"" );
header("Content-Description: PHP Generated Data" );

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para exportar os arquivos selecionados para e excel

 

Bah, tentei de várias formas mas sempre da esse erro, repito que da esse erro quando eu passo para o servidor de hospedagem, por que em minha intranet funciona perfeitamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara ja fiz isso,continuou com o mesmo erro.

 

<?php ob_start(); include('conexao.php'); $arquivo = 'planilha.xls';
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D,d M YH:i:s") . " GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
header("Content-type: application/x-msexcel");
header("Content-Disposition: attachment; filename=\"{$arquivo}\"" );
header("Content-Description: PHP Generated Data" );
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, como funciona:

o botão de exportar esta na pagina pendente.php, com o name de exportar, quando eu clico no botao, capturo por get na pagina home.php e faço isso:

 

if(isset($_POST['exportarProcedimento'])){	

			if(!isset($_POST['seleciona'])){

				echo "<script type='text/javascript'>alert('Selecione um registro!');</script>";
				echo "<script>window.close();</script>";

			}

			$seleciona = $_POST['seleciona'];		
			$passa='';
			$conta=0;
			foreach($seleciona as $valor){

				$passa = $passa.'id['.$conta.']='.$valor.'&';
				$conta = $conta + 1;

			}

				echo "<script>location.href='exportar.php?".$passa."'</script>";

		}

 

ai depois passo os parâmetros para a pagina exportar, que o inicio dela é oque coloquei ai em cima.

Compartilhar este post


Link para o post
Compartilhar em outros sites

header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header ("Last-Modified: " . gmdate("D,d M YH:i:s") . " GMT");
header ("Cache-Control: no-cache, must-revalidate");
header ("Pragma: no-cache");
header ("Content-type: application/x-msexcel");
header ("Content-Disposition: attachment; filename={$arquivo}" );
header ("Content-Description: PHP Generated Data" );

Tente este aqui funciona certinho.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, aconetce que esse código que tu postou, é o mesmo que eu estou usando

 

Em todos os seus arquivos, sempre que eles terminarem com

 

?>

 

Apague

 

Desenvolveu no Windows e o servidor é Linux?? Verifique se, caso esteja salvando em UTF, não esteja mandando com BOM.

Compartilhar este post


Link para o post
Compartilhar em outros sites

o servidor não é linux, mas tipo, pq funciona perfeitamente em minha intranet e quando coloco no ar da esse erro?

 

O servidor é Linux sim!

 

Warning: Cannot modify header information - headers already sent by (output started at /home/discomed/www/extranet/exportar.php:1) in /home/discomed/www/extranet/exportar.php on line 2

 

Funciona na intranet pq a porcaria do Windows ignora a Byte Order Mark.

 

Veja o seu editor e procure no google por

 

"Salvar sem BOM [nome do editor]"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, eu ja tinha feito isso, não sei o por que não tinha dado em nada, mas agora até que enfim funcionou. mas me tira mais uma dúvida, quando eu comprei a hospedagem escolhi Windows, pq você disse que é linux?

 

Abraço e valeu a ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, eu ja tinha feito isso, não sei o por que não tinha dado em nada, mas agora até que enfim funcionou. mas me tira mais uma dúvida, quando eu comprei a hospedagem escolhi Windows, pq você disse que é linux?

 

Abraço e valeu a ajuda

 

Por causa do caminho. Caminhos em windows normalmente começam com uma letra qualquer, seguida de dois-pontos e as barras são à esquerda

 

c:\inetpub\www\arquivo.php

 

Em Unix, os caminhos começam com uma barra e seguem assim até o final

 

/var/www/arquivo.php

 

De qualquer forma, execute um arquivo php contendo

<?php phpinfo();

 

E você vai ter informações detalhadas sobre o sistema.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.