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

Форум PHP

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

 

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

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

тема: Не определяется IP-адрес
 
 автор: Lionhs   (08.08.2007 в 20:51)   письмо автору
 
 


<?
if ($REMOTE_ADDR=="127.0.0.1")
{
echo 
"Hi";
}
else
{
echo 
"Error!";
}
?>


Не работает, пишет Error. А если я ввожу свой сетевой адрес (из локалки), то всё работает!
Не понимаю почему, подскажите.

   
 
 автор: cheops   (08.08.2007 в 21:41)   письмо автору
 
   для: Lionhs   (08.08.2007 в 20:51)
 

Удалённый адрес не может быть 127.0.0.1 - он зарезервирован для локального использования, поэтому "Hi" будет выдаваться лишь в том случае, если браузер и сервер расположены на одной и той же машине.

   
 
 автор: Lionhs   (08.08.2007 в 21:56)   письмо автору
 
   для: cheops   (08.08.2007 в 21:41)
 

А оно так и есть, всё на одном компьютере.

   
 
 автор: cheops   (08.08.2007 в 22:12)   письмо автору
 
   для: Lionhs   (08.08.2007 в 21:56)
 

Скорее всего у вас отключена директива register_globals и следует использовать суперглобальные массивы, вместо обычных переменных
<? 
if ($_SERVER['REMOTE_ADDR']=="127.0.0.1"

echo 
"Hi"

else 

echo 
"Error!"

?>

   
 
 автор: Trianon   (08.08.2007 в 22:14)   письмо автору
 
   для: Lionhs   (08.08.2007 в 21:56)
 

Адрес будет выдаваться лишь в том случае, если к скрипту обратились как к http://localhost/
.
Если же Вы обращаетесь по имени машины, или по IP адресу реального сетевого интерфейса - исходящим будет будет этот адрес, а не адрес loopback-заглушки.

   
 
 автор: Lionhs   (08.08.2007 в 22:54)   письмо автору
 
   для: Trianon   (08.08.2007 в 22:14)
 

Не помогло (глобальные перменные). Может там ещё где-то ошибка?

   
 
 автор: cheops   (08.08.2007 в 22:58)   письмо автору
 
   для: Lionhs   (08.08.2007 в 22:54)
 

Выведите при помощи echo значение $_SERVER['REMOTE_ADDR'] - что там?
<?php
  
echo $_SERVER['REMOTE_ADDR'];
?>

также посмотрите его значение в отчёте функции phpinfo()
<?php
  phpinfo
();
?>

   
 
 автор: Lionhs   (08.08.2007 в 23:09)   письмо автору
 
   для: cheops   (08.08.2007 в 22:58)
 

10.2.0.202 - вот что пишет, ну это как раз мой IP в сети.

   
 
 автор: cheops   (09.08.2007 в 07:35)   письмо автору
 
   для: Lionhs   (08.08.2007 в 23:09)
 

Хм... так если вы участним локальной сети, то будет подставляться именно ваш IP-адрес.

   
Rambler's Top100
вверх

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