我在使用以下表单提交期间捕获访问者的 IP 地址。
$users_ip=$_SERVER['REMOTE_ADDR'];
我现在想做的是在提交评论时查看之前是否使用过这个 ip 变量,有人能指出我正确的方向吗?
也许是一个like
SQL 命令?
假设您将客户端 ips 存储在名为:“ips”的表中,然后使用:
$connection = mysql_connect($your_db_host, $your_user_account, $your_password);
$mysql_select_db($your_db_name);
$ip = $_SERVER['REMOTE_ADDR'];
$sql = "select 1 from `ips` where `ip`='$ip'";
$sql_resource = mysql_query($sql);
$mysql_close($connection);
if($sql_resource && mysql_num_rows($sql_resource) > 0){
// your logic code if the ip existed in the db
echo 'The ip has been used before';
} else {
// code if the ip not existed in the db
echo 'The ip has not been used before yet';
}
有一个很好的教程解释了如何在 MySQL 中存储 IP 地址。简而言之,将它们转换为this comment中建议的 long like ,然后使用简单的SELECT
语句找到它:
"SELECT COUNT(*) FROM comment WHERE ip = " . ip2long($_SERVER['REMOTE_ADDR'])