Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Header("location: Exemplo.php");


VianeiRoberto

Pergunta

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 VianeiRoberto
Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0

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/header

Não pode haver saídas para o navegador antes de header(). Retire as tags HTML e teste novamente.

[]'s

E 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!

Link para o comentário
Compartilhar em outros sites

  • 0

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!

Link para o comentário
Compartilhar em outros sites

  • 0

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

Link para o comentário
Compartilhar em outros sites

  • 0

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...

Link para o comentário
Compartilhar em outros sites

  • 0

Olá a precisando de UMA Ajuda

para 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 resolver

CRIE 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 18

CRIE 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 18

original:

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 18

ESSE E o Código:

<? Php

/ / Conecta com o db

include ("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!

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...