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

Formmail


Lucas Sandes

Pergunta

bom dia galera do fórum!

Sou iniciante em PHP e estou desenvolvendo uma página que contem um formulário, no qual, ao clicar em ENVIAR, o mesmo será enviado para o e-mail que está no código.

Porém, estou passando por um problema e gostaria de solicitar a ajuda de vocês para solucioná-lo!

O problema é o seguinte: Ao carregar a página, a mesma envia o formulário antes mesmo dos dados serem preenchidos. Segue abaixo o código para conferência!

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>FORMULÁRIO SIMPLES</title>
<link href="page.css" rel="stylesheet" type="text/css" />
<link href="SpryAssets/SpryValidationTextField.css" rel="stylesheet" type="text/css" />
<link href="SpryAssets/SpryValidationTextarea.css" rel="stylesheet" type="text/css" />
<script src="SpryAssets/SpryValidationTextField.js" type="text/javascript"></script>
<script src="SpryAssets/SpryValidationTextarea.js" type="text/javascript"></script>
<script src="alert.js" type="text/javascript"></script>
</head>
<body>
<p class="titulo">FORMULÁRIO E-MAIL ÚNICO</p>
<form action="" method="post" id="form">
<p class="texto">NOME: <br />
<span id="nomeobr">
<input name="nome" type="text" class="campo" id="nome" size="30" />
<span class="textfieldRequiredMsg">Campo Obrigatório</span></span></p>
<p class="texto">E-MAIL: <br />
<span id="emailobr">
<input name="email" type="email" class="campo" id="email" size="30" />
<span class="textfieldRequiredMsg">Campo Obrigatório</span></span></p>
<p class="texto">MENSAGEM: <br />
<span id="msgobr">
<textarea name="msg" cols="30" rows="5" class="campo"></textarea>
<span class="textareaRequiredMsg">Campo Obrigatório</span></span></p>
<p><input name="enviar" type="submit" class="botao" id="enviar" value="ENVIAR" onselect="funcao()" value="Exibir Alert" /> <input name="limpar" type="reset" class="botao" value="LIMPAR" id="limpar" />
</form>
<?php
$email_destino = "lucas.sandes@yahoo.com.br";
$nome = $_POST['nome'];
$email = $_POST['email'];
$msg = $_POST['msg'];
$mensagem = "Nome: $nome\n";
$mensagem .= "E-mail: $email\n";
$mensagem .= "Mensagem: $msg";
mail($email_destino, "Nova Mensagem do site", $mensagem);
?>
<script type="text/javascript">
var sprytextfield1 = new Spry.Widget.ValidationTextField("nomeobr");
var sprytextfield2 = new Spry.Widget.ValidationTextField("emailobr");
var sprytextarea1 = new Spry.Widget.ValidationTextarea("msgobr");
</script>
</body>
</html>

O que devo fazer pra solucionar esse problema?

Espero que tenham entendido, aguardo ajuda de vocês
Qualquer duvida entrem em contato via e-mail: lucas.sandes@yahoo.com.br

Grato

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Olá Lucas.

Isto esta acontecendo porque você esta enviado o código sempre que abre a pagina, você pode fazer o seguinte;

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR...nsitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>FORMULÁRIO SIMPLES</title>
<link href="page.css" rel="stylesheet" type="text/css" />
<link href="SpryAssets/SpryValidationTextField.css" rel="stylesheet" type="text/css" />
<link href="SpryAssets/SpryValidationTextarea.css" rel="stylesheet" type="text/css" />
<script src="SpryAssets/SpryValidationTextField.js" type="text/javascript"></script>
<script src="SpryAssets/SpryValidationTextarea.js" type="text/javascript"></script>
<script src="alert.js" type="text/javascript"></script>
</head>
<body>
<p class="titulo">FORMULÁRIO E-MAIL ÚNICO</p>


<form method="post" name="contato" action="<? $PHP_SELF; ?>">


<p class="texto">NOME: <br />
  <span id="nomeobr">
  <input name="nome" type="text" class="campo" id="nome" size="30" />
  <span class="textfieldRequiredMsg">Campo Obrigatório</span></span></p>
<p class="texto">E-MAIL: <br />
  <span id="emailobr">
  <input name="email" type="email" class="campo" id="email" size="30" />
  <span class="textfieldRequiredMsg">Campo Obrigatório</span></span></p>
<p class="texto">MENSAGEM: <br />
  <span id="msgobr">
  <textarea name="msg" cols="30" rows="5" class="campo"></textarea>
<span class="textareaRequiredMsg">Campo Obrigatório</span></span></p>


<p><input name="enviar" type="submit" class="botao" name="BTEnvia" id="enviar" value="ENVIAR" onselect="funcao()" value="Exibir Alert" />

<input name="limpar" type="reset" class="botao" value="LIMPAR" id="limpar" />


</form>
<?php

if (isset($_POST['BTEnvia'])){

 
$email_destino = "lucas.sandes@yahoo.com.br";
 
$nome = $_POST['nome'];  
$email = $_POST['email'];
$msg = $_POST['msg'];
 
$mensagem = "Nome: $nome\n";
$mensagem .= "E-mail: $email\n";
$mensagem .= "Mensagem: $msg";
 
mail($email_destino, "Nova Mensagem do site", $mensagem);

    }


?>
<script type="text/javascript">
var sprytextfield1 = new Spry.Widget.ValidationTextField("nomeobr");
var sprytextfield2 = new Spry.Widget.ValidationTextField("emailobr");
var sprytextarea1 = new Spry.Widget.ValidationTextarea("msgobr");
</script>
</body>
</html>

Beleza testa ai se funcionar da um retorno ok.

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,3k
    • Posts
      652,5k
×
×
  • Criar Novo...