我正在使用 PHP 开发 Zend Framework 应用程序。我有一份注册表格。
现在,当用户注册并获得可用的用户名时,注册过程仍未完成。并且所选的用户名尚未保存在数据库中。因此,同时没有其他人获得相同的用户名。
所以请帮助我如何防止其他用户无法同时分配相同的用户名。
例如,数据库中不存在用户,即mannecheema27
这样就可以免费注册了。 但注册过程需要一些时间。也许用户接到电话或者可能是其他原因,那么我希望所选的用户名在该时间段内保留在服务器上,直到用户保存他/她的注册或单击取消注册按钮,以便无论何时当另一个用户检查用户名的可用性时,即mannecheema27,那么在数据库中它不存在,但它必须存储在服务器上,以便其他用户不会获得相同的名称。
最佳答案
要么接受最终注册将失败的事实,因为另一个用户选择了该名称,要么在检查用户名未注册时在用户数据库中执行“预订条目”,然后稍后使用该条目(或在某个时刻)时间不限)。
第二个是更多的编码,但实际上是唯一的方法。如果这是一个您期望有大量用户创建的应用程序,请接受最终注册可能会失败的情况。
关于php - 如何防止两个用户注册相同的用户名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6854332/