Передача utm-меток через в input через js + валидация номера телефона с автоопределением страны пользователя

Передача utm-меток через в input через js + валидация номера телефона с автоопределением страны пользователя

Передача utm-меток через в input через js + валидация номера телефона с автоопределением страны пользователя написано на php+js+html.

Скрипт для определение и вставки в input utm-меток:

                       <script>
                           window.onload = function() {
    // Parse the URL
    function getParameterByName(name) {
        var name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
        var regex = new RegExp("[\\?&]" + name + "=([^&#]*)");
        var results = regex.exec(location.search);
        return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
    }
    // Give the URL parameters variable names
    var source = getParameterByName('utm_source');
    var medium = getParameterByName('utm_medium');
    var campaign = getParameterByName('utm_campaign');

    // Put the variable names into the hidden fields in the form.
    document.getElementById("property_utm_source").value = source;
    document.getElementById("property_utm_medium").value = medium;
    document.getElementById("property_utm_campaign").value = campaign;

    //U Can use it with Expertsender Forms
  }
</script>

Следовательно будет ссылка:

https://demo.uncos.zp.ua/file/form-integration/test/index.php?utm_source=test1&utm_medium=test2&utm_campaign=test3

Автоопределение страны пользователя и других гео-данных благодаря сервису: ipinfo.io

Демо: demo.uncos.zp.ua/file/form-integration/test

Скачать: demo.uncos.zp.ua/file/form-integration/peredacha-utm-metok-cherez-v-input-cherez-js--validaciya-nomera-telefona-s-avtoopredeleniem-strany-polzovatelya-3.zip

Простой php-обработчик писем

<title>Сообщение успешно отправлено</title>
<?php
/*** Функция проверки переменных, введенных в форму. Если таких нет, то они создаются.
   Если формой были переданы пустые значения, то функция их удаляет ***/
if (isset($_POST['MayakSend'])){
if (isset($_POST['from_whom'])) {$from_whom = $_POST['from_whom']; if ($from_whom == '') {unset($from_whom);}}
if (isset($_POST['postal_address'])) {$postal_address = $_POST['postal_address']; if ($postal_address == '') {unset($postal_address);}}
if (isset($_POST['topic'])) {$topic = $_POST['topic']; if ($topic == '') {unset($topic);}}
if (isset($_POST['the_message'])) {$the_message = $_POST['the_message']; if ($the_message == '') {unset($the_message);}}

/*** Сбор дополнительной информации об отправителе сообщения ***/
$date=date("d.m.Y"); // число.месяц.год
$time=date("H:i"); // часы:минуты:секунды

/*** Функция проверки заполнения полей ***/
if (isset($from_whom) && isset($postal_address) && isset($topic) && isset($the_message))
{

/*** Данная функция удаляет все пробелы и преобразует HTML теги в символы ***/
$from_whom = htmlspecialchars(trim($from_whom));
$postal_address = htmlspecialchars(trim($postal_address));
$topic = htmlspecialchars(trim($topic));
$the_message = htmlspecialchars(trim($the_message));

/*** Формирование сообщения ***/
$address = "Ваш email-адрес"; // Сюда вписываем свой е-mail!!!!
$sub = "Сообщение с блога";
$message = "Автор назвался: $from_whom \nОставил такой E-mail: $postal_address \nIP автора: \nБраузер отправителя: \nДата отправки: $date \nВремя отправки:$time \nIP адрес отправителя:\nСообщение на тему: $topic \nТекст сообщения: \n $the_message";

/*** Отправка сообщения ***/
$verify = mail ($address,$sub,$message,"Content-type:text/plain; charset = UTF-8\r\nFrom:$from_whom");
      if ($verify == true)
    {
       echo "<body bgcolor='609df9'>
<div style='margin-top: 30px'><table border='1' width='450' align='center' cellpadding='20' cellspacing='6' bgcolor='white'>
<tr>
<td>
<div style='margin'><div align='center'>Ваше сообщение успешно отправлено! <p>Вернуться на <a href='URL Вашего сайта'><font size='+1'>Название Вашего сайта</font></a></div>
<img src='http://img-fotki.yandex.ru/get/6408/135756646.0/0_636aa_9c2e9632_L.jpg'>
<p><div align='center'>Я обязательно прочту Ваше сообщение, и постараюсь ответить как можно быстрей!</div>
<p><div align='right'><i><b>C уважением, Ваше Имя</b></i></div>
</tr>
</td>
</table></div>";
      }
      else
      {
      echo "Сообщение не отправлено!";
      }
      }
     else
{
echo "Вы заполнили не все поля!";
}
}
?>