Skip to content

Instantly share code, notes, and snippets.

@IvanofSA
Created May 29, 2016 18:32
Show Gist options
  • Save IvanofSA/09a5efa8c877fb5d13dd8053f898f260 to your computer and use it in GitHub Desktop.
Save IvanofSA/09a5efa8c877fb5d13dd8053f898f260 to your computer and use it in GitHub Desktop.
form(name="input" action="/submit/form" method="POST" class="sendForm")
<!-- - Hidden input send form-->
input(type="hidden" name="project_name" value="Название сайта")
input(type="hidden" name="admin_email" value="ТУТ ДОЛЖЕН БЫТЬ ВАША ПОЧТА НА КОТОРЫЕ БУДУТ ПРИХОДИТЬ ЗАЯВКИ!!")
input(type="hidden" name="form_subject" value="Заявка на лендинг")
<!-- - End Hidden input send form-->
input(type="text" name="Name" placeholder="Ваше имя" class="inp")
input(type="email" name="Email" placeholder="Ваша Email" class="inp")
input(type="tel" name="telephone" placeholder="Ваш телефон" class="inp inp__phone")
textarea(rows="5" cols="45" name="message" placeholder="Ваше сообщения" class="inp inp__area")
input(type="reset" value="Очистить" class="btn__clear")
input(type="submit" value="Отправить" class="btn__send")
var saleMe = (function () {
var init = function () {
_setUpListners();
// то, что должно произойти сразу
};
var _setUpListners = function () {
$('.sendForm').on('submit', _submitForm);
};
var _submitForm = function (ev) {
ev.preventDefault();
var form = $(this),
url = 'mail.php',
defObj = _ajaxForm(form, url);
};
var _ajaxForm = function (form, url) {
var popup = $('.popup');
if (!validation.validateForm(form)){
return false;
} else {
$.ajax({
type: "POST",
url: url, //Change
data: form.serialize()
}).done(function() {
$('.popup').css('background-color', '#7ee689');
setTimeout(function() {
// Done Functions
popup.css('background-color', '#fff');
form.trigger("reset");
}, 1000);
});
return true;
}
};
return {
init: init
};
})();
saleMe.init();
var validation = (function () {
var init = function () {
_setUpListners();
// то, что должно произойти сразу
};
var _setUpListners = function () {
//чистим поля от ошибок
$('form').on('keydown', '.has-error', _removeError);
$('form').on('reset', _clearForm);
};
var _removeError = function () {
$(this).removeClass('has-error');
$(this).find('.inp').removeClass('has-error');
};
var _clearForm = function (form) {
var form = $(this);
form.find('input, textarea').trigger('hideTooltip');
form.find('.has-error').removeClass('has-error');
};
var validateForm = function (form) {
var elements = form.find('input, textarea').not('input[type="file"], input[type="hidden"]'),
valid = true;
//пройдемся по всем эелемантам формы
$.each(elements, function (index, val) {
var element = $(val),
val = element.val(),
pos = element.attr('qtip-position');
if (val.length === 0) {
//красный фон
element.addClass('has-error');
// _createQtip(element, pos);
valid = false;
}
});
return valid;
};
return {
init: init,
validateForm: validateForm
};
})();
validation.init();
<?php
$method = $_SERVER['REQUEST_METHOD'];
//Script Foreach
$c = true;
if ( $method === 'POST' ) {
$project_name = trim($_POST["project_name"]);
$admin_email = trim($_POST["admin_email"]);
$form_subject = trim($_POST["form_subject"]);
foreach ( $_POST as $key => $value ) {
if ( $value != "" && $key != "project_name" && $key != "admin_email" && $key != "form_subject" ) {
$message .= "
" . ( ($c = !$c) ? '<tr>':'<tr style="background-color: #f8f8f8;">' ) . "
<td style='padding: 10px; border: #e9e9e9 1px solid;'><b>$key</b></td>
<td style='padding: 10px; border: #e9e9e9 1px solid;'>$value</td>
</tr>
";
}
}
} else if ( $method === 'GET' ) {
$project_name = trim($_GET["project_name"]);
$admin_email = trim($_GET["admin_email"]);
$form_subject = trim($_GET["form_subject"]);
foreach ( $_GET as $key => $value ) {
if ( $value != "" && $key != "project_name" && $key != "admin_email" && $key != "form_subject" ) {
$message .= "
" . ( ($c = !$c) ? '<tr>':'<tr style="background-color: #f8f8f8;">' ) . "
<td style='padding: 10px; border: #e9e9e9 1px solid;'><b>$key</b></td>
<td style='padding: 10px; border: #e9e9e9 1px solid;'>$value</td>
</tr>
";
}
}
}
$message = "<table style='width: 100%;'>$message</table>";
function adopt($text) {
return '=?UTF-8?B?'.base64_encode($text).'?=';
}
$headers = "MIME-Version: 1.0" . PHP_EOL .
"Content-Type: text/html; charset=utf-8" . PHP_EOL .
'From: '.adopt($project_name).' <'.$admin_email.'>' . PHP_EOL .
'Reply-To: '.$admin_email.'' . PHP_EOL;
mail($admin_email, adopt($form_subject), $message, $headers );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment