我有一个注册码,它将用户详细信息插入到我选择的表中。
问题是我向用户添加了“确认代码”,因此需要每个帐户通过邮件验证用户。确认完成后,“确认”栏将变为“已确认”。如果用户未验证其帐户,则确认代码将保留在“确认”列中。
问题是我在html中创建了一个表,它使用数据库来显示活动用户。
我不希望未确认的用户出现在tbale中,所以我尝试添加一些条件:
$cu = mysql_query("SELECT * FROM `users` where uname='$uname' && confirmation='confirmed'");
$cu = mysql_fetch_array($cu);
另一个:
$select2 = mysql_query("SELECT * FROM `users` WHERE uname='$uname' && confirmation='confirmed'");
它正在工作..但只有一半。我的意思是,当未确认的用户尝试登录时,它会向他显示一个空白页面。没关系,因为我不希望未确认的用户登录。 但是......确认的用户仍然会在活动用户表中看到未经确认的用户..
就像桌子甚至不检查用户是否被确认,它只是向他显示。
所以我想到了一种方法,用户将移动到另一个名为“hold”的表,该表将由所有未确认的用户组成。然后,每个将验证其帐户的用户,sql将识别它,并且当确认列更改为“已确认”时,它将把用户移动到“用户”表,因此他的名字将出现在活动用户表中
我该怎么办?如果用户被确认,我如何“使”sql表自动识别,并将他移到另一个表..
或..如果有任何方法可以从活动用户表中“隐藏”未确认的用户,那也没关系。
非常感谢:)
答案 0 :(得分:0)
基本上你需要设置一个cron来检查用户是否未被确认,然后移动到hold tabe或者在任何用户被确认时在mysql中写入一个触发器。
答案 1 :(得分:0)
您可以获取最后一个结果,并在最后一个结果后插入。
见这个例子:
$sql = mysql_query("
INSERT INTO tabel_name(col1, col2,col3) values('foo','bar','some');
INSERT INTO table_name2(col,col2) SELECT col2,col3 FROM tabel_name
ORDER BY id DESC LIMIT 1;
");