【发布时间】:2012-04-16 13:04:49
【问题描述】:
我需要验证注册网站的用户是否输入了一个唯一的 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 错误消息不是很熟悉,我使用的只是我在示例代码的另一个实例中找到的一个示例。
【问题讨论】: