Carcleo 4 Denunciar post Postado Junho 29, 2012 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
Kakashi_Hatake 267 Denunciar post Postado Junho 29, 2012 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
Carcleo 4 Denunciar post Postado Junho 29, 2012 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
Kakashi_Hatake 267 Denunciar post Postado Junho 29, 2012 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
Carcleo 4 Denunciar post Postado Junho 29, 2012 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