Tenho uma página que cria um formuluário HTML e envia os dados desse form usando POST para um script PHP que verifica se os campos obrigatórios foram preenchidos, caso não tenham sido preenchidos ele refaz o form e caso tenham ele conecta no banco MySQL e grava as alterações e depois chama OUTRO script usando o HEADER para mostrar a mensagem se gravou com sucesso ou não, entretanto quando mando gravar aparece a seguinte mensagem:
"Warning: Cannot modify header information - headers already sent by (output started at C:\Arquivos de programas\Apache Group\Apache2\htdocs\CursoPHP\inclusao.php:12) in C:\Arquivos de programas\Apache Group\Apache2\htdocs\CursoPHP\inclusao.php on line 117"
Ele grava normalmente no banco mas não chama o script de mensagem.
Eu sou novo em Programação PHP e sou leigo no assunto alguém sabe o que tá dando errado, ou existe outra forma de chamar um outro script??
--Aqui eu verifico se os campos foram preenchidos e em caso afirmativo grava os dados no banco, e chamo um script que exibem uma mesnagem se foi com sucesso ou não.
INCLUSAO.PHP
<HTML>
<HEAD>
<TITLE>inclusão</TITLE>
<META NAME="GENERATOR" CONTENT="MAX's HTML Beauty++ 2004">
</HEAD>
<BODY>
<?php
//recebe variáveis globais do formulário
$nome=$_POST["nome"];
$unidade=$_POST["unidade"];
$telefone=$_POST["telefone"];
$email=$_POST["email"];
$cargo=$_POST["cargo"];
//tira o espaços em branco das variáveis vindas do formulários
$nome=trim($nome);
$unidade=trim($unidade);
$telefone=trim($telefone);
$email=trim($email);
$cargo=trim($cargo);
//consiste as variáveis recebidas
if (empty($nome) || empty($unidade) || empty($telefone) || empty($cargo)) {
//se campos obrigatórios não preenchido recria o formulário e exibe msg de erro
Pergunta
Jairovisks
Galera meu problema é o seguinte:
Tenho uma página que cria um formuluário HTML e envia os dados desse form usando POST para um script PHP que verifica se os campos obrigatórios foram preenchidos, caso não tenham sido preenchidos ele refaz o form e caso tenham ele conecta no banco MySQL e grava as alterações e depois chama OUTRO script usando o HEADER para mostrar a mensagem se gravou com sucesso ou não, entretanto quando mando gravar aparece a seguinte mensagem:
"Warning: Cannot modify header information - headers already sent by (output started at C:\Arquivos de programas\Apache Group\Apache2\htdocs\CursoPHP\inclusao.php:12) in C:\Arquivos de programas\Apache Group\Apache2\htdocs\CursoPHP\inclusao.php on line 117"
Ele grava normalmente no banco mas não chama o script de mensagem.
Eu sou novo em Programação PHP e sou leigo no assunto alguém sabe o que tá dando errado, ou existe outra forma de chamar um outro script??
Segue abaixo as páginas de script:
--Aqui eu crio o primeiro form a ser preenchido.
INCLUSAO.HMTL
<HTML>
<HEAD>
<TITLE>Inclusão.html</TITLE>
<META http-equiv="Content-Type" CONTENT="text/html; charset=iso-8859-1">
</HEAD>
<BODY bgcolor="#FFFFFF" text="000000" link="#333399" vlink="#cc0000" alink="#663399">
<TABLE width="640" border="0" cellspacing="0" aling="center">
<TR>
<TD>
<P><img src="img/index_15.jpg" width="640" heigth="44"></P>
<P><B>Formulário de Inclusão:<br></B></P>
<FORM METHOD="POST" action="inclusao.php">
<P>Nome Completo:
<input type="text" name="nome" size="25" maxlength="50">
</P>
<P>Unidade:
<input type="text" name="unidade" size="40" maxlength="40">
</P>
<P>Telefone:
<input type="text" name="telefone" size="10" maxlength="10">
</P>
<P>E-mail:
<input type="text" name="mail" size="25" maxlength="40">
</P>
<P>Cargo:
<input type="text" name="cargo" size="40" maxlenth="40">
</P>
<P>
<input type="submit" name="Submit" value="Enviar">
<center><b><a href="index.html">Home</a></b></center>
</P>
</FORM>
</TD>
</TR>
<TR>
<TD> </TD>
</TR>
</TABLE>
</BODY>
</HTML>
--Aqui eu verifico se os campos foram preenchidos e em caso afirmativo grava os dados no banco, e chamo um script que exibem uma mesnagem se foi com sucesso ou não.
INCLUSAO.PHP
<HTML>
<HEAD>
<TITLE>inclusão</TITLE>
<META NAME="GENERATOR" CONTENT="MAX's HTML Beauty++ 2004">
</HEAD>
<BODY>
<?php
//recebe variáveis globais do formulário
$nome=$_POST["nome"];
$unidade=$_POST["unidade"];
$telefone=$_POST["telefone"];
$email=$_POST["email"];
$cargo=$_POST["cargo"];
//tira o espaços em branco das variáveis vindas do formulários
$nome=trim($nome);
$unidade=trim($unidade);
$telefone=trim($telefone);
$email=trim($email);
$cargo=trim($cargo);
//consiste as variáveis recebidas
if (empty($nome) || empty($unidade) || empty($telefone) || empty($cargo)) {
//se campos obrigatórios não preenchido recria o formulário e exibe msg de erro
echo ('
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000" link="#333399" vlink="#CC0000" alink="#663399">
');
echo ("<P><center><img src=\"img/index_51.gif\"></center></p>");
echo ("<font color=\"#FF0000\"><b>Campos Obrigatórios não preenchidos</b></font>");
echo ("
<table width=\"640\" boder=\"0\" cellspacing=\"0\" align=\"center\">
<tr>
<td>
<p><b>Formulário de Inclusão:<br></b></p>
<FORM METHOD=\"POST\" action=\"inclusao.php\">
<P>Nome Completo:
<input type=\"text\" name=\"nome\" size=\"25\" maxlength=\"50\">
</P>
<P>Unidade:
<input type=\"text\" name=\"unidade\" size=\"40\" maxlength=\"40\">
</P>
<P>Telefone:
<input type=\"text\" name=\"telefone\" size=\"10\" maxlength=\"10\">
</P>
<P>E-mail:
<input type=\"text\" name=\"mail\" size=\"25\" maxlength=\"40\">
</P>
<P>Cargo:
<input type=\"text\" name=\"cargo\" size=\"40\" maxlenth=\"40\">
</P>
<P>
<input type=\"submit\" name=\"Submit\" value=\"Enviar\">
<center><b><a href=\"index.html\">Home</a></b></center>
</P>
</FORM>
</td>
</tr>
<tr>
<td> </td>
</tr>
</table>
</body></html>");//fim do echo
}//fim do if
else{
//inclui os dados na tabela de funcionários
//Cria uma conexão com o banco mySql pasando host, username, e senha
$conec=mysql_connect("localhost","root","") or die ("Falha na conexão com o banco de dados!");
//Declaração SQL
$declar= "INSERT into funcionarios value('$nome', '$unidade', '$telefone', '$email', '$cargo')";
//roda a query e trata o resultado
$tipo_msg='I';
if (mysql_db_query("unicamp", $declar, $conec)){
$ok=1;
header("Location:exibe_mensagem.php?ok=$ok&tipo_msg=$tipo_msg");
}//fim do if
else{
$ok=2;
header("Location:exibe_mensagem.php?ok=$ok&tipo_msg=$tipo_msg");
}//fim do else
//fecha a conexão com o serfidor mySQL
mysql_close($conec);
}//fim do else
?>
</BODY>
</HTML>
--Aqui é o sript que exibe a mensagem de gravação no banco
EXIBE_MENSAGEM.PHP
<HTML>
<HEAD>
<TITLE>Exibe Mensagem</TITLE>
<META http-equiv="content-type" NAME="GENERATOR" CONTENT="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
<?php
global $ok;
$ok=trim($ok);
echo ("<p><center><img src=\"img\index_15.jpg\"></center></p>");
if ($tipo_msg=='I'){
//se inclusão ok
if ($ok==1){
echo ("<br><br>");
echo ("<center><b><font size=4> Inclusão efetuada com sucesso</font></b></center>");
echo ("<br><br>");
echo ("<center><b><a href=\"inclusao.html\">Voltar</a></b></center>");
}
//se deu erro na inclusão
if ($ok==2){
echo ("<br><br>");
echo ("<center><b><font size=4>ERRO: Inclusão Não efetuada</font></b></center>");
echo ("<br><br>");
echo ("<center><b><a href=\"inclusao.html\">Voltar</a></b></center>");
}
}
?>
</BODY>
</HTML>
Link para o comentário
Compartilhar em outros sites
3 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.