Помогите со cборщиком статистики поисковых запросов

irkmos

Создатель
Регистрация
7 Май 2007
Сообщения
48
Реакции
4
Имеется вот такой скрипт:
PHP:
<?php
$Domain = strtolower($_SERVER['SERVER_NAME']);
if (is_int(strpos($_SERVER['SERVER_NAME'], "www.", 0))) {
$Domain =  substr($_SERVER['SERVER_NAME'], 4);
}
define('StatFileName', "searchwords.txt");
function GetSearchText() {
$Result = '';
if (isset($_SERVER['HTTP_REFERER'])) {
$Ref= $_SERVER['HTTP_REFERER'];
if (!(empty($Ref))) {
$UrlArray = parse_url($Ref);
if ( $UrlArray['scheme'] == 'http' ) {
$RefHost = $UrlArray['host'];
$IsGoogle = strpos($RefHost, 'www.google.');
if (($RefHost == 'search.msn.com')  ||
( is_int($IsGoogle) && ($IsGoogle == 0) )) {
parse_str($UrlArray['query']);
$Result=utf8_win($q);
} elseif (($RefHost == 'images.google.')||($RefHost == 'video.google.')||($RefHost == 'news.google.')) {
parse_str($UrlArray['query']);
$Result= utf8_win($q);
} elseif (($RefHost == 'yandex.ru')||($RefHost == 'www.yandex.ru')||($RefHost == 'www.ya.ru')||($RefHost == 'ya.ru')||($RefHost == 'images.yandex.ru')||($RefHost == 'news.yandex.ru')||($RefHost == 'blogs.yandex.ru')||($RefHost == 'video.yandex.ru')) {
parse_str($UrlArray['query']);
$Result = utf8_win($text);
} elseif (($RefHost == 'nigma.ru')||($RefHost == 'www.nigma.ru')) {
parse_str($UrlArray['query']);
$Result = utf8_win($s);
} elseif (($RefHost == 'aport.ru')||($RefHost == 'sm.aport.ru')) {
parse_str($UrlArray['query']);
$Result = $r;
} elseif (($RefHost == 'pics.aport.ru')||($RefHost == 'audio.aport.ru')||($RefHost == 'video.aport.ru')) {
parse_str($UrlArray['query']);
$Result = utf8_win($r);
}}}}
if (!empty($Result))  {
$Result = '<a href="http://'.$_SERVER['SERVER_NAME'].$_SERVER[REQUEST_URI].'">'.$Result."</a> : <search><a href='http://li.ru/go?$Ref'><b>$RefHost</b></a></search><br /> \r\n";
}
return $Result;
}
$SearchText = GetSearchText();
echo $SearchText;
if (!empty($SearchText)) {
$fd = fopen( StatFileName, "a" );
fputs ($fd , "$SearchText\n");
fclose( $fd );
}
function utf8_win($s) {
$s=strtr($s,array("\xD0\xB0"=>"à", "\xD0\x90"=>"À", "\xD0\xB1"=>"á", "\xD0\x91"=>"Á",
"\xD0\xB2"=>"â", "\xD0\x92"=>"Â", "\xD0\xB3"=>"ã", "\xD0\x93"=>"Ã", "\xD0\xB4"=>"ä",
"\xD0\x94"=>"Ä", "\xD0\xB5"=>"å", "\xD0\x95"=>"Å", "\xD1\x91"=>"¸", "\xD0\x81"=>"¨",
"\xD0\xB6"=>"æ", "\xD0\x96"=>"Æ", "\xD0\xB7"=>"ç", "\xD0\x97"=>"Ç", "\xD0\xB8"=>"è",
"\xD0\x98"=>"È", "\xD0\xB9"=>"é", "\xD0\x99"=>"É", "\xD0\xBA"=>"ê", "\xD0\x9A"=>"Ê",
"\xD0\xBB"=>"ë", "\xD0\x9B"=>"Ë", "\xD0\xBC"=>"ì", "\xD0\x9C"=>"Ì", "\xD0\xBD"=>"í",
"\xD0\x9D"=>"Í", "\xD0\xBE"=>"î", "\xD0\x9E"=>"Î", "\xD0\xBF"=>"ï", "\xD0\x9F"=>"Ï",
"\xD1\x80"=>"ð", "\xD0\xA0"=>"Ð", "\xD1\x81"=>"ñ", "\xD0\xA1"=>"Ñ", "\xD1\x82"=>"ò",
"\xD0\xA2"=>"Ò", "\xD1\x83"=>"ó", "\xD0\xA3"=>"Ó", "\xD1\x84"=>"ô", "\xD0\xA4"=>"Ô",
"\xD1\x85"=>"õ", "\xD0\xA5"=>"Õ", "\xD1\x86"=>"ö", "\xD0\xA6"=>"Ö", "\xD1\x87"=>"÷",
"\xD0\xA7"=>"×", "\xD1\x88"=>"ø", "\xD0\xA8"=>"Ø", "\xD1\x89"=>"ù", "\xD0\xA9"=>"Ù",
"\xD1\x8A"=>"ú", "\xD0\xAA"=>"Ú", "\xD1\x8B"=>"û", "\xD0\xAB"=>"Û", "\xD1\x8C"=>"ü",
"\xD0\xAC"=>"Ü", "\xD1\x8D"=>"ý", "\xD0\xAD"=>"Ý", "\xD1\x8E"=>"þ", "\xD0\xAE"=>"Þ",
"\xD1\x8F"=>"ÿ", "\xD0\xAF"=>"ß"));
return $s;
}
?>
Подскажите как сделать, чтобы результат сохранялся в SQL.
Пробую так:
....
PHP:
if (!empty($Result))  {
$Result = '<a href="http://'.$_SERVER['SERVER_NAME'].$_SERVER[REQUEST_URI].'">'.$Result."</a> : <search><a href='$Ref'><b>$RefHost</b></a></search><br /> \r\n";
}
return $Result;
}
$SearchText = GetSearchText();
echo $SearchText;
if (!empty($SearchText)) {
include "config.php";
$sql = "INSERT INTO stat (id, rez, ref, rhost) VALUES ('null', '$Result', '$Ref', '$RefHost')";
$sel_an=mysql_query("$sql");
$ref_id=mysql_insert_id();
}
.....
Ничего не выходит.
 
А что пишет? Какую-нибудь ошибку?

Из куска скрипта не хватает mysql_connect , mysql_select_db перед тем как делать запрос: $sel_an=mysql_query("$sql");.
 
irkmos вы в id запихиваете null ХЗ что там за таблица у вас конечно, но судя по тому что после запроса вы еще пытаетесь id получить последней вставленной строки там должен быть автоинкемент дак какже эта конструкция должна работать по вашему
PHP:
$sql = "INSERT INTO stat (id, rez, ref, rhost) VALUES ('null', '$Result', '$Ref', '$RefHost')";
 
Назад
Сверху