HTML код:
<form action="form/sender.php" method="POST">
<input type="hidden" name="TITLE" value="DANI. Заказ комплектующих" style="width: 75%;">
<input type="hidden" name="UF_CRM_1464947673" value="426">
<input type="hidden" name="SOURCE_ID" value="11">
<input type="hidden" name="ASSIGNED_BY_NAME" value="2135">
<input class="name" name="name" type="text" required placeholder="Имя">
<input class="phone" name="phone" type="text" required placeholder="Телефон">
<input type="hidden" name="utm_campaign" value="<?php echo isset($_GET['utm_campaign']) ? $_GET['utm_campaign'] : '' ;?>" />
<input type="hidden" name="utm_medium" value="<?php echo isset($_GET['utm_medium']) ? $_GET['utm_medium'] : '' ;?>" />
<input type="hidden" name="utm_source" value="<?php echo isset($_GET['utm_source']) ? $_GET['utm_source'] : '' ;?>" />
<input type="hidden" name="utm_content" value="<?php echo isset($_GET['utm_content']) ? $_GET['utm_content'] : '' ;?>" />
<input type="hidden" name="utm_term" value="<?php echo isset($_GET['utm_term']) ? $_GET['utm_term'] : '' ;?>" />
<button type="submit">ОТПРАВИТЬ</button>
<div style="font-size: 9px;margin-top: -20px;color: #636363;">
<input type="checkbox" name="tandc" id="tandc" value="true" style="display: inline-block;vertical-align: top;margin-top: 0px;margin-right: 10px;width: 13px !important;" checked required><label for="tandc" style="display: inline-block; width: 90%;">Нажимая кнопку «Заказать звонок», я даю свое согласие на обработку моих персональных данных, в соответствии с Федеральным законом от 27.07.2006 года №152-ФЗ «О персональных данных», на условиях и для целей, определенных в Согласии на обработку персональных данных</label>
</div>
</form>
Обработчик:
$utm_source = trim($_POST["utm_source"]);
Прописываю print_r($_POST)
.
Почему массив с UTM-метками пустой?
UTM метки нужны чтобы отслеживать рекламную компанию по которой пришел пользователь. В вашем случае они берутся из GET, но что если посетитель пришел по ссылке из рекламе и прежде чем отправить форму - решил "побродить" по сайту? В таком случае метки уже будут утеряны.
Для того чтобы избежать этого, вам нужно на всех страницах сайта проверять - указаны ли UTM метки в адресной строке и если указаны - запоминать их, т.е.:
if (isset($_REQUEST['utm_source']) || isset($_REQUEST['utm_campaign'])){
unset($_SESSION['utm']);
$_SESSION['utm']['utm_source'] = $_REQUEST['utm_source'];
$_SESSION['utm']['utm_campaign'] = $_REQUEST['utm_campaign'];
$_SESSION['utm']['utm_medium'] = $_REQUEST['utm_medium'];
$_SESSION['utm']['utm_term'] = $_REQUEST['utm_term'];
$_SESSION['utm']['utm_content'] = $_REQUEST['utm_content'];
}
В таком случае у вас они будут сохраняться в сессиях (можете переделать под cookie, т.к. у вас метка cookie стоит). И тогда вам не нужно будет передавать их в форме - достаточно просто "вытянуть" необходимые значения из сессии при обработке отправленной формы. Например, вот так:
if (isset($_SESSION['utm'])){
foreach ($_SESSION['utm'] as $name => $value){
$queryData[$name] = $value;
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть таблица отпусков, там есть поле видПо виду отпуска я вытаскиваю все данные
Как правильно делать связи таблиц и создавать автоматически строку во второй таблице с id первой таблицы