2017-04-19 12 views
0

お知らせ:未定義のプロパティ:Iパブ:: $パブ:\ xamppの\ htdocsに\ test.phpをライン37 NULL未定義のプロパティの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

はい私のミスは私が私のポスト申し訳ありませんが、同じ問題 – MAXX3

+1

をediteクラスパブで定義された' 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.

関連する問題