И так выполняем SQL запрос :
Код: Выделить всё
CREATE TABLE IF NOT EXISTS `allcity_referer` (
`id` int(11) NOT NULL auto_increment,
`url` varchar(255) NOT NULL default '',
`title` varchar(255) NOT NULL default '',
`engine` varchar(255) NOT NULL default '',
`date` varchar(20) default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
Код: Выделить всё
<script type="text/javascript">
$.getScript('http://example.com/ref.php?page='+encodeURIComponent(document.referrer), function(){$('div#SerEngiDIV').html(SerEngiData)});
</script>
Там где http://example.com/ замените на свой url сайта.
Стиль :
Код: Выделить всё
.RefRow {padding: 1px;}
Код: Выделить всё
$DB_User ='пользователь'; // Логин БД
$DB_Name ='база данных'; // База
$DB_Pass ='пароль'; // Пароль БД
$DB_Serv = 'localhost'; // Путь к серверу БД
$Max_Length = 30; // Обрезать слово? 0 = нет
$Limit = 10; // Сколько показывать результатов?
$uCoz_Doamin ='example.com'; // Домен сайта на uCoz без www
Код: Выделить всё
<?php
/*
* У нас нашли! для CMS uCoz ;)
* Все права на данный скрипт принадлежат сайту AllCity.Net.Ru ~ http://allcity.net.ru/
* Версия скрипта 1.2.0
*/
// Переменные
$RefPage = urldecode($_REQUEST['page']); // Переменная запрос Referer
// DB настройки
$DB_User =''; // Логин БД
$DB_Name =''; // Таблица
$DB_Pass =''; // Пароль БД
$DB_Serv = 'localhost'; // Путь к серверу БД
$Max_Length = 30; // Обрезать слово? 0 = нет
$Limit = 10; // Сколько показывать результатов?
$uCoz_Doamin ='example.com'; // Домен сайта на uCoz без www
// SQL Core
$SQLCon = mysql_connect($DB_Serv, $DB_User, $DB_Pass);
mysql_query('SET NAMES utf8');
mysql_select_db($DB_Name, $SQLCon);
if(!$SQLCon)
{
die('Невозможно подключиться: '.mysql_error());
}
// Получение хоста
$URL_Parse = parse_url($RefPage);
// Список поисковиков
$EngiList = array(
'Google' => 'google.',
'Yandex' => 'yandex.',
'Rambler' => 'rambler.ru',
'Aport' => 'aport.ru',
'Mail' => 'go.mail.ru',
'Nigma' => 'nigma.ru',
'Unknown' => true
);
// Сравнение
foreach($EngiList as $CurrEngi=>$Match)
{
if(eregi($Match, $RefPage))
{
break;
}
}
// Для тех кто страдает фигней!
$SiteReferer = $_SERVER['HTTP_REFERER'];
$SiteDomain = parse_url($SiteReferer);
$SiteDomain = str_replace('www.', '', $SiteDomain);
// Проверка
if($uCoz_Doamin != $URL_Parse['host'] && $CurrEngi != 'Unknown' && $SiteDomain['host'] == $uCoz_Doamin)
{
// Получение запроса поиска
switch($CurrEngi)
{
case 'Yandex':
$Engine = 'Yandex';
$SW = 'text=';
break;
case 'Rambler':
$Engine = 'Rambler';
$SW = 'words=';
break;
case 'Aport':
$Engine = 'Aport';
$SW = 'r=';
break;
case 'Mail':
$Engine = 'Mail';
$SW = 'q=';
break;
case 'Nigma':
$Engine = 'Nigma';
$SW = 's=';
break;
case 'Google':
default:
$Engine = 'Google';
$SW = 'q=';
break;
}
// Получение запроса и запись в БД
$Title = $RefPage;
eregi($SW.'([^&]*)', $Title.'&', $Title);
if(!empty($Title))
{
mysql_query('INSERT INTO allcity_referer (url, title, engine, date) VALUES ("'.htmlspecialchars($RefPage, ENT_QUOTES).'", "'.htmlspecialchars($Title[1], ENT_QUOTES).'", "'.htmlspecialchars($Engine, ENT_QUOTES).'", UNIX_TIMESTAMP())');
}
}
// Закрываем соединение с БД
mysql_close($SQLCon);
?>
v-ref.php
Код: Выделить всё
<?
include "bd.php";
$result = mysql_query ("SELECT * FROM allcity_referer ORDER BY `id` DESC",$db);
if (mysql_num_rows($result) > 0)
{
$myrow = mysql_fetch_array($result);
do
{
$URL_Parse = parse_url($myrow['url']);
$Title = ($Max_Length != 0 && strlen($myrow['title']) >= $Max_Length + 3) ? substr($myrow['title'], 0, $Max_Length).'...' : $myrow['title'];
echo '<div class="RefRow"><img src="http://'.$_SERVER['SERVER_NAME'].'/refimg/'.mb_strtolower($myrow['engine']).'.gif" align="absmiddle" border="0" /> <a href="http://'.$URL_Parse['host'].'/" title="'.date('d.m.Y, H:i:s' ,$myrow['date']).'">'.$myrow['engine'].'</a>: <a href="'.$myrow['url'].'" title="'.$myrow['title'].'">'.$Title.'</a></div>';
$Empty = false;
}
while ($myrow = mysql_fetch_array($result));
}
?>
Код: Выделить всё
<?php include "v-ref.php" ?>
-- добавлено 18 авг 2010, 12:08 --
Сейчас с Woin обсуждали этот скрипт и он посоветовал сделать лимит вывода , я забыл про него совсем берём строку из v-ref.php
Код: Выделить всё
$result = mysql_query ("SELECT * FROM allcity_referer ORDER BY `id` DESC",$db);
Код: Выделить всё
$result = mysql_query ("SELECT * FROM allcity_referer ORDER BY `id` DESC LIMIT 10",$db);