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

Тема в разделе "PHP", создана пользователем irkmos, 21 май 2011.

Модераторы: latteo
  1. irkmos

    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']);
    $Resultutf8_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 fopenStatFileName"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();
    }
    .....
    Ничего не выходит.
     
  2. dandandan

    dandandan

    Регистр.:
    7 авг 2008
    Сообщения:
    975
    Симпатии:
    255
    А что пишет? Какую-нибудь ошибку?

    Из куска скрипта не хватает mysql_connect , mysql_select_db перед тем как делать запрос: $sel_an=mysql_query("$sql");.
     
  3. zzallexx

    zzallexx

    Регистр.:
    11 июн 2008
    Сообщения:
    1.036
    Симпатии:
    699
    irkmos вы в id запихиваете null ХЗ что там за таблица у вас конечно, но судя по тому что после запроса вы еще пытаетесь id получить последней вставленной строки там должен быть автоинкемент дак какже эта конструкция должна работать по вашему
    PHP:
    $sql "INSERT INTO stat (id, rez, ref, rhost) VALUES ('null', '$Result', '$Ref', '$RefHost')";