скрипт вывода на страницу города откуда пользователь

Тема в разделе "PHP", создана пользователем Sanyh, 3 мар 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Sanyh

    Sanyh

    Регистр.:
    20 сен 2006
    Сообщения:
    280
    Симпатии:
    13
    Существует ли скрипт который выводит имя города откуда зашел посититель?
    и как его интегрировать на страницу?
     
  2. KitKet

    KitKet Постоялец

    Регистр.:
    16 ноя 2008
    Сообщения:
    50
    Симпатии:
    14
    Готового скрипта не нашел, но вот модуль есть
    http://www.maxmind.com/app/php
    И здесь какие-то программы
    http://ipgeobase.ru/cgi-bin/Software.cgi
     
  3. Sanyh

    Sanyh

    Регистр.:
    20 сен 2006
    Сообщения:
    280
    Симпатии:
    13
    более готового варианта нету?
     
  4. KitKet

    KitKet Постоялец

    Регистр.:
    16 ноя 2008
    Сообщения:
    50
    Симпатии:
    14
    Увы я не нашел, но может он тут и есть на форуме. Я так понимаю помимо скрипта должна быть еще база данных IP по которой скрипт бы сверял получаемый IP от клиента и сверял какому городу принадлежит
     
  5. G.AD

    G.AD Писатель

    Регистр.:
    27 июн 2007
    Сообщения:
    2
    Симпатии:
    1
    тут полно примеров с использованием
    google.com/codesearch
     
  6. polyetilen

    polyetilen Заблокирован

    Регистр.:
    10 авг 2006
    Сообщения:
    814
    Симпатии:
    474
  7. nuke333

    nuke333 Создатель

    Регистр.:
    8 дек 2008
    Сообщения:
    47
    Симпатии:
    12
    предполагаю, что все вкурсе, но вдруг...
    вместо "213.197.165.50" лучше подставить getIP()
    PHP:
    function getIP() {
      if (isset(
    $_SERVER['HTTP_X_FORWARDED_FOR'])) 
        
    $ip $_SERVER['HTTP_X_FORWARDED_FOR'];
      else 
        if (isset(
    $_SERVER['REMOTE_ADDR'])) 
          
    $ip $_SERVER['REMOTE_ADDR'];
        else 
          
    $ip false;
      return 
    $ip;
    }
     
  8. alexz15

    alexz15

    Регистр.:
    3 окт 2008
    Сообщения:
    394
    Симпатии:
    189
    где-то с php.net взял:
    PHP:
    <?php
    /* Этот файл предназначен для определения IP - адреса */
    function getIp(){
    global 
    $REMOTE_ADDR;
    global 
    $HTTP_X_FORWARDED_FOR$HTTP_X_FORWARDED$HTTP_FORWARDED_FOR$HTTP_FORWARDED;
    global 
    $HTTP_VIA$HTTP_X_COMING_FROM$HTTP_COMING_FROM;
    global 
    $HTTP_SERVER_VARS$HTTP_ENV_VARS;

    // Get some server/environment variables values
    if (empty($REMOTE_ADDR)) {
    if (!empty(
    $_SERVER) && isset($_SERVER['REMOTE_ADDR'])) {
    $REMOTE_ADDR $_SERVER['REMOTE_ADDR'];}
    else if (!empty(
    $_ENV) && isset($_ENV['REMOTE_ADDR'])) {
    $REMOTE_ADDR $_ENV['REMOTE_ADDR'];}
    else if (!empty(
    $HTTP_SERVER_VARS) && isset($HTTP_SERVER_VARS['REMOTE_ADDR'])) {
    $REMOTE_ADDR $HTTP_SERVER_VARS['REMOTE_ADDR'];}
    else if (!empty(
    $HTTP_ENV_VARS) && isset($HTTP_ENV_VARS['REMOTE_ADDR'])) {
    $REMOTE_ADDR $HTTP_ENV_VARS['REMOTE_ADDR'];}
    else if (@
    getenv('REMOTE_ADDR')) {
    $REMOTE_ADDR getenv('REMOTE_ADDR');}
    // end if
    if (empty($HTTP_X_FORWARDED_FOR)) {
    if (!empty(
    $_SERVER) && isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
    $HTTP_X_FORWARDED_FOR $_SERVER['HTTP_X_FORWARDED_FOR'];}
    else if (!empty(
    $_ENV) && isset($_ENV['HTTP_X_FORWARDED_FOR'])) {
    $HTTP_X_FORWARDED_FOR $_ENV['HTTP_X_FORWARDED_FOR'];}
    else if (!empty(
    $HTTP_SERVER_VARS) && isset($HTTP_SERVER_VARS['HTTP_X_FORWARDED_FOR'])) {
    $HTTP_X_FORWARDED_FOR $HTTP_SERVER_VARS['HTTP_X_FORWARDED_FOR'];}
    else if (!empty(
    $HTTP_ENV_VARS) && isset($HTTP_ENV_VARS['HTTP_X_FORWARDED_FOR'])) {
    $HTTP_X_FORWARDED_FOR $HTTP_ENV_VARS['HTTP_X_FORWARDED_FOR'];}
    else if (@
    getenv('HTTP_X_FORWARDED_FOR')) {
    $HTTP_X_FORWARDED_FOR getenv('HTTP_X_FORWARDED_FOR');}
    // end if
    if (empty($HTTP_X_FORWARDED)) {
    if (!empty(
    $_SERVER) && isset($_SERVER['HTTP_X_FORWARDED'])) {
    $HTTP_X_FORWARDED $_SERVER['HTTP_X_FORWARDED'];}
    else if (!empty(
    $_ENV) && isset($_ENV['HTTP_X_FORWARDED'])) {
    $HTTP_X_FORWARDED $_ENV['HTTP_X_FORWARDED'];}
    else if (!empty(
    $HTTP_SERVER_VARS) && isset($HTTP_SERVER_VARS['HTTP_X_FORWARDED'])) {
    $HTTP_X_FORWARDED $HTTP_SERVER_VARS['HTTP_X_FORWARDED'];}
    else if (!empty(
    $HTTP_ENV_VARS) && isset($HTTP_ENV_VARS['HTTP_X_FORWARDED'])) {
    $HTTP_X_FORWARDED $HTTP_ENV_VARS['HTTP_X_FORWARDED'];}
    else if (@
    getenv('HTTP_X_FORWARDED')) {
    $HTTP_X_FORWARDED getenv('HTTP_X_FORWARDED');}
    // end if
    if (empty($HTTP_FORWARDED_FOR)) {
    if (!empty(
    $_SERVER) && isset($_SERVER['HTTP_FORWARDED_FOR'])) {
    $HTTP_FORWARDED_FOR $_SERVER['HTTP_FORWARDED_FOR'];}
    else if (!empty(
    $_ENV) && isset($_ENV['HTTP_FORWARDED_FOR'])) {
    $HTTP_FORWARDED_FOR $_ENV['HTTP_FORWARDED_FOR'];}
    else if (!empty(
    $HTTP_SERVER_VARS) && isset($HTTP_SERVER_VARS['HTTP_FORWARDED_FOR'])) {
    $HTTP_FORWARDED_FOR $HTTP_SERVER_VARS['HTTP_FORWARDED_FOR'];}
    else if (!empty(
    $HTTP_ENV_VARS) && isset($HTTP_ENV_VARS['HTTP_FORWARDED_FOR'])) {
    $HTTP_FORWARDED_FOR $HTTP_ENV_VARS['HTTP_FORWARDED_FOR'];}
    else if (@
    getenv('HTTP_FORWARDED_FOR')) {
    $HTTP_FORWARDED_FOR getenv('HTTP_FORWARDED_FOR');}
    // end if
    if (empty($HTTP_FORWARDED)) {
    if (!empty(
    $_SERVER) && isset($_SERVER['HTTP_FORWARDED'])) {
    $HTTP_FORWARDED $_SERVER['HTTP_FORWARDED'];}
    else if (!empty(
    $_ENV) && isset($_ENV['HTTP_FORWARDED'])) {
    $HTTP_FORWARDED $_ENV['HTTP_FORWARDED'];}
    else if (!empty(
    $HTTP_SERVER_VARS) && isset($HTTP_SERVER_VARS['HTTP_FORWARDED'])) {
    $HTTP_FORWARDED $HTTP_SERVER_VARS['HTTP_FORWARDED'];}
    else if (!empty(
    $HTTP_ENV_VARS) && isset($HTTP_ENV_VARS['HTTP_FORWARDED'])) {
    $HTTP_FORWARDED $HTTP_ENV_VARS['HTTP_FORWARDED'];}
    else if (@
    getenv('HTTP_FORWARDED')) {
    $HTTP_FORWARDED getenv('HTTP_FORWARDED');}
    // end if
    if (empty($HTTP_VIA)) {
    if (!empty(
    $_SERVER) && isset($_SERVER['HTTP_VIA'])) {
    $HTTP_VIA $_SERVER['HTTP_VIA'];}
    else if (!empty(
    $_ENV) && isset($_ENV['HTTP_VIA'])) {
    $HTTP_VIA $_ENV['HTTP_VIA'];}
    else if (!empty(
    $HTTP_SERVER_VARS) && isset($HTTP_SERVER_VARS['HTTP_VIA'])) {
    $HTTP_VIA $HTTP_SERVER_VARS['HTTP_VIA'];}
    else if (!empty(
    $HTTP_ENV_VARS) && isset($HTTP_ENV_VARS['HTTP_VIA'])) {
    $HTTP_VIA $HTTP_ENV_VARS['HTTP_VIA'];}
    else if (@
    getenv('HTTP_VIA')) {
    $HTTP_VIA getenv('HTTP_VIA');}
    // end if
    if (empty($HTTP_X_COMING_FROM)) {
    if (!empty(
    $_SERVER) && isset($_SERVER['HTTP_X_COMING_FROM'])) {
    $HTTP_X_COMING_FROM $_SERVER['HTTP_X_COMING_FROM'];}
    else if (!empty(
    $_ENV) && isset($_ENV['HTTP_X_COMING_FROM'])) {
    $HTTP_X_COMING_FROM $_ENV['HTTP_X_COMING_FROM'];}
    else if (!empty(
    $HTTP_SERVER_VARS) && isset($HTTP_SERVER_VARS['HTTP_X_COMING_FROM'])) {
    $HTTP_X_COMING_FROM $HTTP_SERVER_VARS['HTTP_X_COMING_FROM'];}
    else if (!empty(
    $HTTP_ENV_VARS) && isset($HTTP_ENV_VARS['HTTP_X_COMING_FROM'])) {
    $HTTP_X_COMING_FROM $HTTP_ENV_VARS['HTTP_X_COMING_FROM'];}
    else if (@
    getenv('HTTP_X_COMING_FROM')) {
    $HTTP_X_COMING_FROM getenv('HTTP_X_COMING_FROM');}
    // end if
    if (empty($HTTP_COMING_FROM)) {
    if (!empty(
    $_SERVER) && isset($_SERVER['HTTP_COMING_FROM'])) {
    $HTTP_COMING_FROM $_SERVER['HTTP_COMING_FROM'];}
    else if (!empty(
    $_ENV) && isset($_ENV['HTTP_COMING_FROM'])) {
    $HTTP_COMING_FROM $_ENV['HTTP_COMING_FROM'];}
    else if (!empty(
    $HTTP_COMING_FROM) && isset($HTTP_SERVER_VARS['HTTP_COMING_FROM'])) {
    $HTTP_COMING_FROM $HTTP_SERVER_VARS['HTTP_COMING_FROM'];}
    else if (!empty(
    $HTTP_ENV_VARS) && isset($HTTP_ENV_VARS['HTTP_COMING_FROM'])) {
    $HTTP_COMING_FROM $HTTP_ENV_VARS['HTTP_COMING_FROM'];}
    else if (@
    getenv('HTTP_COMING_FROM')) {
    $HTTP_COMING_FROM getenv('HTTP_COMING_FROM');}
    // end if

    // Gets the default ip sent by the user
    if (!empty($REMOTE_ADDR)) {
    $direct_ip $REMOTE_ADDR;}

    // Gets the proxy ip sent by the user
    $proxy_ip '';
    if (!empty(
    $HTTP_X_FORWARDED_FOR)) {
    $proxy_ip $HTTP_X_FORWARDED_FOR;
    } else if (!empty(
    $HTTP_X_FORWARDED)) {
    $proxy_ip $HTTP_X_FORWARDED;
    } else if (!empty(
    $HTTP_FORWARDED_FOR)) {
    $proxy_ip $HTTP_FORWARDED_FOR;
    } else if (!empty(
    $HTTP_FORWARDED)) {
    $proxy_ip $HTTP_FORWARDED;
    } else if (!empty(
    $HTTP_VIA)) {
    $proxy_ip $HTTP_VIA;
    } else if (!empty(
    $HTTP_X_COMING_FROM)) {
    $proxy_ip $HTTP_X_COMING_FROM;
    } else if (!empty(
    $HTTP_COMING_FROM)) {
    $proxy_ip $HTTP_COMING_FROM;
    // end if... else if...

    // Returns the true IP if it has been found, else FALSE
    if (empty($proxy_ip)) {
    // True IP without proxy
    return $direct_ip;
    } else {
    $is_ip ereg('^([0-9]{1,3}\.){3,3}[0-9]{1,3}'$proxy_ip$regs);
    if (
    $is_ip && (count($regs) > 0)) {
    // True IP behind a proxy
    return $regs[0];
    } else {
    // Can't define IP: there is a proxy but we don't have
    // information about the true IP
    return FALSE;}
        } 
    // end if... else...
    // end of the 'getIp()' function
    ?>
     
    merdoc нравится это.
Статус темы:
Закрыта.