1) Имеется форма в index.php:
<label style="color: #ffffff; font-weight: 500;">ФОРМА</label>
<form class="Modal_content effect1" class="#" enctype="multipart/form-data" method="post" id="feedback-form">
<input type="text" name="nameFF" id="nameFF" required placeholder="ФИО" x-autocompletetype="name" class="">
<br>
<input type="text" name="phoneFF" id="phoneFF" required placeholder="Номер телефона" x-autocompletetype="phone" class="">
<br>
<input type="email" name="contactFF" id="contactFF" required placeholder="e-mail адрес" x-autocompletetype="email" class="">
<br>
<div class="container" style="padding-top: 20px;"><div class="content">
<input type="file" style="opacity: 0; position: absolute;" name="fileFF[]" multiple id="fileFF" class="inputfile inputfile-3" data-multiple-caption="{count} files selected">
<label for="fileFF"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="17" viewBox="0 0 20 17"><path d="M10 0l-5.2 4.9h3.3v5.1h3.8v-5.1h3.3l-5.2-4.9zm9.3 11.5l-3.2-2.1h-2l3.4 2.6h-3.5c-.1 0-.2.1-.2.1l-.8 2.3h-6l-.8-2.2c-.1-.1-.1-.2-.2-.2h-3.6l3.4-2.6h-2l-3.2 2.1c-.4.3-.7 1-.6 1.5l.6 3.1c.1.5.7.9 1.2.9h16.3c.6 0 1.1-.4 1.3-.9l.6-3.1c.1-.5-.2-1.2-.7-1.5z"></path></svg> <span>Прикрепить файлы</span></label>
</div></div><br>
<textarea name="messageFF" id="messageFF" rows="5" placeholder="Детали заявки…" class=""></textarea>
<br>
<input style="padding-top: 6px; color:#777777;" value="Отправить" type="submit" id="submitFF">
</form>
2) файл mail2.js
document.getElementById('feedback-form').addEventListener('submit', function(evt){
var http = new XMLHttpRequest(), f = this;
evt.preventDefault();
http.open("POST", "contacts.php", true);
http.onreadystatechange = function() {
if (http.readyState == 4 && http.status == 200) {
alert(http.responseText);
if (http.responseText.indexOf(f.nameFF.value) == 0) {
f.messageFF.removeAttribute('value');
f.messageFF.value='';
}
}
}
http.onerror = function() {
alert('Извините, данные не были переданы');
}
http.send(new FormData(f));
}, false);
$(document).ready(function(){
$('form1 input1').change(function () {
$('form1 p1').text(this.files.length + " file(s) selected");
});
});
3) файл contacts.php
if (isset ($_POST['contactFF'])) {
$to = "мой ящик";
$from = $_POST['contactFF'];
$subject = "Заполнена контактная форма с ".$_SERVER['HTTP_REFERER'];
$message = "ФИО: ".$_POST['nameFF']."\n"."Номер: ".$_POST['phoneFF']."\nEmail: ".$from."\n".$_SERVER['']."\n".$_POST['messageFF'];
$boundary = md5(date('r', time()));
$filesize = '';
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n";
$message="
Content-Type: multipart/mixed; boundary=\"$boundary\"
--$boundary
Content-Type: text/plain; charset=\"utf-8\"
Content-Transfer-Encoding: 7bit
$message";
for($i=0;$i<count($_FILES['fileFF']['name']);$i++) {
if(is_uploaded_file($_FILES['fileFF']['tmp_name'][$i])) {
$attachment = chunk_split(base64_encode(file_get_contents($_FILES['fileFF']['tmp_name'][$i])));
$filename = $_FILES['fileFF']['name'][$i];
$filetype = $_FILES['fileFF']['type'][$i];
$filesize += $_FILES['fileFF']['size'][$i];
$message.="
--$boundary
Content-Type: \"$filetype\"; name=\"$filename\"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=\"$filename\"
$attachment";
}
}
$message.="
--$boundary--";
if ($filesize < 10000000) {
mail($to, $subject, $message, $headers);
echo $_POST['nameFF'].', Ваше сообщение получено, спасибо!';
} else {
echo 'Извините, письмо не отправлено. Размер всех файлов превышает 10 МБ.';
}
}
Все три файла находятся в одной директории
В index.php подключен mail2.js <script src="mail2.js"></script>
В mail2.js указан contacts.php (и c полным путем пробовал http://...)
Вместо "мой ящик" свою почту.
Но данные с формы так и не приходят на ящик
Пожалуйста помогите разобраться в чем ошибка.
А почему в файле mail2.js добрая половина сделана на ванильке??)) это на джиквери делается ОДНОЙ строчкой!!! ведь джиквери у вас таки подключен...
По вопросу - вы бы указали "мой ящик" - какой именно? наверное майл-ру или гугл?)) там ваш метод mail.php давно и надолго забанен! Используйте отправку через smtp, на GIT есть неплохая либа. https://github.com/Ipatov/SendMailSmtpClass
Виртуальный выделенный сервер (VDS) становится отличным выбором
Всем привет! Изучая Nginx дошел до того, что есть SAPI, и что их несколько видов и бла,бла,блаВопрос: у нас есть сервер(демон, который ждёт, когда...
Как этим пользоваться? Что на что изменить? За что отвечает $oldAdapter, $oldToolBox и все переменные в этом коде, а так же на что их нужно заменять, проблема...
Решил добавить подобного рода соединения, как оказалось на примере он работает, а пример заключается в обновление файлаВ реальности при...