Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: PowerCounter, проблема с IP
 
 автор: Konan   (06.02.2007 в 18:21)   письмо автору
 
 

Дело собственно вот в чем, поставил я Ваш замечательный счетчик, но вот он почему то у IP адресов не определяет город и регион. Вот прикрепляю скрин, что бы было более понятно. Просто интересно, так и должно быть, или только у меня такая проблема?

P.S. За счетчик разработчикам огромное спасибо :)

   
 
 автор: Loki   (06.02.2007 в 20:46)   письмо автору
 
   для: Konan   (06.02.2007 в 18:21)
 

добавьте в config.php

mysql_query("SET NAMES 'cp1251'");

   
 
 автор: Konan   (06.02.2007 в 23:00)   письмо автору
 
   для: Loki   (06.02.2007 в 20:46)
 

Попробовал, но результата никакого, только кучу ошибок выводит:


Warning: mysql_query(): Access denied for user 'root'@'localhost' (using password: NO) in /home/creostu8/public_html/konan_counter/config.php on line 31

Warning: mysql_query(): A link to the server could not be established in /home/creostu8/public_html/konan_counter/config.php on line 31

   
 
 автор: cheops   (07.02.2007 в 02:06)   письмо автору
 
   для: Konan   (06.02.2007 в 23:00)
 

В 31 строке что находится?

   
 
 автор: Konan   (07.02.2007 в 02:23)   письмо автору
 
   для: cheops   (07.02.2007 в 02:06)
 

В 31 строке находился mysql_query("SET NAMES 'cp1251'");

Пробовал ставить в другие строки, тоже самое

   
 
 автор: Loki   (07.02.2007 в 11:02)   письмо автору
 
   для: Konan   (06.02.2007 в 23:00)
 

ее надо вставить после подклчения к БД

   
 
 автор: куч1963   (07.02.2007 в 13:14)   письмо автору
 
   для: Loki   (07.02.2007 в 11:02)
 

Вот скрипт, мне его когда-то Хеопс давал.
Только когда загоняеш дамп, нужно смотреть, чтобы в тексте дампа не было знака ";" - ошибку выдает.
А так все залетает аж бегом. Данные для подключения и название файла с дампом пропишешь сам.

<?php
    $dblocation 
"localhost"//имя хоста
    
$dbname "";// имя базы
    
$dbuser ""// login
    
$dbpasswd ""//пароль к базе
$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);
if (!
$dbcnx)   
{
  exit( 
"<P>В настоящий момент сервер базы данных не доступен,
  поэтому корректное отображение страницы невозможно.</P>" 
);
}
if (! @
mysql_select_db($dbname,$dbcnx) )
{
  exit( 
"<P>В настоящий момент база данных не доступна,
  поэтому корректное отображение страницы невозможно.</P>" 
);
}
  
// Определяем версию сервера
  
$query "SELECT VERSION()";
  
$ver mysql_query($query);
  if(!
$ver) exit("Ошибка при определении версии MySQL-сервера");
  
$version mysql_result($ver0);
  list(
$major$minor) = explode("."$version);
  
// Если версия выше 4.1 сообщаем серверу, что будем работать с
  // кодировкой cp1251
  
$ver $major.".".$minor;
  if((float)
$ver >= 4.1)
  {
    
mysql_query("SET NAMES 'cp1251'");
  }
// имя файла с дампом базы данных
$filename "моя база.SQL"
// открываем его и читаем в буфер
$fp fopen($filename"r");
$bufer fread($fp,filesize($filename));
fclose($fp);
// Разбиваем содержимое файла по точке с запятой
$quer explode(";"$bufer);
foreach(
$quer as $query)
{
  if(!
mysql_query($query)) exit(mysql_error());
}
?>

   
 
 автор: cheops   (07.02.2007 в 13:54)   письмо автору
 
   для: куч1963   (07.02.2007 в 13:14)
 

Вот этот блок
<?php
  
// Определяем версию сервера 
  
$query "SELECT VERSION()"
  
$ver mysql_query($query); 
  if(!
$ver) exit("Ошибка при определении версии MySQL-сервера"); 
  
$version mysql_result($ver0); 
  list(
$major$minor) = explode("."$version); 
  
// Если версия выше 4.1 сообщаем серверу, что будем работать с 
  // кодировкой cp1251 
  
$ver $major.".".$minor
  if((float)
$ver >= 4.1
  { 
    
mysql_query("SET NAMES 'cp1251'"); 
  }
?>

лучше заменить
<?php
    
@mysql_query("SET NAMES 'cp1251'"); 

   
 
 автор: bronenos   (07.02.2007 в 16:53)   письмо автору
 
   для: cheops   (07.02.2007 в 13:54)
 

Я тут просматривал счетчик изнутри...
Может я и ошибаюсь, но по-моему, IP адрес передается не в HTTP_CLIENTIP а в HTTP_CLIENT_IP...

   
 
 автор: куч1963   (08.02.2007 в 04:45)   письмо автору
 
   для: bronenos   (07.02.2007 в 16:53)
 

У него на скине, вывод идет вопросительными знаками.
Это скорее бьется дамп базы при загрузке.
Сколько раз уже задавался на форуме этот вопрос, по поводу кракозябл и т.д.
Хеопс уже устал отвечать - вводите

mysql_query("SET NAMES 'cp1251'"); 

Но не понимают люди , что ввести это нужно непосредственно перед ЗАГРУЗКОЙ!!! SQL файла.
Если его прописать в config.fail - толку не будет, ведь соединение через config.fail проходит после создания базы, а она уже бита.
Точно также поступать надо и при создании через php_myadmin.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования