Jump to content
Fórum Script Brasil
  • 0

Formulário PHP com Validação


Devil´s Reject

Question

Alterei um formulário porém preciso que ele só seja enviado SE os campos estiverem preenchidos corretamente e TODOS os campos. Hoje, da maneira como está, se falta preencher algum campo ele notifica corretamente a pendência, mas envia o formulário mesmo assim. O que está errado no código para isso estar acontecendo?

Segue abaixo o código que estou usando:

<?

$nome = $_POST['nome'];

$email = $_POST['email'];

$telefone = $_POST['telefone'];

$mkt = $_POST['mkt'];

$outro = $_POST['outro'];

$mensagem = $_POST['mensagem'];

//aqui nós resgatamos as variáveis do formulário

$para = "Paulo <MEU E-MAIL>";

$assunto = "formmail de contato";

$mensagem = "Nome = $nome

E-mail= $email

Telefone = $telefone

Soube através de = $mkt $outro

Mensagem = $mensagem";

$headers = "MIME-Version: 1.1\r\n";

$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";

$headers .= "From: MEU E-MAIL\r\n"; //E-mail do remetente

$headers .= "Return-Path: MEU E-MAIL\r\n"; //E-mail do remetente

mail("MEU E-MAIL", "$assunto ", "$mensagem", $headers);

/*aqui foram definidos: o local onde será enviado o e-mail($para)

o assunto do e-mail enviado ($assunto)

e a mensagem enviada ($mensagem) que contém todos os campos preenchido no formulário*/

if (strlen($nome) < 3)

echo "Digite seu nome!<BR> <a href=\"java script:history.back(1);\">Voltar</a>";

elseif (!(strpos($email,"@")) || strpos($email,"@") !=strrpos($email,"@"))

echo "E-mail inv&aacute;lido!<BR> <a href=\"java script:history.back(1);\">Voltar</a>";

elseif (strlen($telefone) < 3 )

echo "Informe seu telefone! <BR> <a href=\"java script:history.back(1);\">Voltar</a>";

elseif (strlen($mensagem)< 3 )

echo "Escreva uma mensagem!<BR> <a href=\"java script:history.back(1);\">Voltar</a>";

else{

mail("MEU E-MAIL", $assunto, $mensagem, $headers);

//mail($para, $assunto, $mensagem);

echo "O formul&aacute;rio foi preenchido e enviado com sucesso!! <a href=\"java script:history.back(1);\">Voltar</a>";

}

/* Nas linhas acima foi feita uma confirmação do preenchimento dos formulários.. sendo que todos os

campos preenchidos do formulário será enviado com a instrução mail() */

?>

Link to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...