Формы
$('#msgbutton').click(function(){
var name = $('#idname').val(); // фиктивные
var phone = $('#idphone').val(); // фиктивные
var rn = $('#idrn').val(); // имя
var ph = $('#idph').val(); // имя
var em = $('#idem').val();
var msg = $('#idmsg').val();
var params = "name=" + name + "&phone=" + phone + "&rn=" + rn+ "&ph=" + ph+ "&em=" + em + "&msg=" + msg;
$.ajax({
type: "POST",
url: "smail.html",
data: params,
success: function(data){
if(data) {
$('#errmsg').html(data);
$('#errmsg').css({ 'display': "block" });
}
else { // пустое сообщение - без ошибки
window.location.href = "/zayavka-prinyata.html";
}
}
});
});
<?php
if ($_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest') {return;}
$fictive_name = filter_input(INPUT_POST, 'name', FILTER_SANITIZE_SPECIAL_CHARS );
$fictive_phone = filter_input(INPUT_POST, 'phone', FILTER_SANITIZE_SPECIAL_CHARS );
if( !empty($fictive_name) || !empty($fictive_phone))
return 'Странно...';
$name = filter_input(INPUT_POST, 'rn', FILTER_SANITIZE_SPECIAL_CHARS );
$email = filter_input(INPUT_POST, 'em', FILTER_SANITIZE_EMAIL );
$msg = filter_input(INPUT_POST, 'msg', FILTER_SANITIZE_SPECIAL_CHARS );
$phone = filter_input(INPUT_POST, 'ph', FILTER_SANITIZE_SPECIAL_CHARS );
if(empty($name))
return 'Как к Вам обращаться? Укажите, пожалуйста, Ваше имя.';
if(empty($phone)&&empty($email))
return 'Как с Вами связаться? Укажите, пожалуйста, телефон или электронную почту.';
if(empty($msg))
return 'Чем мы могли бы вам быть полезны? Заполните, пожалуйста, поле с сообщением.';
$config = $modx->getConfig();
$recepient=$config['send_mail_to'];
$bodytext = <<<EOD
<style type="text/css">
.white-plushka {
background: #ffffff;
border: 1px solid #ff515d;
border-radius: 6px;
padding: 20px 30px;
width: 600px;
}
h3 {
font-weight: 900;
font-size: 18px;
line-height: 1;
margin-bottom: 18px;
margin-top: 18px;
color: #ff515d;
}
.bodytext p,td {
font-family: Geneva, Arial, Helvetica, sans-serif;
font-size: 15px;
margin-top: 0em;
margin-bottom: 0em;
}
.bodytext table {
background: #fff;
border: 0;
}
</style>
<div class="white-plushka">
<div class="bodytext">
<h3>Заявка с сайта ...</h3>
<br/>
<table>
<tr><td>Имя:</td><td><strong> $name </strong></td></tr>
<tr><td>Телефон:</td><td><strong> $phone </strong></td></tr>
<tr><td>Email:</td><td><strong> $email </strong></td></tr>
<tr><td>Сообщение:</td><td><strong> $msg </strong></td></tr>
</table>
<br/>
</div>
</div>
EOD;
$modx->getService('mail', 'mail.modPHPMailer');
$modx->mail->set(modMail::MAIL_BODY,$bodytext);
$modx->mail->set(modMail::MAIL_FROM,$email);
$modx->mail->set(modMail::MAIL_FROM_NAME,$name);
$modx->mail->set(modMail::MAIL_SUBJECT,'Сайт: ....ru');
$modx->mail->address('to',$recepient);
$modx->mail->setHTML(true);
if (!$modx->mail->send()) {
return 'Не могу отправить сообщение: '.$modx->mail->mailer->ErrorInfo;
}
else {
$modx->mail->reset();
return ''; // успешно
}