<MyRusakov.ru />

Фреймворк Yii 2.0 с нуля. Пример создания сайта

Фреймворк Yii 2.0 с нуля. Пример создания сайта

Видеокурс "Фреймворк Yii 2.0 с нуля. Пример создания сайта" обучит Вас созданию профессиональных сайтов с использованием фреймворка Yii. В курсе есть 2 раздела: теоретический и практический. В теоретическом разделе будут разобраны возможности фреймворка Yii с примерами их использования, а в практической части будет создан сайт Blog.MyRusakov.ru с помощью полученных знаний из теоретического раздела.

Так же почти ко всем урокам идут упражнения для закрепления материала из урока на практике.

После прохождения курса Вы без труда сможете создавать любые сайты с использованием фреймворка Yii, причём делать это будете быстро и качественно.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Форум сайта MyRusakov.ru

Как получить ключевое слово, по которому пользователь пришел на сайт
22.12.2013 16:36:33 Как получить ключевое слово, по которому пользователь пришел на сайт Сообщение #1
cadaver

cadaver

Новичок

Новичок

Дата регистрации:
22.12.2013 16:34:29

Сообщений: 2

Здравствуйте! Помогите, пожалуйста, с таким вопросом.

Необходимо выводить в заголовке страницы ключевую фразу, по которой пользователь пришел на сайт.

Вроде что-то и выводится, но в нечитабельном виде типа "sa=t&rct=j&".

Подскажите, что не так в коде?



<h1>
<?php
if ( ($referrer = getenv("HTTP_REFERER") != FALSE)
{
$parse_referrer = parse_url($referrer);
$host = $parse_referrer['host'];
$query = $parse_referrer['query'];
switch($host)
{
case preg_match('#yandex#', $host) ? true : false:
$key = preg_replace('#text\=(.*?)\&.*#', '$1', $query);
break;
case preg_match('#google#', $host) ? true : false:
$key = preg_replace('#q\=(.*?)\&.*#', '$1', $query);
break;
case preg_match('#rambler#', $host) ? true : false:
$key = preg_replace('#query\=(.*?)\&.*#', '$1', $query);
break;
case preg_match('#mail#', $host) ? true : false:
$key = preg_replace('#q\=(.*?)\&.*#', '$1', $query);
break;
default:
$key = FALSE;
}
if ($key != FALSE)
{
$key = urldecode($key);
echo $key; // показывам кей, по которому пришел юзер
}
}
else{echo "qwerty";}
?>

</h1>
Профиль Ответить
22.12.2013 16:45:27 Как получить ключевое слово, по которому пользователь пришел на сайт Сообщение #2
alexandrdante

alexandrdante

Модератор

Модератор

Дата регистрации:
15.11.2013 15:33:40

Сообщений: 207

ЭЭЭ...мне такое писать не приходилось,но вот у вас обработчик ссылки-запроса с которой перешёл пользователь
у Вас там регулярки какие-то странные,если честно.

Собственно он вытягивает параметр text из http_referer только тогда,когда текст есть


попробуйте как-то так:

$R=$_SERVER['HTTP_REFERER'];
$A=$_SERVER['REMOTE_ADDR'];
$U=$_SERVER['REQUEST_URI'];
$R=urldecode ($R);
$S=iconv('utf-8', 'windows-1251',$R );
echo "Ваш IP - ".$A."<br>";
echo "Страница входа - ".$U."<br>";
if (strpos($S, "yandex" != 0) {
preg_match('"text=(.*?)[^&]*"', $S, $arr);
echo "Вы пришли с Яндекса по запросу ".$arr[1];
}
elseif (strpos($S, "google" != 0) {
preg_match('/q=(.*)&/sei', $S, $arr);
echo "Вы пришли с Google по запросу ".$arr[1];
}
elseif (strpos($S, "rambler" != 0) {
preg_match('"query=(.*?)[^&]*"', $S, $arr);
echo "Вы пришли с Rambler по запросу ".$arr[1];
}
else {echo "Вы пришли с ".$R;}



Либо пробовать при помощи API метрик различных систем замутить,но это не очень удобно
Профиль Ответить
22.12.2013 23:12:36 Как получить ключевое слово, по которому пользователь пришел на сайт Сообщение #3
cadaver

cadaver

Новичок

Новичок

Дата регистрации:
22.12.2013 16:34:29

Сообщений: 2

Поменял свой код на код, предложенный вами. Теперь запрос выглядит так:

&esrc=s&source=web&cd=3&ved=0CE4QFjAC&url=http://ncity.by/&ei=A_q2UviHJIKctQbcwYD4CA&usg=AFQjCNG5YyeCKcwkKFXkiORIDzvvzyZhKQ

Непонятно, почему приходит в зашифрованном виде, функция urldecode же применяется
Профиль Ответить