Задать вопрос
@Antonosyan

Прикрепить файл к форме ajax php?

Здравствуйте. Есть форма связи на php и ajax. Подскажите, как в нее добавить прикрепление файла. Заранее спасибо
<form method="POST" enctype="multipart/form-data">
<input type="text" id="name" value="">
<input type="text" id="phone" value="">
<input type="button" value="Отправить" id="send">
<div class="result"></div>
</form>


$(document).ready(function(){
            $('#send').click(function(){
                var name    = $('#name').val();
                var phone    = $('#phone').val();
                  
             $.ajax({
                    url: "mail.php", 
                    type: "post", 
                    dataType: "json", 
                    data: { // что отправляем
                        "name":    name,
                        "phone":   phone
                    },
                    success: function(data){
                        $('.result').html(data.result);
                    }
                });
            });
        });


<?php
   $msg_box = ""; 
    $errors = array(); 
    if($_POST['name'] == "")    $errors[] = "Имя";
    if($_POST['phone'] == "")    $errors[] = "Телефон";
   
    if(empty($errors)){  
        $message  = "<b>Имя:</b> " . $_POST['name'] . "<br/>";
        $message  .= "<b>Телефон:</b> " . $_POST['phone'] . "<br/>";
      
        send_mail($message); 
       $msg_box = "<span>Сообщение успешно отправлено!</span>";
    }else{
        $msg_box = "";
        foreach($errors as $one_error){
            $msg_box .= "<span>$one_error</span>";
        }
    }
    echo json_encode(array(
        'result' => $msg_box
    ));
     
    function send_mail($message){
        $mail_to = "myemail@yandex.ru"; 
        $subject = "Письмо с сайта";
        $headers= "MIME-Version: 1.0\r\n";
        $headers .= "Content-type: text/html; charset=utf-8\r\n";
        $headers .= "From: Message <aviasib@test.com>\r\n";
        mail($mail_to, $subject, $message, $headers);
    }

?>
  • Вопрос задан
  • 781 просмотр
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
slo_nik
@slo_nik Куратор тега PHP
Добрый день.
Вы неверно отправляете файл при помощи ajax.
Добавьте в форму поле для выбора файла.
<input type="file">
Сделайте вот так.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы