Ir para conteúdo

Arquivado

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

Carcleo

header("refresh..... não vai

Recommended Posts

Pessoal.

 

Estou tetando usar um temporizador para redirecionar após mostrar texto php mas esta dando erro o segundo erro:

Este cliente já esta cadastrado, por favor pesquise
Redirecionando em 10 segundos...

Warning: Cannot modify header information - headers already sent by (output started at C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php\chinelospuff.com.br\lateral_menu.php:32) in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php\chinelospuff.com.br\clientes_cad_conteudo.php on line 173 

Pois é. A linha 32 dessew arquivo, lateral_menu.php é a ultima.

Percebo que, retirando linha por linha, de baixo para cima, quando chego no ?> do php ai o problema acaba.

Signifia que esta dali pra baixo. porem, não acho onde corrigir.

<?php
$categorias_string="Select id_categorias, nome_categorias from categorias";
$categorias_query= $conexao->query($categorias_string);
if ($categorias_query->num_rows==0)
{
echo "Sem Categorias";
}
else
{
echo "<label id=\"label_nome_categorias\" class=\"topo_colunas\">PRODUTOS</label><br>
      <ul id=\"menu_lateral\">
	 ";
while(list($id_categorias,$nome_categorias)=$categorias_query->fetch_row())
{
	echo "<li><a href='index.php?id_categorias=$id_categorias'>$nome_categorias</a></li>";
}
}
echo "</ul><br />";
?>
NEWSLETTER<br />
Cadastre e receba em seu e-mail nossas promoçoes e novidades<br />
<form name="nl" id="nl" action="cadatro.php?acao=cadastrar" method="post">
 <label style="width:80px;">Nome:  </label><input type="text"  name="nome" id="nome" style="width:120px;"/><br />
 <label style="width:80px;">E-mail: </label><input type="text"  name="email" id="email" style="width:120px;"/><br />
 <input type="submit" value="Enviar" />
</form>
<br />
REDES SOCIAIS<br />
<a href="http://facebook.com/chinelospuff"><img src="img/face.png" /></a>
<a href="http://orkut.com/chinelospuff"><img src="img/orkut.png" /></a><br />
<a href="http://twitter.com/chinelospuff"><img src="img/twitter.png" /></a>
<a href="http://youtube.com/chinelospuff"><img src="img/youtube.png" /></a>

Outro detalhe, quando tiro o trecho desse codigo acimo que passa afuncionar, o propblema passa para esse bloco de codigo que, mais uma vez, não consigo achar a saida html que causa a confusao:


  else
  {
   echo "<table align=\"center\" width=\"600px\" height=\"300px\"><tr><td align=\"center\" valign=\"middle\">";
   echo "Este cliente já esta cadastrado, por favor pesquise";
   echo "<br />";
   echo "Redirecionando em 10 segundos...";
   echo "</td></tr></table>";
   header("refresh: 10; url=clientes_cad.php"); 
  }			

Por favor, me ajudem.

Obrigado.

Carlos Rocha

Compartilhar este post


Link para o post
Compartilhar em outros sites

O header deve ser posto antes de qualquer impressão de tela.

 

Deixe ele no topo do seu script e verifique se não houve impressão de tela antes (mesmo que seja uma simples linha em branco)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois é chará.

 

O que acontece é que eu não consigo achar essa saida nesse arquivo lateral_menu.php.

 

E, esse header temque ficar ali mesmo. Ele dentro de uma condiçao if enão, não posso coloca-lo(ou pelo menos não faço ideia de como fazer) em outro lugar.

 

Pelo código, será que não daria para identificar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja que você imprimi algo antes do header

else
  {
          echo "<table align=\"center\" width=\"600px\" height=\"300px\"><tr><td align=\"center\" valign=\"middle\">";
          echo "Este cliente já esta cadastrado, por favor pesquise";
          echo "<br />";
          echo "Redirecionando em 10 segundos...";
          echo "</td></tr></table>";
          header("refresh: 10; url=clientes_cad.php"); 
  } 

 

Coloque ele antes

else
  {
          header("refresh: 10; url=clientes_cad.php");
          echo "<table align=\"center\" width=\"600px\" height=\"300px\"><tr><td align=\"center\" valign=\"middle\">";
          echo "Este cliente já esta cadastrado, por favor pesquise";
          echo "<br />";
          echo "Redirecionando em 10 segundos...";
          echo "</td></tr></table>"; 
  } 

 

E também certifique-se de que não haja nenhuma impressão de tela antes da função header (outro fator pode ser a codificação do arquivo).

 

Outra solução seria utilizar ob_start

Compartilhar este post


Link para o post
Compartilhar em outros sites

já tinha feito isso;

 

Ele continua reclamando saída no mesmo arquivo lateral_menu.php

Eis:

<?php
$categorias_string="Select id_categorias, nome_categorias from categorias";
$categorias_query= $conexao->query($categorias_string);
if ($categorias_query->num_rows==0)
{
echo "Sem Categorias";
}
else
{
echo "<label id='label_nome_categorias' class='topo_colunas'>PRODUTOS</label>";
echo "<br>";
echo "<ul id='menu_lateral'>";
while(list($id_categorias,$nome_categorias)=$categorias_query->fetch_row())
{
	echo "<li><a href='index.php?id_categorias=".$id_categorias."'>$nome_categorias</a></li>";
}
}
echo "</ul><br />";
?>
NEWSLETTER<br />
Cadastre e receba em seu e-mail nossas promoçoes e novidades<br />
<form name="nl" id="nl" action="cadatro.php?acao=cadastrar" method="post">
 <label style="width:80px;">Nome:  </label><input type="text"  name="nome" id="nome" style="width:120px;"/><br />
 <label style="width:80px;">E-mail: </label><input type="text"  name="email" id="email" style="width:120px;"/><br />
 <input type="submit" value="Enviar" />
</form>
<br />
REDES SOCIAIS<br />
<a href="http://facebook.com/chinelospuff"><img src="img/face.png" /></a>
<a href="http://orkut.com/chinelospuff"><img src="img/orkut.png" /></a><br />
<a href="http://twitter.com/chinelospuff"><img src="img/twitter.png" /></a>
<a href="http://youtube.com/chinelospuff"><img src="img/youtube.png" /></a>

}

Se eu retirar tudo abaixo o php o problema acaba.

A reclamação é a ultima linha mas não consigo entender isso.

Eu trabalho da seguinte forma:

uma div tudo

mais 4 divs dentro

uma delas chama o menu

e depois dela vem a que chama as paginas conteudo por include php

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.