Доброго времени суток, есть код ajax который передает данные input на почту, как можно сделать чтобы + к этим данным еще передавались данные хранящиеся в переменных, спасибо.
Я примерно понимаю как их ловить в php, но вот правильно передать через ajax не получается.
На всякий случай код php тоже выложил.
//Данные переменных a, b, c, нужно передать в обработчик с последующей отправкой на почту
var a = 'some text';
var b = 888;
var c = 123;
/* Передача формы в обработчик */
$("#form").submit(function() {
$.ajax({
type: "POST",
url: "mailAjax.php",
contentType: false,
processData: false,
data: new FormData(this)
}).done(function() {
btn.disabled = true;
$(this).find("input").val("");
$("#form").trigger("reset");
$('.feedback__sent').fadeIn(300).delay(4000).fadeOut(400);
}).fail(function(){
$("#form").trigger("reset");
btn.disabled = true;
$('.feedback__error').fadeIn(300).delay(3500).fadeOut(400);
});
return false;
});
<?php
/* Скрытая антиспам защита*/
if ($_POST['phone']!=''){
die();
}
else{
$to = "email@gmail.com";
if ( !empty( $_FILES['file']['tmp_name'] ) and $_FILES['file']['error'] == 0 ) {
if(in_array(strtolower(end(explode('.', $_FILES['file']['name']))), array('jpeg', 'jpg', 'gif', 'png', 'pdf', 'cdr', 'eps', 'ai', 'svg', 'doc', 'tif', 'psd')) and $_FILES['file']['size'] < 2000000) {
$filepath = $_FILES['file']['tmp_name'];
$filename = $_FILES['file']['name'];
}
} else {
$filepath = '';
$filename = '';
}
$name = trim($_POST["name"]);
$tel = trim($_POST["tel"]);
$email = trim($_POST["email"]);
$message = trim($_POST["message"]);
$body = "Имя:\r\n".$name."\r\n\r\n";
$body .= "Контактный номер:\r\n".$tel."\r\n\r\n";
$body .= "E-mail:\r\n".$email."\r\n\r\n";
$body .= "Описание заказа:\r\n".$message;
send_mail($to, $body, $email, $filepath, $filename);
}
function send_mail($to, $body, $email, $filepath, $filename)
{
$subject = 'Тестовое письмо';
$boundary = "--".md5(uniqid(time())); // генерируем разделитель
$headers = "From: ".$email."\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .="Content-Type: multipart/mixed; boundary=\"".$boundary."\"\r\n";
$multipart = "--".$boundary."\r\n";
$multipart .= "Content-type: text/plain; charset=\"utf-8\"\r\n";
$multipart .= "Content-Transfer-Encoding: quoted-printable\r\n\r\n";
$body = $body."\r\n\r\n";
$multipart .= $body;
$file = '';
if ( !empty( $filepath ) ) {
$fp = fopen($filepath, "r");
if ( $fp ) {
$content = fread($fp, filesize($filepath));
fclose($fp);
$file .= "--".$boundary."\r\n";
$file .= "Content-Type: application/octet-stream\r\n";
$file .= "Content-Transfer-Encoding: base64\r\n";
$file .= "Content-Disposition: attachment; filename=\"".$filename."\"\r\n\r\n";
$file .= chunk_split(base64_encode($content))."\r\n";
}
}
$multipart .= $file."--".$boundary."--\r\n";
mail($to, $subject, $multipart, $headers);
}
?>