如何防止两个用户注册相同的用户名?

时间:2011-07-28 05:05:11

标签: php zend-framework

我正在使用PHP开发Zend Framework应用程序。我有一张报名表。

现在,当用户注册并获得可用的用户名并且注册过程仍未完成时。并且所选用户名仍未保存在数据库中。所以同时没有其他人获得相同的用户名。

所以请帮助我如何防止其他用户无法同时分配相同的用户名。

例如用户在数据库中不存在,即 mannecheema27

因此应该可以自由注册。 但注册过程需要一些时间。也许用户接到电话或者可能是其他原因,然后我希望在该时间段内在服务器上保留所选用户名,直到用户保存他/她的注册或点击取消注册按钮,这样每当在同一时间时间另一个用户检查用户名的可用性,即 mannecheema27 然后在数据库中它不存在,但必须存储在服务器上,以便其他用户不会获得相同的名称。

1 个答案:

答案 0 :(得分:5)

要么接受最终注册将失败,因为另一个用户选择了此名称,或者在检查用户名未注册时,在用户数据库中执行“预订条目”,然后稍后将使用(或者在某个时间点)时间没有保留)。

第二个是更多编码,但真的是唯一的方法。如果它是您期望大量用户创建的应用程序,请接受最终注册可能失败。