我有一个数据库表,其中包含访问网站的用户的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();
}
- 我已正确连接到数据库
$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();
}
删除implode
函数,
$separateIps = mysqli_fetch_all($getBlockedUsers, MYSQL_NUM);
in_array
期望参数2是一个数组。当使用implode
时,您将得到一个字符串而不是数组。