Ir para conteúdo

POWERED BY:

Arquivado

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

dinhotaswolf

[Resolvido] Problemas com HEADER

Recommended Posts

Da primeira para a segunda vez, você finalizou a execução do script? Adicione ao final do script, antes da linha para finalizar a sessão:

 

ob_get_clean();

 

E após finalizar a sessão:

 

exit();

 

Imagino que isso resolva (teste). Eu não garanto, não estou testando as soluções que estou lhe passando.

 

-- mesclado --

A base de dados do Imasters está lenta demais! Eu enviei a mensagem e quando checava a página, ela não estava lá. Perdão pelo post triplo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Kabbalista:

use o Responder Azul: respondery.png

ou a 'Resposta Rápida'.

 

@dinhotaswolf:

? eu não dei 'uma dica'

 

eu pedi para você postar o resultado do echo.

ainda estou querendo debugar o teu código para encontrar a fonte do problema.

 

veja que ainda não indiquei nenhuma 'solução'.

poste oque eu pedi.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Willian Bruno, coloquei o código exatamente como indicado acima. O resultado foi:

Location: princ.php?condicao=D&tel=(11) 2222-3333&obs=jkhkj

Como indicado no post marquei a linha do echo e executei. Funcionou na primeira.

 

Na segunda execução deu o mesmo erro anterior.

 

 

 

Kabbalista, testei sua sugestão e na primeira execução funcionou. Já na segunda não está dando erro, mas também não traz nada. A tela fica em branco.

 

Fico no aguardo...

 

Grato pela atenção e ajuda,

Compartilhar este post


Link para o post
Compartilhar em outros sites

este erro:

Warning: Header may not contain more than a single header, new line detected. in /home/e-ys/www/teste_codigos/consulta.php on line 40

 

?

 

execute assim:

	$condicao = urlencode( $busca['condicao'] );
$tel = urlencode( $busca['tel'] );
$obs = urlencode( $busca['obs'] );

$location = "Location: princ.php?condicao={$condicao}&tel={$tel}&obs={$obs}";
header( $location );

tenho quase certeza que algum dado, tá corrompendo o header

mas ainda não apareceu nos debugs que te pedi.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Willian Bruno, colei o trecho que passou e dessa vez testei várias vezes com vários registros diferentes e funcionou. Implementei também as dicas do Kabbalista e continuou funcionando nos vários testes que realizei.

 

Creio que realmente o problema fosse de corrompimento e que dessa vez não vá mais ter problemas.

 

Muito grato a todos os que postaram sugestões.

 

Abaixo o código completo como está atualmentes:

<?
ob_start(); //buffer externo
ob_start(); // interno. vai capturar o buffer que vai ser reescrito
session_start(); //registra a escrita no buffer interno

include 'access_db.php';

if (empty($_POST['consult']))
{
echo "<script>alert('Digite um número de telefone !!!');</script>";
echo "<script>window.location='princ.php?consulta=consulta';</script>";
}

$query = "SELECT cl.id, cl.tel, cl.obs, co.condicao FROM clientes cl, condicao co WHERE co.codigo = cl.condicao AND tel ='". $_POST['consult']."'";
$result = mysql_query($query) or die("Erro no SQL: ".mysql_error());
$busca = mysql_fetch_array($result);

/* para debgar
echo '<pre>';
var_dump( $busca );
exit();
*/

if (strlen($_POST['consult']) < 14){
echo "<script>alert('Digite um número de telefone válido !!!');</script>";
echo "<script>window.location='princ.php?consulta=consulta';</script>";
ob_end_flush(); //fecha o primeiro buffer
} elseif ($busca[tel] == $_POST['consult']){
//header("Location: princ.php?condicao=".$busca[condicao]."&tel=".$busca[tel]."&obs=".$busca[obs]."");
//header("Location: princ.php?condicao={$busca['condicao']}&tel={$busca['tel']}&obs={$busca['obs']} ");
//echo "<script>window.location='princ.php?condicao={$busca[condicao]}&tel={$busca[tel]}&obs={$busca[obs]}';</script>";
//echo "<script>window.location='princ.php';</script>";

   $condicao = urlencode( $busca['condicao'] );
   $tel = urlencode( $busca['tel'] );
   $obs = urlencode( $busca['obs'] );

   $location = "Location: princ.php?condicao={$condicao}&tel={$tel}&obs={$obs}";
   header( $location );	

/*
$location = "Location: princ.php?condicao={$busca['condicao']}&tel={$busca['tel']}&obs={$busca['obs']}";
// echo $location; exit();//depois comente essa linha
header( $location );
*/
} else {
header("Location: princ.php?condicao=9&tel=".$_POST[consult]."");
//echo "<script>window.location='princ.php?condicao=9&tel={$_POST[consult]}';</script>";
}

// erro
// Warning: Header may not contain more than a single header, new line detected. in /home/e-ys/www/teste_codigos/consulta.php on line 40
// endereço de ajuda: http://forum.imasters.com.br/index.php?/topic/417808-problemas-com-header/

ob_end_flush(); //fecha o segundo buffer e expõe os dados
ob_get_clean();
session_write_close(); //fecha a sessão que tinha sido aberta para escrever o buffer
//exit();

mysql_free_result($result);
mysql_close($link);
?>

 

Mas, se caso perceberem que algo pode estar errado no código postado acima, por favor me avisem.

 

Novamente agradeço a atenção e ajuda de todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

desnecessário o uso dos buffers

 

apenas a correção dos parâmetros resolve o problema, pelo que notei.

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.