<MyRusakov.ru />

Создание движка на PHP и MySQL 2.0

Создание движка на PHP и MySQL 2.0

Видеокурс "Создание движка на PHP и MySQL 2.0" научит Вас создавать профессиональные движки для сайтов на PHP и MySQL с использованием ООП и паттерна MVC.

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

В практической части будет создан движок с чистого листа. Будет создано ядро, все адаптеры, все вспомогательные классы, а также классы для работы с объектами базы данных. И чтобы курс был максимально полезным, будет создан движок для сайта MyRusakov.ru.

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

Подписавшись по 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 же применяется
Профиль Ответить