Web サイトに登録しているユーザーが、他のユーザーが入力したことのない固有の 16 桁の番号を入力していることを確認する必要があります。
関連するデータベース情報は、16 桁の数字が という列に格納され、card1
テーブル全体の名前が でusers
、ユーザーが入力した数字が に格納されていること$card1
です。
これが私がこれまでに持っているものです...
$query2 = "SELECT card1 FROM users WHERE card1='$card1' LIMIT 1";
$result2 = smart_mysql_query($query2);
if (mysql_num_rows($result2) != 0)
{
header ("Location: register.php?msg=exists");
exit();
}
アイデアは、データベースに既にある例を見つけ、重複が見つかった場合はエラー メッセージを表示するというものです。
問題は、重複がある場合でも、ユーザーが登録できる (登録フォームをデータベースに送信する) ことを許可し続けていることです。このコード ブロックの直後に、フォームから収集されたすべてのユーザー情報を含むデータベースへの挿入呼び出しがあります。
注:私は PHP エラー メッセージの処理に詳しくありません。使用したのは、コード例の別のインスタンスで見つけた例にすぎません。