我有一个数据库表,其中包含访问该网站的用户的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();
}
答案 0 :(得分: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();
}
答案 1 :(得分:0)
删除implode
功能
$separateIps = mysqli_fetch_all($getBlockedUsers, MYSQL_NUM);
in_array
期望参数2是一个数组。使用implode
时,您将获得一个字符串而不是数组。