Php 使用Chrome和Firefox更新Mysql中的IP地址会产生不同的结果

Php 使用Chrome和Firefox更新Mysql中的IP地址会产生不同的结果,php,mysql,browser,ip-address,Php,Mysql,Browser,Ip Address,这个问题是指 张贴在这里希望得到一个答案。 以下代码更新数据库中的访问者IP地址。但当使用Chrome进行测试时,结果是有线的 输出是 字符串(119)“UPDATE ddns SET LastIP=1886947462,LastUpdate=now(),其中ddns_name='kc001' 字符串(112)“从ddns中选择INET_NTOA(LastIP)作为IPADDR,其中ddns_name='kc001' 112.120.136.134 但当检查Mysql时,数据库中的最后一个IP

这个问题是指 张贴在这里希望得到一个答案。 以下代码更新数据库中的访问者IP地址。但当使用Chrome进行测试时,结果是有线的

输出是 字符串(119)“UPDATE ddns SET LastIP=1886947462,LastUpdate=now(),其中ddns_name='kc001'

字符串(112)“从ddns中选择INET_NTOA(LastIP)作为IPADDR,其中ddns_name='kc001' 112.120.136.134


但当检查Mysql时,数据库中的最后一个IP实际上是2149463110。第二个查询也给出了正确的IP地址。但在其他文件中查询时,得到的IP为128.30.52.70

使用Firefox或Safari时,数据库中的LastIp将为1886947462,正确

有什么解释吗

<?php
$dbh = mysql_connect("..mydatabase info..") or die("I cannot connect to the database");
mysql_select_db("glddns");
function getIP(){

    //Test if it is a shared client
    if (!empty($_SERVER['HTTP_CLIENT_IP'])){
        $ip_tmp=$_SERVER['HTTP_CLIENT_IP'];
    //Is it a proxy address
    }elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){
        $ip_tmp=$_SERVER['HTTP_X_FORWARDED_FOR'];
    }else{
        $ip_tmp=$_SERVER['REMOTE_ADDR'];
    }
    //The value of $ip at this point would look something like: "192.0.34.166"
    $ip = ip2long($ip_tmp);
    return $ip;
}
function getddns(){
        $var = explode(".",$_SERVER["SERVER_NAME"]);
        return $var[0];
}
$ipaddr = getIP();
$ddns = $_GET["ddns"];

$sql = sprintf("UPDATE ddns SET LastIP=%u, LastUpdate=now() WHERE ddns_name='%s'",$ipaddr,$ddns);
var_dump($sql);
$result = mysql_query($sql) or die("Query failed:".mysql_error());
if ($result && mysql_affected_rows()==1)
    echo "Update Done";
else
    echo "Update Failed";

$sql= sprintf("select INET_NTOA(LastIP) as IPADDR FROM ddns where ddns_name='%s'",$ddns);

echo "<br><br>";
var_dump($sql);
$result = mysql_query($sql) or die("Query failed:".mysql_error());
while($line = mysql_fetch_assoc($result)){
     echo "<br>". $line["IPADDR"];
}
mysql_free_result($result);
mysql_close($dbh);
?>

检查您的浏览器是否设置为使用(不同的)代理服务器。

这是一件非常奇怪的事情。这以前发生在我的chrome上。现在问题不存在了。谢谢。

我查过了。两者都没有使用代理服务器。即使两者都使用代理服务器,也会产生相同的结果。