PHP form validation

0

I would like to know if you have any way to insert a script into contact.php so that before doing the action to send the data to the email, check the form fields. Thanks in advance!

Follow the form here:

<form action="contact.php" target="_blank" method="post" id="form-contato">
        Faça o download grátis aqui! <br/><br/>
        Basta preencher o formulário para baixar a áudio história: <br/><br/><br/>
        Nome: 
        <br/>
        <input name="nome" size=56 id="name_edit"> 
        <br/><br/> 
        Email: 
        <br/>
        <input name="email" size=56 id="email_edit">
        <br/><br/>
        7+4?: 
        <br/>         
        <input name="mensagem" size=56 id="mens_edit">
        <br/><br/><br/><br/>
        <input type="submit" value="BAIXAR AUDIOBOOK" name="submit" id="button">
        <br/><br/><br/>
        <p id="text_edit"><a href="politicaprivacidade.php">Politica de Privacidade</a>.<br/><br/>
        Prometemos não utilizar suas informações de contato para enviar qualquer tipo de SPAM.</p>
    </form>
  </div>

Follow the contact.php here:

<?php
 session_start();
  require_once 'libs/phpmailer/PHPMailerAutoload.php';

if(isset($_POST['nome'],$_POST['email'],$_POST['mensagem'])){
 $fields=[
    'nome'=>$_POST['nome'],
    'email'=>$_POST['email'],
    'mensagem'=>$_POST['mensagem']
 ];
 $m=new PHPMailer;
 $m->isSMTP();
 $m->SMTPDebug = 1;
 $m->SMTPAuth=true;
 $m->Host='smtp.zoho.com';
 $m->Username='#';
 $m->Password='#';
 $m->SMTPSecure='ssl';
 $m->Port=465;

 $m->isHTML(true);
 $m->Subject ='E-mail eviado pelo site';
 $m->Body='De:'.$fields['nome'].'('.$fields['email'].')<p>Mensagem: <br>'.$fields['mensagem'].'</p>';
 $m->SetFrom('[email protected]','SAC');
 $m->AddAddress('#','#');
 if ($m->send()) {
     header('#');
     die();
 }
}

header ('#');
    
asked by anonymous 19.07.2017 / 03:42

1 answer

0

The simplest validation would be to add a required input, so it would only send if at least the inputs were loaded, or you could insert JavaScript code to check, as below:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"type="text/javascript"></script>


<script>
  $(document).ready(function(){
      $("form").submit(function(e) {
	  	if( $('#nome').val().length < 5  ){
			alert('O nome precisa ter mais que 5 letras');
			return false;
	  	}
	  
         e.preventDefault();
      });
 });
</script>


    <form action="contact.php" target="_blank" method="post" id="form-contato">
            Faça o download grátis aqui! <br/><br/>
            Basta preencher o formulário para baixar a áudio história: <br/><br/><br/>
            Nome: 
            <br/>
            <input name="nome" id="nome" size=56 id="name_edit" required> 
            <br/><br/> 
            Email: 
            <br/>
            <input name="email" size=56 id="email_edit" required>
            <br/><br/>
            7+4?: 
            <br/>         
            <input name="mensagem" size=56 id="mens_edit" required>
            <br/><br/><br/><br/>
            <input type="submit" value="BAIXAR AUDIOBOOK" name="submit" id="button">
            <br/><br/><br/>
            <p id="text_edit"><a href="politicaprivacidade.php">Politica de Privacidade</a>.<br/><br/>
            Prometemos não utilizar suas informações de contato para enviar qualquer tipo de SPAM.</p>
        </form>
      </div>
    
19.07.2017 / 11:56