Наша Реклама
  • Страница 1 из 1
  • 1
Переходы
Сообщение добавлено: 19.11.2011 в 01:04 | Пост № 1
offline
Пользователь
Сообщений: 5
Награды: 0
» 0 «
Добрый вечер есть скрипт переходов от алсити с установкой на сторонем хостинге php все работает отлично,но один небольшой баг если в гугле искать на русском то кодировка идет в виде вопросительного знака ??????????? кто понимает php пожалуйста подправте скрипт
Code
<?php  

  /*  
   * У нас нашли! для CMS uCoz <img rel="usm" src="http://usite.su/uSite_sml/wink_mini.gif" border="0" align="absmiddle" alt=";)" />  
   * Все права на данный скрипт принадлежат сайту AllCity.Net.Ru ~ http://allcity.net.ru/  
   * Версия скрипта 1.2.2  
   */  

  // Переменные  
  $RefPage = urldecode($_REQUEST['page']); // Переменная запрос Referer  

  // Переводим в кодировку UTF-8  
  header('Content-Type: text/javascript; charset=utf-8');  

  // DB настройки  
  $DB_User = ''; // Логин БД  
  $DB_Name = ''; // Таблица  
  $DB_Pass = ''; // Пароль БД  
  $DB_Serv = 'localhost'; // Путь к серверу БД  
  $Max_Length = 0; // Обрезать слово? 0 = нет  
  $Limit = 7; // Сколько показывать результатов?  
  $uCoz_Doamin = ''; // Домен сайта на uCoz без www  

  // SQL Core  
  $SQLCon = mysql_connect($DB_Serv, $DB_User, $DB_Pass);  
  mysql_query('SET NAMES utf8');  
  mysql_query('SET CHARACTER SET utf8');  
  mysql_select_db($DB_Name, $SQLCon);  
  if(!$SQLCon)  
  {  
    die('Невозможно подключиться: '.mysql_error());  
  }  

  // Получение хоста  
  $URL_Parse = parse_url($RefPage);  

  // Список поисковиков  
  $EngiList = array(  
    'Google' => 'www.google.',  
    'Yandex' => 'http://yandex.',  
    'Rambler' => 'nova.rambler',  
    'Aport' => 'sm.aport.ru',  
    'Mail' => 'go.mail.ru',  
    'Nigma' => 'nigma.ru',  
    'yahoo' => 'search.yahoo.com',  
    '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 = 'query=';  
      break;  
      case 'Aport':  
        $Engine = 'Aport';  
        $SW = 'r=';  
        $RefPage = iconv('cp1251', 'utf-8', $RefPage); // fix с кодировкой!  
      break;  
      case 'Mail':  
        $Engine = 'Mail';  
        $SW = 'q=';  
        $RefPage = iconv('cp1251', 'utf-8', $RefPage); // fix с кодировкой!  
      break;  
      case 'Nigma':  
        $Engine = 'Nigma';  
        $SW = 's=';  
      break;  
      case 'yahoo':  
        $Engine = 'yahoo';  
        $SW = 'p=';  
      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())');  
    }  
  }  

  // Показываем список  
  $Result = mysql_query('SELECT url, title, engine, date FROM allcity_referer ORDER BY id DESC LIMIT '.$Limit);  
    if(!empty($Result))  
    {  
      // Start JS  
      echo 'var SerEngiData = \'';  
        $Empty = true;  
        while($row = mysql_fetch_array($Result))  
        {  
          $URL_Parse = parse_url($row['url']);  
          $Title = ($Max_Length != 0 && mb_strlen($row['title'], 'utf-8') >= $Max_Length + 3) ? mb_substr($row['title'], 0, $Max_Length, 'utf-8').'...' : $row['title'];  
          echo '<div class="RefRow"><img src="http://'.$_SERVER['SERVER_NAME'].'/refimg/'.mb_strtolower($row['engine']).'.gif" align="absmiddle" border="0" /> » <a href="'.$row['url'].'" title="'.$row['title']. date(' (d.m.Y | H:i:s)' ,$row['date']).'">'.$Title.'</a></div><break>';   
           $Empty = false;  
        }  
        if($Empty)  
        {  
          echo 'Нет данных...';  
        }  
      // END JS  
      echo '\';';  
    }  
      // Когда нет что показывать  
      else  
    {  
      echo 'var SerEngiData = \'Нет данных...\';';  
    }  

  // Закрываем соединение с БД  
  mysql_close($SQLCon);  

  ?>
Сообщение добавлено: 19.11.2011 в 01:33 | Пост № 2
offline
V.I.P
Слава полный уебан)))))
Сообщений: 12
Награды: 38
» 78 «
ynikod, где скрипт стоит, сайт под спойлер.

Сообщение добавлено: 19.11.2011 в 02:22 | Пост № 3
offline
Пользователь
Сообщений: 5
Награды: 0
» 0 «
и он не только от гугла,а со всех поисковиков,на английском все нормально,а вот если искать на русском то все
Сообщение добавлено: 19.11.2011 в 08:30 | Пост № 4
offline
V.I.P
Requiescat in pace... bastardo
Сообщений: 18
Награды: 3
» 49 «
Кодировка utf8 стоит попробуй поменять вот отрезок где надо

Quote

// SQL Core
$SQLCon = mysql_connect($DB_Serv, $DB_User, $DB_Pass);
mysql_query('SET NAMES utf8');
mysql_query('SET CHARACTER SET utf8');
mysql_select_db($DB_Name, $SQLCon);
if(!$SQLCon)
{
die('Невозможно подключиться: '.mysql_error());
}


Сообщение добавлено: 19.11.2011 в 22:22 | Пост № 5
offline
Пользователь
Сообщений: 5
Награды: 0
» 0 «
Fortune, без изменений
Сообщение добавлено: 27.11.2011 в 14:45 | Пост № 6
offline
V.I.P
Слава полный уебан)))))
Сообщений: 12
Награды: 38
» 78 «
ynikod, купи php, счастье будет :D

Сообщение добавлено: 02.12.2011 в 17:58 | Пост № 7
offline
V.I.P
Слава полный уебан)))))
Сообщений: 12
Награды: 38
» 78 «
Закрыто, спрашивай лучше у автора скрипта, тут php никто не знает!)

  • Страница 1 из 1
  • 1
Поиск: