【问题标题】:IPs errors with simple visitors counter PHP简单访客计数器 PHP 的 IP 错误
【发布时间】:2017-09-23 16:55:16
【问题描述】:

我用 PHP 构建了一个简单的访客计数器,它将访客 IP 保存在我的数据库中。

这是我的脚本:

function view_count() {
    global $bdd;
    $ip   = $_SERVER['REMOTE_ADDR']; 
    $date = date('Y-m-d');
    $query = $bdd->prepare("
        INSERT INTO views_stats (ip , date_visite , pages_vues, subcategory_id) VALUES (:ip , :date , 1, :subcategory_id)
        ON DUPLICATE KEY UPDATE pages_vues = pages_vues + 1
    ");
    $query->execute(array(
        ':ip'   => $ip,
        ':date' => $date,
        ':subcategory_id' => $_GET['s']
    ));
}

不能正常工作,有时不保存IP访问者。

我的数据库中的 IP:

66.249.64.21
2a03:2880:2111:bfdc:face:b00c:
2a01:e34:ee35:2ad0:3c49:4e42:b
185.20.6.14
34.201.147.172
212.227.247.118

我不明白为什么有时我有 2a01:e34:ee35:2ad0:3c49:4e42:b 而不是 IP 地址。

有什么想法吗?谢谢

【问题讨论】:

  • 66.249.64.21 = IPv4。 2a03:2880:2111:bfdc:face:b00c: = IPv6。它们都是 IP 地址。
  • @Jon Thx 我不知道

标签: php sql ip


【解决方案1】:

两者都是ip地址,一个是ipv4,第二个是ipv6,这就是为什么它不起作用,您可以更改数据类型来解决问题。您还可以找到有关 ipv4 和 ipv6 here 的所有详细信息,您会得到更好的主意。

【讨论】:

  • 感谢您的解释和链接,我会修复我的脚本。
猜你喜欢
  • 1970-01-01
  • 2012-06-23
  • 2019-12-05
  • 2011-04-15
  • 1970-01-01
  • 2014-06-12
  • 1970-01-01
  • 2013-12-31
  • 1970-01-01
相关资源
最近更新 更多