2017-02-19 3 views
0

私はあなたのWLAN IPアドレスを表示する基本ページを作成しています 私はリンク先ページとしてindex.phpを持っており、index.phpには私が持っている問題が必要ですページがリフレッシュされるまで、最後に保存されたIPが表示されます。私はすでにキャッシュを使わずに試してみました。 私の質問は..どのようにPHP変数がページの読み込みだけでなくリフレッシュでも取得されるようにすることができます。 ありがとうございます。ページのロード時のPHPアップデート変数

これが私のindex.phpです:

<?php 
    require "getip.php"; 
    $ip = getip(); 
    ?> 

してからちょうど:

<p style="text-align: center; color:white;"> 
Your IP address is 
<span style="color:red;"> 
<?php 
    echo $ip; 
?> 
</span> 
</p> 

と私のgetip.php:あなたは上記の述べている

<?php 

function getip() { 
    $ipaddress = ''; 
     if (getenv('HTTP_CLIENT_IP')) 
      $ipaddress = getenv('HTTP_CLIENT_IP'); 
     else if(getenv('HTTP_X_FORWARDED_FOR')) 
      $ipaddress = getenv('HTTP_X_FORWARDED_FOR'); 
     else if(getenv('HTTP_X_FORWARDED')) 
      $ipaddress = getenv('HTTP_X_FORWARDED'); 
     else if(getenv('HTTP_FORWARDED_FOR')) 
      $ipaddress = getenv('HTTP_FORWARDED_FOR'); 
     else if(getenv('HTTP_FORWARDED')) 
      $ipaddress = getenv('HTTP_FORWARDED'); 
     else if(getenv('REMOTE_ADDR')) 
      $ipaddress = getenv('REMOTE_ADDR'); 
     else 
      $ipaddress = 'UNKNOWN'; 

     return $ipaddress; 
     }?> 
+0

IPアドレスを取得する最も信頼性の高い方法は、単純に$ _SERVER ['REMOTE_ADDR']です。あなたがテストしているすべてのヘッダーは簡単に偽装することができます。 http://stackoverflow.com/questions/1634782/what-is-the-most-accurate-way-to-retrieve-a-users-correct-ip-address-in-php?rq=1 –

+0

を参照してください心、ありがとう。でも、私の質問にはまだ答えが必要です。 – JoelContreras

+0

@AndreiSavin彼がやっているやり方は、実際にはプロキシサーバーを扱うときとそうでないときのほうが優れています。たとえば、プロキシ要求を受け取った場合、クライアントが実際に情報を要求するのではなく、プロキシサーバーのアドレスを取得します。 – Augwa

答えて

2

問題がありますPHP Webサーバーの通常の動作。新しいものを手に入れるトリガーがないかぎり、あなたはどのようにPHPの機能があなたに新しいIPを与えるのを期待していますか?あなたは、IPアドレスが原因以下の事実にある変更した後すぐに新しいIPアドレスを取得されていません

::

  1. PHPはややアクションが唯一のページの後に実行されることを意味し、サーバーサイドスクリプトでありますリロード。
  2. ページをリロードする方法がないので、新しいIPアドレスをすぐに取得することはできません。
  3. 現在のIPを生成するページをリロードするときにgetip()関数が呼び出されるため、新しいip after pageが更新されています。つまり、ページを更新して手動で機能を起動しているとします。

あなたがしようとする場合がありますいくつかのこと::

  1. 一定の間隔であなたのページを更新するためにHTMLタグの使用があります。
  2. php connection handlingを使用して、それは非常に興味深いトピックです。
  3. 手動トリガーをクリックして使用すると、getip()が呼び出され、新しいipが表示されます。
+0

ありがとう、あなたの答えは非常に論理的です.. – JoelContreras

+0

もちろん。私は共有することを嬉しく思います。ハッピーコーディング! – Bayou