2017-04-19 61 views
0

公告:未定义的属性:在我酒吧:: $酒馆:\ XAMPP \ htdocs中上线37 NULL未定义的属性与类PHP

\ test.php的,我认为我做了什么权利,但我不知道为什么我有这样的问题?有人能告诉我我做错了什么,我会很感激。

class Pub { 

    function getip() 
    { 
     if (isset($_SERVER['HTTP_CF_CONNECTING_IP'])) 
      $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_CF_CONNECTING_IP']; 

     foreach (array('HTTP_CLIENT_IP', 'HTTP_X_FORWARDED_FOR', 'HTTP_X_FORWARDED', 'HTTP_X_CLUSTER_CLIENT_IP', 'HTTP_FORWARDED_FOR', 'HTTP_FORWARDED', 'REMOTE_ADDR', 'HTTP_CF_CONNECTING_IP') as $key) 
     { 
      if (array_key_exists($key, $_SERVER) === true) { 

       foreach (explode(',', $_SERVER[$key]) as $ip) { 

        if (validip($ip) !== false) { 

         return $ip; 
        } 
       } 
      } 
     } 
    } 

    function validip($ip) 
    { 
     return (!preg_match("/^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$/", $ip)) ? FALSE : TRUE; 
    } 

} 

$pub = new Pub; 

var_dump($pub->getip); 
+3

'的var_dump(pub- $>酒馆);'没有'类中定义的酒吧是 –

+0

我的错误我edite我的帖子抱歉,但同样的问题 – MAXX3

+1

你忘了添加pub'属性'()在'getip'之后。它应该是'$ pub-> getip()'而不是'$ pub-> getip' –

回答

2

没有财产酒吧,你可能指的是$pub->getip()

这将要求你改变这一行:

if (validip($ip) !== false) { 

这样:

if ($this->validip($ip) !== false) { 

看到它无法找到validip在这方面。

Read about the basics of OOP in PHP here.