Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.07.2013, 13:29   #1
Ol'ga
Форумчанин
 
Аватар для Ol'ga
 
Регистрация: 14.06.2008
Сообщений: 166
По умолчанию проблема с REMOTE_ADDR

Я написала данный скрипт для определения IP, но он не определяется. Подскажите может нужно что то прописать, что бы он работал? Заранее спасибо!
?>
$ip = $_SERVER['REMOTE_ADDR']
echo 'Ваш IP: '.$ip;
?>

Последний раз редактировалось Ol'ga; 10.07.2013 в 14:07.
Ol'ga вне форума Ответить с цитированием
Старый 10.07.2013, 13:52   #2
Minus_yu
Чатланин!
Форумчанин
 
Аватар для Minus_yu
 
Регистрация: 20.11.2010
Сообщений: 140
По умолчанию

вот эта строчка
PHP код:
echo*'Ваш*IP:'.$ip
не понятна...

Вот вам функция:
PHP код:
function return_user_ip() {
            if(isset(
$HTTP_SERVER_VARS)) {
                if(isset(
$HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"])) {
                    
$realip $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];
                } elseif(isset(
$HTTP_SERVER_VARS["HTTP_CLIENT_IP"])) {
                    
$realip $HTTP_SERVER_VARS["HTTP_CLIENT_IP"];
                } else {
                    
$realip $HTTP_SERVER_VARS["REMOTE_ADDR"];
                }
            } else {
                if(
getenv'HTTP_X_FORWARDED_FOR' ) ) {
                    
$realip getenv'HTTP_X_FORWARDED_FOR' );
                } elseif ( 
getenv'HTTP_CLIENT_IP' ) ) {
                    
$realip getenv'HTTP_CLIENT_IP' );
                } else {
                    
$realip getenv'REMOTE_ADDR' );
                }
            }
            return 
$realip;
        } 
Minus_yu вне форума Ответить с цитированием
Старый 10.07.2013, 14:57   #3
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 16,218
По умолчанию

Цитата:
Сообщение от Ol'ga Посмотреть сообщение
?>
$ip = $_SERVER['REMOTE_ADDR']
echo 'Ваш IP: '.$ip;
?>
Код:
<?php
...
?>
Цитата:
Сообщение от Minus_yu Посмотреть сообщение
Вот вам функция:
Выкиньте эту функцию.
Arigato вне форума Ответить с цитированием
Старый 10.07.2013, 15:09   #4
Minus_yu
Чатланин!
Форумчанин
 
Аватар для Minus_yu
 
Регистрация: 20.11.2010
Сообщений: 140
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
Выкиньте эту функцию.
с удовольствием сделаю это, когда Вы предложите другую
Minus_yu вне форума Ответить с цитированием
Старый 10.07.2013, 18:36   #5
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 16,218
По умолчанию

$_SERVER
$HTTP_SERVER_VARS - устарела.
Да и код самой функции какой-то быдлокодерский. Если и писать подобную бесполезную функцию, то тогда уж лучше не этажеркой, а так:
PHP код:
function user_ip() {
  static 
$vars = array (
      
'HTTP_X_FORWARDED_FOR',
      
'HTTP_CLIENT_IP',
      
'REMOTE_ADDR'
    
);
  foreach ( 
$vars as $var ) {
    if ( isset (
$_SERVER[$var]) )
      return 
$_SERVER[$var];
  }
  return 
false;

А вообще, полезно будет почитать это: http://www.phpfaq.ru/ip
Arigato вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Неблокирующий сокет Си проблема с закрытием, проблема с закрытием сокетов в цикле mnx_vol C/C++ Сетевое программирование 0 06.11.2012 13:57
REMOTE_ADDR defaults2 PHP 3 13.05.2009 21:48
Проблема с рамами/Проблема с ЖД DRAGGER Компьютерное железо 6 04.01.2009 23:37