Доброго времени суток, есть форма отправки писем, хочу сделать чтобы можно было еще и файл отправить, к примеру картинку, которая потом приходит вместе с письмом на почту.
Но не как не могу понять как это сделать, вложенный файл не приходит и все, есть подозрения что я не вытягиваю файл через ajax, но это только догадки.
Если кто разбирается, прошу помощи.
Код ниже...
<form id="form" class="form" autocomplete="off" enctype='multipart/form-data'>
<div class="feedback__input">
<p><input type="text" name="name" placeholder="Введите ваше имя" required></p>
<p><input type="email" name="email" maxlength="25" placeholder="Введите ваш email" required></p>
<p><input type="text" name="phone" placeholder="Введите ваш телефон" class="phone"></input></p>
<p><textarea name="textarea" placeholder="Введите ваше сообщение" required></textarea></p>
<p><input type="file" name="file" class="file"></input></p>
</div>
<div class="feedback__sent">
<p>Ваше сообщение успешно отправлено</p>
</div>
<div class="feedback__error">
<p>Произошла ошибка<br>сообщение не отправлено</p>
</div>
<div class="feedback__captcha">
<input id='knopochka' type="checkbox" name="knopochka" class="feedback__checkbox">
<label for='knopochka'><span>Я не робот</span></label>
</div>
<div class="feedback__btn">
<button class="btn" disabled>Отправить</button>
</div>
</form>
$(document).ready(function() {
var feedback = $('.feedback');
var feedback__checkbox = $('.feedback__checkbox');
var btn = document.querySelector('.btn');
/* Блокировка и разблокировка кнопки чекбокс */
feedback__checkbox.click(function(){
if( $(this).is(':checked') ) {
btn.disabled = false;
} else {
btn.disabled = true;
}
});
/* Передача формы в обработчик */
$("#form").submit(function() {
$.ajax({
type: "POST",
url: "mail.php",
data: $(this).serialize()
}).done(function() {
btn.disabled = true;
$(this).find("input").val("");
$("#form").trigger("reset");
$('.feedback__sent').fadeIn(300).delay(4000).fadeOut(400);
/* Плавное появление блока 3мс, задержка 4сек, плавное изчезновение блока 4мс */
}).fail(function(){
$("#form").trigger("reset");
$('.feedback__error').fadeIn(300).delay(3500).fadeOut(400);
btn.disabled = true;
});
return false;
});
});
<?php
/* Скрытая антиспам защита + антиспам чекбокс */
if ($_POST['phone']!='' || $_POST['knopochka']==false){
die();
}
else{
$recepient = "dreadsite@ukr.net";
$sitename = "Dread.com.ua";
$name = trim($_POST["name"]);
$email = trim($_POST["email"]);
$text = trim($_POST["textarea"]);
if ($_FILES){
$file = $_FILES['filename']['name'];
move_uploaded_file($_FILES['filename']['tmp_name'], $file);
}
$message = "ИМЯ: $name \n\nE-MAIL: $email \n\nТЕКСТ:\n\n $text\n\n $file";
$pagetitle = "Новое сообщение с сайта \"$sitename\"";
mail($recepient, $pagetitle, $message, "Content-type: text/plain; charset=utf-8 \r\n From: $recepient");
}
?>