VianeiRoberto Postado Fevereiro 9, 2007 Denunciar Share Postado Fevereiro 9, 2007 (editado) Mais uma de noob.. Neste simples script para alterar dados no MySQL, ocorre o seguinte problema:Warning: Cannot modify header information - headers already sent by (output started at C:\webmaster\edita.php:7) in C:\webmaster\edita.php on line 15Segue o Script da página:<HTML><HEAD> <TITLE>Documento PHP</TITLE></HEAD><BODY><?$con = mysql_connect("localhost", "root", "");mysql_select_db("exemplo", $con);if ($_POST['nome']){ mysql_query("UPDATE funcionarios SET nome_func = '".$_POST['nome']."'WHERE id_func = ".$_GET['id']); header("Location: exemplo.php"); // <<<<<--------- LINHA 15 die;}$consulta = mysql_query("SELECT * FROM funcionarios WHERE id_func = ".$_GET['id']);$linha = mysql_fetch_array($consulta);?><form action=edita.php?id=<?=$_GET['id]?>" method="post"><label>Nome:</label><input type="text" name="nome" value="<?=$linha['nome_func']?>"/><input type="submit" /></form></BODY></HTML>Embora os dados sejam alterados não ocorre o redirecionamento a página "exemplo.php", que no caso existe e se encontra na mesmo pasta do arquivo edita.php.Sera que digitei algo errado d novo? :unsure: vlw Editado Fevereiro 12, 2007 por VianeiRoberto Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Beraldo Postado Fevereiro 9, 2007 Denunciar Share Postado Fevereiro 9, 2007 Remember that header() must be called before any actual output is sent, either by normal HTML tags, blank lines in a file, or from PHP.Fonte: http://br2.php.net/headerNão pode haver saídas para o navegador antes de header(). Retire as tags HTML e teste novamente.[]'s Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rgarbin Postado Fevereiro 9, 2007 Denunciar Share Postado Fevereiro 9, 2007 poise que tal fazer assim: ao invés de header usa echo "<script language='javaScript'>window.location.href='exemplo.php'</script>";o que acha? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 VianeiRoberto Postado Fevereiro 9, 2007 Autor Denunciar Share Postado Fevereiro 9, 2007 Remember that header() must be called before any actual output is sent, either by normal HTML tags, blank lines in a file, or from PHP.Fonte: http://br2.php.net/headerNão pode haver saídas para o navegador antes de header(). Retire as tags HTML e teste novamente.[]'sE não é que funcionou :P o codigo ficou assim e resolveu, ficou 10 o/<?$con = mysql_connect("localhost", "root", "");mysql_select_db("exemplo", $con);if ($_POST['nome']){ mysql_query("UPDATE funcionarios SET nome_func = '".$_POST['nome']."'WHERE id_func = ".$_GET['id']); header("Location: http://localhost/exemplo.php"); die;}$consulta = mysql_query("SELECT * FROM funcionarios WHERE id_func = ".$_GET['id]);$linha = mysql_fetch_array($consulta);?><form action="edita.php?id=<?=$_GET['id']?>" method=post"><label>Nome:</label><input type="text" name="nome" value="<?=$linha['nome_func]?>"/><input type="submit" /></form>Vlw mesmo! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Braulio Postado Outubro 18, 2007 Denunciar Share Postado Outubro 18, 2007 Em um de meus códigos, eu tive o mesmo problema com o header (aparecia a mesmo msg de erro).Mas não adiatou tirar as tags...então tive de apelar p/ a idéa no carinha aí acima de usar java e deu certo. Uma boa idéia também! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Shure Man Postado Outubro 18, 2007 Denunciar Share Postado Outubro 18, 2007 poderia ter usar o ob_start();:} Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MLeandroJr! Postado Outubro 19, 2007 Denunciar Share Postado Outubro 19, 2007 Somente complementando o post acima.A função ob_start() ativa o buffer de saída, e com este buffer ativo, o PHP não exibirá saídas para o navegador que não sejam de cabeçalhos.Mais informações sobre a função poderão ser lidas em:http://www.php.net/manual/pt_BR/function.ob-start.php Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Shure Man Postado Outubro 19, 2007 Denunciar Share Postado Outubro 19, 2007 obrigado x) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Wallace Paraizo Postado Setembro 26, 2009 Denunciar Share Postado Setembro 26, 2009 Desculpem se o tópico é muito antigo, mas conhecimento nunca é demais...Achei interessante a dica de usar java script, porém entrei em um browser com o java script desativado, e consegui ver o conteúdo restrito.Dai resolvi voltar a usar o header("location: www.com");, usando a função ob_start() no ínício do código, depois do <?php.valeu... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Aderson Teixeira Postado Março 6, 2013 Denunciar Share Postado Março 6, 2013 Olá a precisando de UMA Ajudapara com o Problema Parecido Quase Igual, Mais Pelo Que eu li e Fiz como alterações recomendada POR VOCES, não Meu Caso não resolverCRIE UM Sistema de Login e Senha sem mysql + php, tenho usuario e Senha cadastradas, QUANDO coloco o login e Senha e Clico los enviar elementos mim Volta com hum Erro Aviso : Não é possível modificar a informação de encabeçamento - encabeçamentos já enviado pelo (a saída começou em / home/aderson1/public_html/vs01/login.php: 1) / home/aderson1/public_html/vs01/login.php na linha 18CRIE UM Código par acessar o bd e pega o login e Senha e direcionar parágrafo hum pagina de login e coloco QUANDO Senha elementos da hum Erro,Aviso: Não è Possível Modificar um information de encabeçamento - encabeçamentos JÁ enviado Pelo (a saida começou em / home/aderson1/public_html/vs01/login.php: 1) / home/aderson1/public_html/vs01/login.php na Linha 18original:Aviso: Não é possível modificar a informação de encabeçamento - encabeçamentos já enviado pelo (a saída começou em / home/aderson1/public_html/vs01/login.php: 1) in / home/aderson1/public_html/vs01/login.php na linha 18ESSE E o Código:<? Php / / Conecta com o dbinclude ("login / conectar.php");$ Nome = $ _POST ['nome'];$ Senha = $ _POST ['Senha'];/ / FAZ uma Confirmação de Nome e Senha sem db$ Logar = mysql_query ("SELECT * FROM login onde '$ nome' nomo = E Senha = '$ Senha") or die ("ERRO AO Select <a href =' http://adersondesigner.com '> volte </ a> ");/ * Aqui DEPOIS de verificado redirecionamos a pagina secreta (CaSO Nome e Senha estarem corretos) OU não Senha e apelido conferem Caso os tais estiverem errados. Repare Que HÁ UMA Rotina Para O valor inserido los Senha não SEJA nulo.obs: Aonde ESTA Escrito paginasecreta.php E aonde você DEVE colocar um par page Onde o roteiro ira redirecionar * /if (strlen ($ Senha) <1)'<p align="center"--> Senha OU não apelido conferem <br> <a href="java script:history.back(1);"> TENTE denovo </ a> <p> </ p>' eco ;elseif (mysql_num_rows ($ logar)> 0) {Else {}'<p align="center"> Senha OU não apelido conferem <br> <a href="java script:history.back(1);"> TENTE denovo </ a> </ p>' eco;}mysql_close ();Linha 18 header ("location: autenticacao.php");} {>se Puder me fico grato Ajuda! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fagner Sutel Postado Setembro 21, 2016 Denunciar Share Postado Setembro 21, 2016 Resolvi o problema colocando a função "ob_start()" na linha imediatamente anterior ao header location. ob_start(); header('Location: principal.php'); Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
VianeiRoberto
Mais uma de noob..
Neste simples script para alterar dados no MySQL, ocorre o seguinte problema:
Warning: Cannot modify header information - headers already sent by (output started at C:\webmaster\edita.php:7) in C:\webmaster\edita.php on line 15
Segue o Script da página:
<HTML>
<HEAD>
<TITLE>Documento PHP</TITLE>
</HEAD>
<BODY>
<?
$con = mysql_connect("localhost", "root", "");
mysql_select_db("exemplo", $con);
if ($_POST['nome'])
{
mysql_query("UPDATE funcionarios SET nome_func = '".$_POST['nome']."'
WHERE id_func = ".$_GET['id']);
header("Location: exemplo.php"); // <<<<<--------- LINHA 15
die;
}
$consulta = mysql_query("SELECT * FROM funcionarios WHERE id_func = ".$_GET['id']);
$linha = mysql_fetch_array($consulta);
?>
<form action=edita.php?id=<?=$_GET['id]?>" method="post">
<label>Nome:</label>
<input type="text" name="nome" value="<?=$linha['nome_func']?>"/>
<input type="submit" />
</form>
</BODY>
</HTML>
Embora os dados sejam alterados não ocorre o redirecionamento a página "exemplo.php", que no caso existe e se encontra na mesmo pasta do arquivo edita.php.
Sera que digitei algo errado d novo? :unsure:
vlw
Editado por VianeiRobertoLink para o comentário
Compartilhar em outros sites
10 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.