Member 14023048 Ответов: 1

Как отправить почту из всплывающего окна 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

Чтобы добавить к комментарию Ричарда, было бы полезно знать, что если какие-либо сообщения об ошибках вы получаете при запуске этого приложения.

1 Ответов

Рейтинг:
1

W∴ Balboos, GHB

Во-первых, я, к сожалению, должен сообщить вам, что $_POST не имеет ничего общего с "отправкой сообщения электронной почты".

Вам нужно посмотреть, как это делается с помощью образцов, поскольку ничто в вашем утомительном примере выше не дает никакого представления о том, как вы ожидаете отправить электронное письмо и какая система должна обработать его, как только он покинет ваше приложение.

Попробуй: Почтовые функции PHP 5[^]