0

我正在设计一个用户注册表单,并正在发送一封确认电子邮件。负责将用户名/密码/电子邮件地址等添加到数据库的脚本变得相当长,我想将负责电子邮件的代码分解到另一个文件中。我在想这两个脚本如何协同工作;数据库脚本是否包含电子邮件脚本或重定向到它并传递参数。还是我把它弄反了?会是包含/调用数据库脚本的电子邮件脚本吗?

首先会发生什么?是否 1) 在将任何数据添加到数据库之前发送包含帐户激活链接的电子邮件或 2) 是立即放入数据库中的数据,并且“激活”字段设置为 false 并且当用户单击时电子邮件中的链接字段将更新为 true 3) 或其他方式?

4

2 回答 2

4

#2,这是为了让其他用户不会重复使用用户名。如果您不立即保存信息,那么其他用户也可以激活他们的帐户,您会遇到错误。

大多数网站的激活都会过期,因此用户名无法长时间保留。

需要一列state诸如用户/禁止/确认/未激活之类的列来跟踪谁激活了谁没有激活。根据注册的时间戳,可以使用 cron 作业来扫描数据库中旧的非活动用户。

于 2013-07-31T23:16:11.377 回答
1

我使用过的每个系统都只是将用户存储在数据库中,直到它被使用,但是当垃圾邮件成为问题时,您可以查看其他答案。

您需要将用户名和密码存储在某处并将其发送到电子邮件中会导致问题,否则您给电子邮件的链接将不知道要激活哪个用户,并且会做一些古怪的事情,例如将其存储在会话中导致很多很多用户体验问题。

除了为未激活的帐户创建第二个表并同时搜索您需要同时搜索的两个不同呼叫(创建新用户/电子邮件和更改用户名/电子邮件)之外,我没有看到更好的解决方案。

于 2013-07-31T23:23:32.767 回答