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 :: По умолчанию Ошибка Cannot access empty property in . не могу понять почему

 PHP.SU

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


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

> Без описания
Adrenalin
Отправлено: 22 Декабря, 2013 - 23:16:37
Post Id


Новичок


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


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




PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. <?PHP
  4.  
  5. class checkIPRange {
  6.     public $ip;
  7.     public $country; //ISO format only
  8.  
  9.     private function LoadDB(){
  10.         $file = $this->$country."Range.xml";
  11.         if (!file_exists($file)){
  12.             echo $file." - File Base Not Found";
  13.             Exit();
  14.         }
  15.         $XmlString  = file_get_contents($file);
  16.         $xml        = simplexml_load_string($XmlString);
  17.         $json       = json_encode($xml);
  18.         $array      = json_decode($json,TRUE);
  19.         return $array;
  20.     }
  21.  
  22.     private function IPtoINT($ip){
  23.         $IntIp = str_replace(".", "", $ip);
  24.         $IntIp = (int)$IntIp;
  25.         return $IntIp;
  26.     }
  27.  
  28.     public function SearchIP(){
  29.         $exit = false;
  30.         $IntIp = $this->IPtoINT($this->$ip);
  31.         $array = $this->LoadDB();
  32.         foreach ($array  as $aString){
  33.             $RangesIP    = trim($aString['RangeIP']);
  34.             $aRangesIP   = explode(",",$RangesIP);
  35.             foreach ($aRangesIP as $RangeIP){
  36.                 $aRangeIP = explode("-",$RangeIP);
  37.                 $aRangeIP[0] = $this->IPtoINT($aRangeIP[0]);
  38.                 $aRangeIP[1] = $this->IPtoINT($aRangeIP[1]);
  39.                 if ($IntIp >= $aRangeIP[0] and $IntIp <= $aRangeIP[1]){
  40.                     $exit = true;
  41.                     break(1);
  42.                 }
  43.             }
  44.         }
  45.         if ($exit == true){
  46.             return true;
  47.         } else {
  48.             return false;
  49.         }
  50.     }
  51. }
  52.  
  53. $ObjCheck = new checkIPRange();
  54. $ObjCheck->country = 'ES';
  55. $ObjCheck->ip = '46.222.0.1';
  56. $result = $ObjCheck->SearchIP();
  57.  


Господа прошу помомщи не могу понять почему он ошибку мне показывает. Так же буду признателен за конструктивную критику моего первого OOP скрипта. До сели писал только на процедурном.
 
 Top
OrmaJever Модератор
Отправлено: 23 Декабря, 2013 - 00:02:21
Post Id



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


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


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




$this->$country и $this->$ip замените на $this->country и $this->ip


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Adrenalin
Отправлено: 23 Декабря, 2013 - 00:05:13
Post Id


Новичок


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


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




OrmaJever пишет:
$this->$country и $this->$ip замените на $this->country и $this->ip

Иван Иваныч Улыбка вот спасибо ... как же так смотрю в книгу вижу фигу. Видимо сказывается процедурное прошлое Улыбка
Спасибо!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Объектно-ориентированное программирование »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB