我将在php中编写用户注册,不想使用任何框架。通常是这样的:
- 用户填写注册表格。
- 我的应用程序发送电子邮件到用户的电子邮件地址。
- 用户点击邮件链接完成注册。
在第一步中,我将用户信息添加到存储未激活用户的特殊数据库表中。在第三步中,我将用户从该表移到已激活用户的表中。
我有几个问题:
- 这个逻辑好吗?如果不是,通常的做法是什么?
- 如何以及何时可以从第一个表中删除用户,如果他没有通过激活?
- 是否有轻量级库(不是框架)用于此目的?
谢谢!
不需要使用php会话机制从db中删除数据,"正如您在评论中所说的"
你可以随时删除数据。可能是24小时或7天或1个月。也许这取决于你将获得的交通。
但是一旦用户注册,将时间存储在reg_time
列中。在删除时将与reg_time
进行比较。
如果你想在24小时后删除,那么
delete from ACCOUNT_TBL_DETAIL
where usrActivated=0 AND regTime <= UNIX_TIMESTAMP(DATE_SUB(now(), INTERVAL 1 DAY));
7 d后
delete from ACCOUNT_TBL_DETAIL
where usrActivated=0 AND regTime <= UNIX_TIMESTAMP(DATE_SUB(now(), INTERVAL 7 DAY));
调度SQL脚本
CREATE EVENT delete_event
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 DAY
ON COMPLETION PRESERVE
DO BEGIN
DELETE messages WHERE date < DATE_SUB(NOW(), INTERVAL 7 DAY);
END;
这是一个简单的cron脚本
- 通常这是两种方法之一。第一个是在用户被激活时存储一个布尔值。第二个是你的路。第二个具有将它们分开以更好地管理这些用户的优点。
- 你可以直接从表中删除它们。时间取决于你的项目需要,但相对较好的值是一天
- 我不认为有任何库专门用于注册部分。但是有很多成熟的安全库都包含了这个
希望这能回答你的问题