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";
}