Как отправить почту из всплывающего окна HTML
Привет, ребята, я пытаюсь отправить почту из всплывающего окна HTML с именем, названием ресторана, MailID, номером и т. д. Это не работает. Ниже приведен код. Кто-нибудь может мне помочь, пожалуйста.
Что я уже пробовал:
**кодирование HTML:**
Зарегистрируйте свой ресторан здесь...
Код PHP для отправки почты:
<?php
if(isset($_POST['m_email'])) {
// ОТРЕДАКТИРУЙТЕ 2 СТРОКИ НИЖЕ ПО МЕРЕ НЕОБХОДИМОСТИ
$email_to = "xxxxxx@gmail.com";
$email_subject = "новая регистрация";
функция умерла($error) {
// ваш код ошибки можно найти здесь
echo "мы очень сожалеем, но в представленной вами форме были обнаружены ошибки. ";
Эхо "эти ошибки появляются ниже.
";
ошибка echo $."
";
Эхо "пожалуйста, вернитесь и исправьте эти ошибки.
";
умирать();
}
// валидация ожидаемых данных существует
if(!isset($_POST['m_name']) ||
!isset($_POST['m_rname']) ||
!isset($_POST['m_email'])
!isset($_POST['m_phone'])
!isset($_POST['m_location'])
!isset($_POST['m_cuisine'])
) {
умер("Мы сожалеем, но, кажется, есть проблема с формой, которую вы подали".);
}
$user_name = $_POST['m_name']; // требуется
$restaurant_name = $_POST['m_rname']; //требуется
$email_from = $_POST['m_email']; // требуется
$telephone = $_POST['m_phone']; // требуется
$location = $_POST['m_location']; // требуется
$cuisine = $_POST['m_cuisine']; // требуется
$сообщение об ошибке = "";
$email_exp = '/^[а-Яа-З0-9._%-]+@[А-з-З0-9.-]+\.[А-Яа-я]{2,4}$/';
если(!функция preg_match($email_exp,$email_from)) {
$error_message .= 'введенный вами адрес электронной почты не является действительным.
';
}
$string_exp = "/^[A-Za-z .'-]+$/";
if(!preg_match($string_exp,$user_name)) {
$error_message .= 'введенное вами имя не является допустимым.
';
}
if(strlen($error_message) > 0) {
умер($функция error_message);
}
$email_message = "подробности формы ниже.\n\n";
функция clean_string($string) {
$плохо = массив("содержимое-тип","скрытая копия:","кому","копия:","слишком");
return str_replace($bad,"",$string);
}
$email_message .= "Имя Пользователя: ".clean_string($имя_пользователя)".\Н";
$email_message .= "название ресторана: ".clean_string($restaurant_name)."\n";
$email_message .= "Электронной почты: ".clean_string($email_from)".\Н";
$email_message .= "Телефон: ".clean_string($телефон)."\Н";
$email_message .= "Откуда: ".clean_string($местоположение)."\Н";
$email_message .= "Кухни ".clean_string($кухня)."\Н";
// создание заголовков электронной почты
$headers = 'From: '.$email_from."\r\n".
'Ответить: '.$email_from."\р\н" .
'X-Mailer: PHP/' . phpversion();
@почта($email_to, $email_subject, $email_message, $заголовки);
}
?>
И у нас есть Java-скрипт для вызова PHP cript с HTML-страницы. Ниже приведен сценарий.
функция regEmail(pg){
ВАР запрос = $.Аякс({
URL-адрес: "./res_mail.php",
тип: "пост",
данные: {
действие: "regEmail",
m_name:$("#m_name").val(),
m_rname:$("#m_rname").val(),
m_email:$("#m_email").val(),
m_phone:$("#m_phone").val(),
m_location:$("#m_location").val(),
m_cuisine:$("#m_cuisine").val()
},
//тип данных: 'json'
тип данных: 'html'
});
request.done(функция (данные) {
alert("сообщение зарегистрировано");
});
}
Используя приведенный выше код, он не запускает почту, а просто находится на той же странице.
Так что может ли кто-нибудь помочь вам в этом исправлении, пожалуйста
Richard MacCutchan
- Это не работает."
Знаете ли вы, что это самое бесполезное объяснение, которое можно написать?
Это абсолютно ничего не говорит нам о вашем коде или вашей проблеме. Пожалуйста, отредактируйте свой вопрос и объясните, где возникает проблема, а также полную информацию о том, что происходит, когда вы ее запускаете.
MadMyche
Чтобы добавить к комментарию Ричарда, было бы полезно знать, что если какие-либо сообщения об ошибках вы получаете при запуске этого приложения.