0

以下を使用して、フォームの送信中に訪問者の IP アドレスを取得しています。

$users_ip=$_SERVER['REMOTE_ADDR'];

私が今やりたいことは、コメントを送信するときにこの ip 変数が以前に使用されたかどうかを確認することです。誰かが私を正しい方向に向けることができますか?

多分likeSQLコマンド?

4

2 に答える 2

1

「ips」という名前のテーブルにクライアントIPを保存したと仮定して、これを使用します:

$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';
}
于 2013-07-16T13:35:27.207 に答える
1

MySQL に IP アドレスを保存する方法を説明する優れたチュートリアルがあります。つまり、このコメントで提案されているようにそれらを long に変換し、簡単なSELECTステートメントを使用してそれを見つけます。

"SELECT COUNT(*) FROM comment WHERE ip = " . ip2long($_SERVER['REMOTE_ADDR'])
于 2013-07-16T13:37:26.373 に答える