Witam! Mam stworzony formularz w php, który działa i wysyła dane na email jednak problem w tym, że w formularzu jest opcja załączenia pliku po czy gdy nastapi wysłanie danych z formularza to na poczcie np. gmail nie widać załącznika.
Kod:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<form action="form/send.php" method="post" id="contactform" enctype="multipart/form-data"> <input type="text" name="contact_name" placeholder="Imię i nazwisko" required="required" tabindex="1" /> <input type="email" name="contact_email" placeholder="Adres e-mail" required="required" tabindex="2" /> <input type="file" name="plik" placeholder="Załącz pliki" multiple="multiple" required="required" tabindex="" /> <textarea rows="5" columns="10" name="contact_body" placeholder="Treść wiadomości" required="required" tabindex="3"></textarea> <input type="submit" value="Wyślij" tabindex="5" />Podaj wynik:
<span class="form_check_1"></span> × <span class="form_check_2"></span> =
<input type="text" name="contact_check" maxlength="2" tabindex="4" /> <input type="hidden" name="contact_check_data" value="" />
send.php
<?php
require_once 'class.phpmailer.php';
$error = false;
if (!isset($_POST['contact_name']) || empty($_POST['contact_name'])) { $error = true;
}
if (!isset($_POST['contact_email']) || empty($_POST['contact_email']) || !PHPMailer
::ValidateAddress($_POST['contact_email'])) { $error = true;
}
if (!isset($_POST['contact_body']) || empty($_POST['contact_body'])) { $error = true;
}
if (!isset($_POST['contact_check']) || empty($_POST['contact_check']) || (int
) $_POST['contact_check'] !== ((int
) $_POST['contact_check_data'][0
] * (int
) $_POST['contact_check_data'][1
])) { $error = true;
}
if ($error) {
}
$mail = new PHPMailer();
if($_FILES['plik']['error'] == UPLOAD_ERR_OK)
$mail->addAttachment($_FILES['plik']['tmp_name'], $_FILES['plik']['name']);
$mail->CharSet = 'UTF-8';
$mail->SetFrom($_POST['contact_email'], $_POST['contact_name']);
$mail->AddAddress('example@gmail.com');
$mail->Subject = 'Wiadomość ze strony internetowej';
$mail->Body = $_POST['contact_body'] . "\n\n" . $_FILES['plik']['name'];
if (!$mail->Send()) {
}