Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia galera, sou não tenho muito conhecimento em formulários ai decidi postar aqui esta duvida.
Criei um formulário de envio mas o mesmo não envia nada fica estático lá a tela não da nenhuma mensagenzinha se quer, alguém poderia me dar uma força ;)
Cód. HTML do formulário :)
<input name="nome" type="text" size="40" />
<br />
</p>
<p align="center" class="style19"><span class="style23">E-mail:</span><br />
<input name="email" type="text" size="40" />
</p>
<p align="center" class="style19"><span class="style23">Assunto</span>:<br />
<input name="assunto" type="text" id="assunto" size="40" />
<br />
</p>
<p align="center" class="style19"><span class="style23">Mensagem:</span><br />
<textarea name="mensagem" cols="60" rows="5"></textarea>
</p>
<p align="center">
<input type="submit" name="enviarcontato" value="Enviar" />
<input type="reset" name="Apagar" id="Apagar" value="Limpar" />
Cód. PHP formulário :)
<?php
if(isset($_POST['enviarcontato']))
{
$msg = "Nome: \t$_POST[nome]\n";
$msg .= "E-mail: \t$_POST[\n";](mailto:)
[$msg .= "Assunto: \t$_POST[assunto]\n";](mailto:)
[$msg .= "Mensagem: \t$_POST[mensagem]\n\n";](mailto:)
[$cabecalho = "From: $_POST[nome]\n";](mailto:)
[$cabecalho .= "Reply-To: $_POST](mailto:)[\n\n";](mailto:)
[echo "alert('Sua mensagem foi enviada com sucesso em breve retornaremos esta mensagem.')";](mailto:)
[echo "history.go(-1)";](mailto:)
[echo "alert('Ocorreu um erro ao tentar enviar sua mensagem.')";](mailto:)
[echo "history.go(-1)";](mailto:)
>
cara, nao sei se é isso... mas você deveria colocar no inicio do forumalrio algo assim:
<form method="POST" action="pagina_em_php_que_envia_o_email.php">
Eae Renan valeu pela ajuda,mas este código coloco no PHP certo?
<form method="POST" action="pagina_em_php_que_envia_o_email.php">
<input name="nome" type="text" size="40" />
<br />
</p>
<p align="center" class="style19"><span class="style23">E-mail:</span><br />
<input name="email" type="text" size="40" />
</p>
<p align="center" class="style19"><span class="style23">Assunto</span>:<br />
<input name="assunto" type="text" id="assunto" size="40" />
<br />
</p>
<p align="center" class="style19"><span class="style23">Mensagem:</span><br />
<textarea name="mensagem" cols="60" rows="5"></textarea>
</p>
<p align="center">
<input type="submit" name="enviarcontato" value="Enviar" />
<input type="reset" name="Apagar" id="Apagar" value="Limpar" />
</form>Putz galera ainda não foi tentei os jeitos ai que vcs me passaram e nada, sera que tem alguma coisa a ver por esta em um subdomínio?
Sei lá não entendo nada de php, ex. o arquivo do php se chama enviar-contato, e a pagina em html se chama index, isso tem a ver com alguma coisa?
Aê amigo, já que você disse que a página em php se chama envia_contato codifica seu formulário dessa maneira aqui oh
<form method="POST" action="envia_contato.php">
<input name="nome" type="text" size="40" />
<br />
</p>
<p align="center" class="style19"><span class="style23">E-mail:</span><br />
<input name="email" type="text" size="40" />
</p>
<p align="center" class="style19"><span class="style23">Assunto</span>:<br />
<input name="assunto" type="text" id="assunto" size="40" />
<br />
</p>
<p align="center" class="style19"><span class="style23">Mensagem:</span><br />
<textarea name="mensagem" cols="60" rows="5"></textarea>
</p>
<p align="center">
<input type="submit" name="enviarcontato" value="Enviar" />
<input type="reset" name="Apagar" id="Apagar" value="Limpar" />
</form>
No action do form você informa qual a página em php que você vai utilizar ok? e na página em php você trata os dados que vão ser enviados pelo form
Vamos pela ordem:
Isto deixará seu código mais organizado.
Agora vamos à página no qual irá ter o formulário, exemplo formulario.html:
<form method="post" action="enviar.php">
<input name="nome" type="text" size="40" />
<br />
</p>
<p align="center" class="style19"><span class="style23">E-mail:</span><br />
<input name="email" type="text" size="40" />
</p>
<p align="center" class="style19"><span class="style23">Assunto</span>:<br />
<input name="assunto" type="text" id="assunto" size="40" />
<br />
</p>
<p align="center" class="style19"><span class="style23">Mensagem:</span><br />
<textarea name="mensagem" cols="60" rows="5"></textarea>
</p>
<p align="center">
<input type="submit" name="enviarcontato" value="Enviar" />
<input type="reset" name="Apagar" id="Apagar" value="Limpar" />
</form>
O formulário irá ter o método POST e terá uma action para a página enviar.php, no qual estrá todo o PHP.
Agora vamos para a página enviar.php:
if(isset($_POST['enviarcontato']))
{
$nome = $_POST['nome'];
$email = $_POST['email'];
$assunto = $_POST['assunto'];
$mensagem = $_POST['mensagem'];
$msg = "Nome: $nome \r\n";
$msg .= "E-mail: $email \r\n";
$msg .= "Assunto: $assunto \r\n";
$msg .= "Mensagem: $mensagem \r\n\n";
$cabecalho = "From: $nome \r\n";
$cabecalho .= "Reply-To: $email";
$enviar_email = mail("coroafc@coroafc.com.br", "Formulario de Contato - www.contato.coroafc.com.br", $msg, $cabecalho);
if($enviar_email)
{
echo "<script>alert('Sua mensagem foi enviada com sucesso em breve retornaremos esta mensagem.')</script>";
echo "<script>history.go(-1)</script>";
}else
{
echo "<script>alert('Ocorreu um erro ao tentar enviar sua mensagem.')</script>";
echo "<script>history.go(-1)</script>";
}
}
Bem, pra facilitar, criei uma variável para cada **$_POST** no **enviar.php**.
Espero ter ajudado.
gabriel boa noite, cara cheguei perto eu acho, agora funciona pelo menos os botões de limpar e enviar, porem quando envio o email não chega e a pagina não limpa.
>
gabriel boa noite, cara cheguei perto eu acho, agora funciona pelo menos os botões de limpar e enviar, porem quando envio o email não chega e a pagina não limpa.
Você colocou o código PHP dentro das tags <?php (ou <?) e ?>?
Desculpa, eu achei que isso era óbvio.
Mas vamos lá. Edite o enviar.php para isto:
<?php
if(isset($_POST['enviarcontato']))
{
$nome = $_POST['nome'];
$email = $_POST['email'];
$assunto = $_POST['assunto'];
$mensagem = $_POST['mensagem'];
$msg = "Nome: $nome \r\n";
$msg .= "E-mail: $email \r\n";
$msg .= "Assunto: $assunto \r\n";
$msg .= "Mensagem: $mensagem \r\n\n";
$cabecalho = "From: $nome \r\n";
$cabecalho .= "Reply-To: $email";
$enviar_email = mail("coroafc@coroafc.com.br", "Formulario de Contato - www.contato.coroafc.com.br", $msg, $cabecalho);
if($enviar_email)
{
echo "<script>alert('Sua mensagem foi enviada com sucesso em breve retornaremos esta mensagem.')</script>";
echo "<script>history.go(-1)</script>";
}else
{
echo "<script>alert('Ocorreu um erro ao tentar enviar sua mensagem.')</script>";
echo "<script>history.go(-1)</script>";
}
}
?>Putz cara perdoe minha ignorância com os códigos, deu certinho agora ;).
Só quando a tela retorna a msg não apaga automaticamente ai tenho que clicar no limpar, mas pelo menos já esta chegando os emails para mim valeu Gabriel.
Apagar automaticamente ? o que exatamente ?
os campos que são preenchidos :
nome:
email:
assunto:
mensagem:
quando a tela retorna automaticamente tudo o que escrevi ainda continua lá.
Você deve estar retornando com javascript:history.back();, é isso ?... retorne dando um redirecionamento para a página, exemplo:
print '<script>alert("email enviado"); window.location.href=("enviar.php");</script>';
cara, nao sei se é isso... mas você deveria colocar no inicio do forumalrio algo assim:
<form method="POST" action="pagina_em_php_que_envia_o_email.php">