I do not understand how to send attachments in the form. Code
<form id="feedback-form" enctype="multipart/form-data" method="post"> <div id="feedback-return" class="alert" style="display: none"></div> <div> <label>Ф.И.О.</label> <input type="text" name="name"> </div> <div> <label>Почта</label> <input type="email" name="email"> </div> <div> <label>Телефон</label> <input type="text" name="phone"> </div> <div> <label>Файл</label> <input type="file" name="file"> </div> <div> <label>Предложения и пожелания</label> <textarea name="message"></textarea> </div> <div> <input id="feedback-submit" type="submit" value="Отправить"> </div> </form> jQuery(document).ready(function(e) { "use strict"; $('#feedback-submit').on('click', function(e) { e.preventDefault(); var $this = $(this), message = $('#feedback-return'), form = $('#feedback-form'); $.ajax({ type: "POST", url: '../contact/feedback-process.php', dataType: 'json', cache: false, data: $('#feedback-form').serialize(), success: function(data) { if (data.info !== 'error') { $this.parents('form').find('input[type=text],input[type=email],input[type=hidden],input[type=file],textarea,select').filter(':visible').val(''); message.hide().removeClass('alert-success').removeClass('alert-danger').addClass('alert-success').html(data.msg).fadeIn('slow').delay(3000).fadeOut('slow'); } else { message.hide().removeClass('alert-success').removeClass('alert-danger').addClass('alert-danger').html(data.msg).fadeIn('slow').delay(3000).fadeOut('slow'); } } }); }); }); PHP Handler Code (feedback-process.php)
if($_POST) { $to = '--почта--'; $subject = '--тема--'; $name = $_POST['name']; $mail = $_POST['email']; $message = $_POST['message']; $tel = $_POST['phone']; } $message = ' Имя: '.$name.'<br> Почта: '.$mail.'<br> Телефон: '.$tel.'<br> Сообщение: '.$message.'<br> '; $check_tel = '/(8|7|\+7)?9\d{9}/'; if ($name == '') { echo json_encode(array('info' => 'error', 'msg' => "<b>Ошибка!</b> Не указано имя.")); exit(); } else if ($mail == '') { echo json_encode(array('info' => 'error', 'msg' => "<b>Ошибка!</b> Не указана почта")); exit(); } else if ($tel == '') { echo json_encode(array('info' => 'error', 'msg' => "<b>Ошибка!</b> Не указан телефон.")); exit(); } else if (!preg_match($check_tel, $tel)) { echo json_encode(array('info' => 'error', 'msg' => "Не верно указан <b>телефон</b>! <br>Номер должен быть в формате <b>+7×××××××××</b> или <b>8×××××××××</b>")); exit(); } else { //Send Mail $headers = 'From: --почта--'. "\r\n". 'Reply-To: --почта--'. "\r\n". 'MIME-Version: 1.0'. "\r\n". 'Content-type: text/html; charset=utf-8'. "\r\n". 'X-Mailer: PHP/'.phpversion(); if (@mail($to, $subject, $message, $headers)) { echo json_encode(array('info' => 'success', 'msg' => "<b>Спасибо!</b> Ваше сообщение отправлено.")); } else { echo json_encode(array('info' => 'error', 'msg' => "<b>Ошибка!</b> Сообщение не отправлено, попробуйте еще раз.")); } } How to handle file field? All that naggulil sends a letter without attachments. Help me please.
js FormData- u_mulder