0

我有一个数据库表,其中包含访问该网站的用户的 IP。我正在尝试为页面创建 IP 禁止系统。我希望从我的数据库表中列出的被阻止的 IP 列在无法访问此特定页面的 IP 数组中。我不断收到错误,我不知道如何让它正常工作。这是我目前使用的:

PHP:

$getBlockedUsers = mysqli_query($con,"SELECT ip FROM blog_comments WHERE blocked='yes'");
$separateIps = implode(", ", mysqli_fetch_array($getBlockedUsers));

if (in_array ($_SERVER['REMOTE_ADDR'], $separateIps)) {
   header("location: http://www.google.com");
   exit();
}
  • 我已正确连接到数据库
4

2 回答 2

1
$getBlockedUsers = mysqli_query($con,"SELECT true FROM blog_comments WHERE blocked='yes' AND ip='" . $_SERVER['REMOTE_ADDR'] . "' LIMIT 1");

if ($getBlockedUsers->num_rows > 0) {
   header("location: http://www.google.com");
   exit();
}
于 2013-07-02T06:46:58.973 回答
0

删除implode功能,

$separateIps = mysqli_fetch_all($getBlockedUsers, MYSQL_NUM);

in_array期望参数 2 是一个数组。使用时,implode您将得到一个字符串而不是数组。

于 2013-07-02T06:42:26.987 回答