[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Сохранение UTM метки в URL
Страницы: 1, 2
sheneman
Доброго времени суток! Подскажите пожалуйста, как сохранить метку с которой вошел пользователь на сайт, при переходе на другие страницы.
допустим пользователь вошел на сайт с меткой www.site.ru/?utm_content=test
На сайте он переходит на любую страницу и метка обрубается, как сделать что бы она сопровождала его на всех страницах?
inpost
sheneman
В сессию запиши, или в ссылки добавь.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
sheneman
А подскажите как реализовать запись в сессию? Может есть готовые примеры по конкретной задаче?
killer8080
Цитата (sheneman @ 23.04.2015 - 17:46)
как сохранить метку с которой вошел пользователь на сайт, при переходе на другие страницы.

достаточно в куки записать.
sheneman
killer8080,
inpost,
Как я понял записать метку в сессию можно таким образом:

<?
session_start() ;
$_SESSION['YandexDirect_UTM'] = $_GET['utm_content'];
?>

А как мне теперь эту метку при переходе на страницу подставить в URL?
Игорь_Vasinsky
$_SESSION['YandexDirect_UTM']


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
sheneman
Игорь_Vasinsky,
А как реализовать подстановку?
Видел такой образец, но он не работает у меня:

<?
session_start() ;
$_SESSION['YandexDirect_UTM'] = $_GET['utm_content'];
if (isset($_GET['utm_content'])) {
$_SESSION['utm_content'] = $_GET['utm_content'];
}
?>


А можно как-то записывать в сессию весь хвост после "site.ru/?*********" если не ошибаюсь данные после "?" можно получить при помощи $_SERVER['QUERY_STRING'];
Возможно записать в сессию $_SERVER['QUERY_STRING']; и при переходе по страницам везде в URL подставлять весь записанный хвост?

если можно то как? Спасайте) Спасибо!
Игорь_Vasinsky
Вот ты метку сохранил в сессию
<?php
session_start() ;
$_SESSION['YandexDirect_UTM'] = $_GET['utm_content'];
?>


Вот ты её используешь из сессии

<a href="<?=$_SESSION['YandexDirect_UTM']?>"><?=$_SESSION['YandexDirect_UTM']?></a>


Цитата
Возможно записать в сессию $_SERVER['QUERY_STRING']; и при переходе по страницам везде в URL


аналогично.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
sheneman
Игорь_Vasinsky, тоесть мне в каждый линк на сайте нужно добавить:
<?=$_SESSION['YandexDirect_UTM']?>

???
А нет возможности как-то автоматизировать эту подстановку?
поясню для чего это:

1. У меня установлен скрипт на сайте, который в зависимости от метки меняет контент. Когда пользователь переходит с одной страницы на другу, метка теряется и контент соотв. не подменяется.
2. Когда пользователь оставляет заявку, мне высылается письмо с контактными данными + весь URL ( $_SERVER['HTTP_REFERER'];) что бы понимать с какой страницы и с какой меткой был пользователь. Но если он перешел на другую страницу, я тереяю метку в заявке.
Игорь_Vasinsky
урл в коде сам не появится. у него нет такой привычки.
где укажешь - там и будет

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
sheneman
Игорь_Vasinsky
Спасибо! работает.
Скажи плиз, как правильно записать команду, что бы первым сиволом записанной информации был "?" .
Поясню, вот команда:
$_SESSION['YandexDirect_UTM'] = $_SERVER['QUERY_STRING'];


Она записывает весь шлак после "?" а сам "?" не записывает.
Как принудительно каждый раз записывать вместе со всем шлаком "?". Как правильно написать команду?
Игорь_Vasinsky
$_SESSION['YandexDirect_UTM'] = '/?'.$_SERVER['QUERY_STRING'];


это называется "конкатенация" - склейка строк.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
inpost
А зачем хранить в урле?

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
sheneman
inpost,
Что бы оставив заявку на любой странице, мне прилетал в письме URL с меткой, просто сейчас у меня обработчик собирает метку при помощи $_SERVER["HTTP_REFERER"].
Я до настоящего времени был не знаком с сессиями и куками - боялся туда лезть. Теперь я так понимаю, я могу в обработчик так же подгружать метку записанную в сессию.
Guest
Игорь_Vasinsky
Подскажи плиз, как запретить повторную запись параметра в сессию

<?
session_start();
$_SESSION['referer'] = $_SERVER['HTTP_REFERER'];
?>


Так как данные в $_SERVER['HTTP_REFERER']; есть всегда, метод

if (isset($_SERVER['HTTP_REFERER'])) {
$_SESSION['referer'] = $_SERVER['HTTP_REFERER'];

мне не подходит.

Мне нужно записать первоначальный источник, и что бы при переходе по страницам он не перезаписывался.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.