首页 文章

用户在php中注册:如何删除尚未完成激活的用户[关闭]

提问于
浏览
1

我将在php中编写用户注册,并且不想使用任何框架 . 通常它看起来像这样:

  • 用户填写注册表 .

  • 我的应用程序向用户的电子邮件地址发送电子邮件 .

  • 用户通过单击电子邮件中的链接完成注册 .

在第一步中,我将用户信息添加到存储未激活用户的特殊数据库表中 . 在第三步中,我将用户从该表移动到激活用户的表中 .

我有几个问题:

  • 这个逻辑好吗?如果不是常见的做法是什么?

  • 如果你还没有通过激活我如何以及何时可以从第一个表中删除用户?

  • 是否有用于此目的的轻量级库(而不是框架)?

谢谢!

2 回答

  • 2

    没有必要使用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天后

    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脚本

  • 2
    • 通常这是两种方法之一 . 第一个是在激活用户时存储布尔值 . 第二个是你的方式 . 第二个具有将它们分开以便更好地管理这些用户的优点 .

    • 您可以从表中删除它们 . 时间取决于您的项目需求,但相对良好的 Value 将是一天

    • 我不是很多完整的安全库,包含了这个

    希望这能回答你的问题

相关问题