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

Formulário PHP com Validação


Devil´s Reject

Pergunta

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

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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