【问题标题】:Implement username availability using PHP, MySQL and Ajax if two users process the checking at same time如果两个用户同时处理检查,则使用 PHP、MySQL 和 Ajax 实现用户名可用性
【发布时间】:2016-01-07 07:20:44
【问题描述】:

我有一个表 groups,其中包含一些字段,包括 username
在我的表单页面中,我使用 Ajax 调用来检查用户名的可用性。有用。但是如果两个用户同时处理检查,他们都可以看到用户名可用。我怎样才能避免这种情况?

【问题讨论】:

  • 实际上,在有人处理获取该用户名的请求之前,该用户名是可用的。只告诉一个用户该用户名是免费的并没有多大意义,因为他们可能不会选择该用户名。我想您可以使用数据库中的表将其设置为“保留”用户名一段时间,但这真的值得吗?
  • 在插入之前检查用户名。如果用户一个有效,那么向第二个用户显示它已被使用的消息尝试另一个
  • @Matt 是的..值得。否则它将返回完整性约束错误:key 的重复条目。如果发生此错误,我将无法重定向到任何其他页面。因此需要正确的数据流。 ?

标签: php mysql ajax availability


【解决方案1】:

您需要在每次击键时检查用户名。因此,当有人开始输入用户名时,在每次击键时,您都需要检查用户名的可用性(使用 ajax)。使用 jQuery 的 .keypress() 可以获得按键事件。

这里可能会出现一个问题,如果在提交一个表单之前其他用户使用了相同的用户名。为了解决这个问题,您还需要在提交表单时重新检查用户名的可用性,如果当时用户名不可用,只需提供用户名已选择的消息,请输入另一个。

【讨论】:

    猜你喜欢
    • 2016-12-03
    • 1970-01-01
    • 2020-05-23
    • 1970-01-01
    • 1970-01-01
    • 2015-09-22
    • 2014-04-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多