Суть вопроса в самом вопросе: необходимо в форму обратной связи (Ajax) добавить захват UTM-меток и соответственно сделать их передачу на mail. Я добавил, но почему-то на почту они не приходят. Вот мой код:
сама форма:
<form class="form-1" id="form-1">
<div class="border__frame">
<div class="heading">Отправьте <span>заявку на марс!</span></div>
<div class="description">И наш марсианский менеджер перезвонит вам
в ближйшее время.</div>
<input type="hidden" name="utm_source" value="<?php echo isset($_GET['utm_source']) ? $_GET['utm_source'] : '' ;?>">
<input type="hidden" name="utm_medium" value="<?php echo isset($_GET['utm_medium']) ? $_GET['utm_medium'] : '' ;?>">
<input type="hidden" name="utm_campaign" value="<?php echo isset($_GET['utm_campaign']) ? $_GET['utm_campaign'] : '' ;?>">
<input type="hidden" name="utm_term" value="<?php echo isset($_GET['utm_term']) ? $_GET['utm_term'] : '' ;?>">
<input type="hidden" name="utm_content" value="<?php echo isset($_GET['utm_content']) ? $_GET['utm_content'] : '' ;?>">
<input type="hidden" name="formid" value="с первого экрана Pop-up">
<input type="text" name="name" placeholder="Ваше имя" required>
<input class="index__phone" name="code" type="tel" maxlength="3" placeholder="123" required>
<input class="number__phone" name="tel" type="tel" placeholder="325-54-94" required>
<button class="btn-submit-mars" type="submit">Отправить заявку на марс</button>
</div>
</form>
обработчик PHP:
<?php
$recepient = "test@gmail.com";
$sitename = "Марсоход";
$formid = trim($_POST["formid"]);
$utm_source = trim($_POST["utm_source"]);
$utm_medium = trim($_POST["utm_medium"]);
$utm_campaign = trim($_POST["utm_campaign"]);
$utm_term = trim($_POST["utm_term"]);
$utm_content = trim($_POST["utm_content"]);
$name = trim($_POST["name"]);
$code = trim($_POST["code"]);
$tel = trim($_POST["tel"]);
$message = trim($_POST["message"]);
$message = "форма $formid \nИсточник перехода: $utm_source $utm_medium $utm_campaign $utm_term $utm_content \nИмя: $name \nТелефон: $code $tel \nВопрос: $message";
$pagetitle = "Новое сообщение с сайта \"$sitename\"";
mail($recepient, $pagetitle, $message, "Content-type: text/plain; charset=\"utf-8\"\n From: $recepient");
$("#form-1").validate({
rules:{
name:{
required: true,
minlength: 2
},
code: {
required: true,
digits: true,
minlength: 3,
maxlength: 3
},
tel:{
required:true,
minlength: 7,
maxlength: 9
}
},
messages:{
name:{
required:"Неверно заполнено поле :(",
minlength: "Минимальное кол-во символов 2"
},
code:{
required: "Введите код",
digits: "Обязательно цифры",
minlength: "3 символа"
},
tel:{
required:"Введите номер телефона :(",
minlength: "Необходимо 7 символов"
}
}
});
$("#form-1").submit(function() {
if ($("#form-1").valid()) {
var th = $(this);
$.ajax({
type: "POST",
url: "mail.php",
data: th.serialize()
}).done(function () {
$(".success").addClass("visible");
setTimeout(function () {
// Done Functions
th.trigger("reset");
$(".success").removeClass("visible");
}, 1000);
$('#form-1')[0].reset(
setTimeout(function () {}, 1000)
);
$("#form-1").hide();
$('.mfp-bg.mfp-ready').css({'display': 'none'});
$('#popUpMessage').removeClass('hiddenDiv');
setTimeout(function () {
$('#popUpMessage').addClass('hiddenDiv');
}, 5000);
});
}
return false;
});
в принципе ничего как будто сложного, но не работает. На форму приходит письмо: и там где Источник: .... Ключевое слово: ....
сама форма рабочая и проверена уже сотню раз.
Подскажите или покажите как правильно задать в форме эти метки, скажу честно google перерыл, примеры использовал - но толку никакого. Спасибо.