Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: поясните $_SERVER['HTTP_CLIENT_IP'] [2]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): « 1 [2]   

> Без описания
Budulianin
Отправлено: 11 Мая, 2011 - 11:33:18
Post Id



Частый гость


Покинул форум
Сообщений всего: 132
Дата рег-ции: Окт. 2010  


Помог: 0 раз(а)




Блин никто не знает что такое $_SERVER['HTTP_CLIENT_IP'] =(
 
 Top
EuGen Администратор
Отправлено: 11 Мая, 2011 - 11:57:37
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




http://ru.php.net/manual/en/rese...ables.server.php
Так что, скорее всего, Ваш скрипт это где-либо определяет.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
armancho7777777 Супермодератор
Отправлено: 12 Мая, 2011 - 01:20:32
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




(Добавление)
Budulianin
Для того чтобы добраться до реального адреса посетителя, нужно сначала попытаться считать значения $_SERVER['HTTP_CLIENT_IP'], а затем в случае неудачи $_SERVER['HTTP_X_FORWARDED_FOR']. А уж потом, если ip считать не удалось, то считываем наше заветное SERVER['REMOTE_ADDR']. Все это реализовано в той функции, которую я скинул на первой странице.
А вот Вам функция для определения города)
PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. function geo_info($ip)
  4.  {
  5.   $xml = '<ipquery><fields><city/></fields><ip-list>'
  6.     . '<ip>'.$ip.'</ip></ip-list></ipquery>';
  7.   $ch = curl_init('http://194.85.91.253:8090/geo/geo.html');
  8.   curl_setopt($ch, CURLOPT_HEADER, false);
  9.   curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  10.   curl_setopt($ch, CURLOPT_POST, true);
  11.   curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
  12.   $result = curl_exec($ch);
  13.   if(curl_errno($ch) != 0)
  14.    die('curl_errno('.curl_errno($ch).'), curl_error('.curl_error($ch).')');
  15.   curl_close($ch);
  16.   if (strpos($result, '<message>Not found</message>') !== false)
  17.    return false;
  18.  preg_match('/<city>(.*)<\/city>/', $result, $city);
  19.   return $city[1];
  20.  }
  21.  
  22. $city = geo_info($_SERVER['REMOTE_ADDR']);
  23.  
  24. echo $city;
  25.  
  26.  

(Отредактировано автором: 12 Мая, 2011 - 19:30:10)

 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с сетью »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB