Meu form só é enviado quando todos os campos estão preenchidos

01/01/2021

0

Pessoal, bom dia! Feliz ano novo!!!

Gostaria da ajuda de vocês, pois sou iniciante na programação e estou com um problema que não consigo resolver.

Possuo um form no meu site que só é enviado, caso todos os campos estejam preenchidos, se não estiver da um erro ao ser enviado.

Não é problema com "required", pois o erro acontece somente quando eu envio sem o anexo.

Poderiam me ajudar?

Seguem meus codigos:

FORM:
<form class="form-horizontal" action="envia.php" enctype="multipart/form-data" method="POST" name="form" onsubmit="return check_form(this)">
            
 <!-- titulo form -->
            <h3 align="fade-left" class="style1">Form</h3>
            
        
        <table align="fade-left" border="0" width="100%">
            <tbody>
                 <!-- Campo: Name-->
                <tr>
                    <td>
                    <div align="fade-left"><span class="texto">Nome</span></div>
                    </td>
                    <td><input id="name" name="name" placeholder="fill your name" type="text" required /></td>
                </tr>
                 <!-- Campo: email -->
                <tr>
                    <td>
                    <div align="fade-left"><span class="text">Email</span></div>
                    </td>
                    <td><input id="email" name="email" placeholder="fill your email" type="text" required /></td>
                </tr>
                 <!-- Campo: subject -->
                <tr>
                    <td>
                    <div align="fade-left" class="text">subject</div>
                    </td>
                    <td style="width: 100%;">
                    <p> </p>
                    
        <select name="subject" required >
        <option disable value="" selected hidden>select a subject...</option>
        <option value="xxx1">xxx1</option>
        <option value="xxx2">xxx2</option>
        <option value="xxx3">xxx3</option>
        </select>

                    <p> </p>
                    </td>
                </tr>
                 <!-- Campo: message -->
                <tr>
                    <td>
                    <div align="fade-left" class="text">Message</div>
                    </td>
                    <td><textarea cols="50" id="message" name="message" rows="10" placeholder="inser your text" required ></textarea></td>
                </tr>
                 <!-- Campo: attachment-->
                <tr>
                    <td>
                    <div align="fade-left" class="texto">attachment</div>
                    </td>
                    <td><input type="file" style="width:100%;" name="cv" id="logo"/></br</td>
                </tr>
                <!-- button: send -->
                <tr>
                    <td colspan="2">
                    <p> </p>
                    
                    <input name="submit" type="submit" value="send" onclick="checkForm()" />
                    </td>
                </tr>
                <!-- button: cancel-reset -->
                <tr>
                    <td colspan="2"><input type="reset" value="Cancel" /></td>
                </tr>
            </tbody>
        </table>
        </form>
        <p> </p>



PHP
<?php

require("/xxxx/public_html/html/phpmailer/PHPMailer-master/src/PHPMailer.php");
require("/xxxx/public_html/html/phpmailer/PHPMailer-master/src/SMTP.php");

 $mail = new PHPMailer\PHPMailer\PHPMailer();
 $mail->CharSet = 'UTF-8';
 $mail->Encoding = 'base64';
 $mail->IsSMTP(); // enable SMTP
 $mail->SMTPDebug = 0; // debugging: 1 = errors and messages, 2 = messages only
 $mail->SMTPAuth = true; // authentication enabled
 $mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for Gmail
 $mail->Host = xxxxx";
 $mail->Port = 465; // or 587
 $mail->IsHTML(true);
 $mail->Username = "xxxxx@xxx.com";
 $mail->Password = "xxxxx";
 $mail->From = 'xxxxx@xxx.com';
 $mail->AddAddress('xxxxx@xxx.com', "xxxxx");
 $mail->Subject = "Contact form";
 $mail->addAttachment($_FILES['cv']['tmp_name'],$_FILES['cv']['name']);
 $mail->Body = <<<EOT
 <table>
<tr><td>Email: {$_POST['email']}</td></tr>
<tr>
    <td>Name: {$_POST['name']}</td>
</tr>
<tr><td>Message: {$_POST['message']}</td></tr>
<tr>
    <td>Subject: {$_POST['subject']}
</td>
</tr>
</table>

EOT;


 $mail->AddAddress("xxxxx@xxx.com");
    if(!$mail->Send()) {
       echo "Mailer Error: " . $mail->ErrorInfo;
    } else {
       echo "success";
    }
Danoccas

Danoccas

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar