Задать вопрос
@nugget-ekb
Верстальщик

PHP + AJAX отправка формы с файлом?

Есть php код отправляющий форму, он прекрасно работает, все с ним хорошо.
Сейчас потребовалось добавить в форму отправку файлов и тут возникли трудности. помогите плиз, коллеги.

<form class="form">
	<input type="text" name="name" placeholder="Ваше имя">
	<input type="text" name="phone" placeholder="Номер телефона*" required>
	<input type="file" name="file" multiple accept="image/*">
	<textarea type="text" name="description" placeholder="Описание автомобиля"></textarea>
	<button>Узнать стоимость авто</button>
</form>

$(function() {
	$(".form").submit(function() {
		$.ajax({
			type: "POST",
			url: "mail.php",
			data: $(this).serialize()
		}).done(function() {
			$(this).find("input").val("");
			alert("Спасибо за заявку! Скоро мы с вами свяжемся.");
			$(".form").trigger("reset");
		});
		return false;
	});
});

<?php

$recepient = "mail@ya.ru";
$sitename = "Название сайта";

$name = trim($_POST["name"]);
$phone = trim($_POST["phone"]);
$description = trim($_POST["description"]);
$message = "Имя: $name \nТелефон: $phone \nОписание: $description";

$pagetitle = "Новая заявка с сайта \"$sitename\"";
mail($recepient, $pagetitle, $message, "Content-type: text/plain; charset=\"utf-8\"\n From: $recepient");
  • Вопрос задан
  • 2008 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 4
SilenceOfWinter
@SilenceOfWinter Куратор тега PHP
та еще зажигалка...
"отправка файлов php", первая статья на php.net твоя. не хватает атрибута у формы.
Ответ написан
<form enctype="multipart/form-data" method="POST">
Ответ написан
Комментировать
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
для начала форму поправить, во вторых проверить что приходит на сторону сервера, далее подключить нормальную библиотеку почты, например PHPMailer , вот пожалуй и все.
Ответ написан
@tommy_13
читать про файловый апи html5
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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