На странице есть форма, которую пользователь должен заполнить и отправить, письмо с информацией из формы должно придти мне на почту. js скрипт:
<script>
$(document).ready(function(){
$('#btn_submit').click(function(){
var PN = $('#PN').val();
var TN = $('#TN').val();
var PW = $('#PW').val();
// отправляем данные
$.ajax({
url: "send.php",
type: "post",
data: {
"PN": PN,
"TN": TN,
"PW": PW
},
error:function(){$("#erconts").html("Произошла ошибка!");},
beforeSend: function() {
$("#erconts").html("Отправляем данные...");
},
success: function(result){
$('#erconts').html(result);
console.log("ntcn");
}
});
});
});
</script>
Файл send.php:
<?php
$PN = $_POST("PN");
$TN = $_POST("TN");
$PW = $_POST("PW");
/*ЕСЛИ ВСЕ ПОЛЯ ЗАПОЛНЕНЫ НАЧИНАЕМ СОБИРАТЬ ДАННЫЕ ДЛЯ ОТПРАВКИ*/
$to = "qqqq@qqqqq.com"; /* Адрес, куда отправляем письма*/
$subject = "qqqqq"; /*Тема письма*/
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=utf-8\r\n";
//$headers .= "From: <test@mail.ru>\r\n";/*ОТ КОГО*/
$message .= "1: ".$PN."\n";
$message .= "2: ".$TN."\n";
$message .= "3: ".$PW."\n";
$send = mail($to, $subject, $message, $headers);
if ($send == "true")
{
echo "Ваше сообщение отправлено. Мы ответим вам в ближайшее время.\r\n";
}
else
{
echo "Не удалось отправить, попробуйте снова";
}
?>
При нажатии на кнопку send, в консоли пишет ntcn, т.е js скрипт отработал нормально, но письмо на почту не приходит, в чем может быть проблема?
Рабочий вариант, результат:
Полученное письмо:
Файл отправки формы:
<?php
header('Content-Type: text/html; charset=utf-8');
?>
<script
src="https://code.jquery.com/jquery-3.4.1.js"
integrity="sha256-WpOohJOqMqqyKL9FccASB9O0KwACQJpFTUBLTYOVvVU="
crossorigin="anonymous"></script>
<script>
$(document).ready(function(){
$('#btn_submit').click(function(){
event.preventDefault();
var PN = $('#PN').val();
var TN = $('#TN').val();
var PW = $('#PW').val();
// отправляем данные
$.ajax({
url: "send.php",
type: "post",
data: {
"PN": PN,
"TN": TN,
"PW": PW
},
error:function(){$("#erconts").html("Произошла ошибка!");},
beforeSend: function() {
$("#erconts").html("Отправляем данные...");
},
success: function(result){
$('#erconts').html(result);
console.log("ntcn");
}
});
});
});
</script>
<form method="post" name="form" id="form">
<input type="text" id="PN" name="PN" placeholder="PN" /><br>
<input type="text" id="TN" name="TN" placeholder="TN" /><br>
<input type="text" id="PW" name="PW" placeholder="PN" /><br>
<input type="submit" id="btn_submit" style="margin: 0 auto" value="Отправить" />
</form>
<div id="erconts"></div>
Файл send.php
:
<?php
$PN = $_POST['PN'];
$TN = $_POST['TN'];
$PW = $_POST['PW'];
/*ЕСЛИ ВСЕ ПОЛЯ ЗАПОЛНЕНЫ НАЧИНАЕМ СОБИРАТЬ ДАННЫЕ ДЛЯ ОТПРАВКИ*/
$to = "qqqq@qqqqq.com"; /* Адрес, куда отправляем письма*/
$subject = "qqqqq"; /*Тема письма*/
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=utf-8\r\n";
//$headers .= "From: <test@mail.ru>\r\n";/*ОТ КОГО*/
$message = "1: ".$PN."\n";
$message .= "2: ".$TN."\n";
$message .= "3: ".$PW."\n";
$send = mail($to, $subject, $message, $headers);
if ($send == "true")
{
echo "Ваше сообщение отправлено. Мы ответим вам в ближайшее время.<br>";
echo "Данные: PN:".$PN." TN:".$TN." PW: ".$PW;
}
else
{
echo "Не удалось отправить, попробуйте снова";
}
?>
Как уже написали вам нужно включить в вашем приёмщике ответа (PHP файле) вот это
ini_set("display_errors","on");
error_reporting(E_ALL);,
А далее уже смотреть внимательно куда вы продвигаетесь с заглушками типа
echo('->good');
А так же Shift+Ctrl+I и смотрите какие данные вы передаете и что получаете.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Есть таблица apartments (квартиры), у которой есть поля total_area (общая площадь) и price (цена за 1 квадратный метр)
Нужна ваша помощь профессионалыНе могу понять в чем проблема
Есть сервак на который пишется видеопоток с камер наблюденияЯ делаю сайт для пользователей которые будут отсматривать эти камеры