PHP 在页面加载时更新变量
PHP update variable on page load
我正在制作一个显示您的 WLAN IP 地址的基本页面,
我有一个 index.php 作为登录页面和一个 index.php 所需的 index.php 我遇到的问题是该页面将显示最后保存的 ip,而不是你的,直到页面被刷新。我已经尝试过没有缓存并且过期但没有用。
我的问题是..我怎样才能使 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;
}?>
您上面提到的问题是 php 网络服务器的正常行为。除非有触发器获取新 IP,否则您如何期望 php 函数为您提供新 IP??
您更改IP地址后没有立即获得新的IP地址是由于以下事实::
- PHP 是服务器端脚本,这在某种程度上意味着只有在页面重新加载后才会执行这些操作。
- 由于您没有任何重新加载页面的方法,您无法立即获得新的 IP 地址。
- 您将在页面刷新后获得新的 ip,因为函数 getip() 在您重新加载生成当前 ip 的页面时被调用。即您通过刷新页面手动触发该功能。
您可能想尝试的东西很少::
- 使用 html 标签以一定的时间间隔刷新您的页面。
- 使用php connection handling,是个很有趣的话题。
- 使用手动触发按钮点击来调用 getip() 并显示新的 ip。
我正在制作一个显示您的 WLAN IP 地址的基本页面, 我有一个 index.php 作为登录页面和一个 index.php 所需的 index.php 我遇到的问题是该页面将显示最后保存的 ip,而不是你的,直到页面被刷新。我已经尝试过没有缓存并且过期但没有用。 我的问题是..我怎样才能使 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;
}?>
您上面提到的问题是 php 网络服务器的正常行为。除非有触发器获取新 IP,否则您如何期望 php 函数为您提供新 IP??
您更改IP地址后没有立即获得新的IP地址是由于以下事实::
- PHP 是服务器端脚本,这在某种程度上意味着只有在页面重新加载后才会执行这些操作。
- 由于您没有任何重新加载页面的方法,您无法立即获得新的 IP 地址。
- 您将在页面刷新后获得新的 ip,因为函数 getip() 在您重新加载生成当前 ip 的页面时被调用。即您通过刷新页面手动触发该功能。
您可能想尝试的东西很少::
- 使用 html 标签以一定的时间间隔刷新您的页面。
- 使用php connection handling,是个很有趣的话题。
- 使用手动触发按钮点击来调用 getip() 并显示新的 ip。