Form somente enviado quando todos os campos estão preenchidos

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";
    }
compartilhar
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do fluig Forum!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags html php formulario ou faça a sua própria pergunta.