【问题标题】:How to stop a user from pressing a button several times如何阻止用户多次按下按钮
【发布时间】:2014-03-18 21:26:04
【问题描述】:

我已经环顾了这里,但我似乎无法找到我正在寻找的答案。

我正在创建一种社交网络,它具有与 Twitter 关注系统类似的功能,用户 1 可以借此关注用户 2。

现在我遇到的问题是,如果我有一个用户,他是一个令人讨厌的角色,我认为继续按用户个人资料上的关注/取消关注按钮很有趣,导致最终用户收到洪水电子邮件中说“此用户正在关注您”。显然我不希望这种情况发生。我唯一的想法是当 user1 跟随 user2 时,该行被插入到数据库中。那么如果user1想要取消关注user2,该行不会从表中删除,而只是有一个字段'unfollowed'将设置为true?然后,如果将来 user1 想再次关注 user2,我将检查“未关注”是否设置为 true,这将不会发送另一封电子邮件,或者如果超过了某个时间范围,可能会发送一封电子邮件。

抱歉,如果我把你们都搞糊涂了。但是有人对这个问题有更聪明的想法吗?

【问题讨论】:

    标签: php jquery mysql


    【解决方案1】:

    最简单的答案是在单击按钮时禁用该按钮。会阻止用户再次点击它。

    【讨论】:

    • 您可以查看连接两个用户的连接表行中的时间戳,如果它在某个时间窗口内,则忽略该请求。此外,当他们停止关注时,不要立即销毁加入记录 - 只需将其标记为不活动即可。如果您的恶棍再次尝试跟踪,您将能够检测到他以前来过这里。
    【解决方案2】:

    我会推荐与您提出的解决方案类似的方法(跟踪所有关注而不是删除),但也要更改措辞,以便您的用户可以选择在“新用户时接收电子邮件开始关注他们。”

    【讨论】:

    • 感谢您的建议!我喜欢让用户选择是否接收通知的“选择加入”功能的想法。现在这在我的待办事项清单上!
    【解决方案3】:

    您回答了自己的问题。设置一个标志以指示此用户 1 是否已关注/取消关注用户 2。如果 flag 为 true,则不发送电子邮件,如果 flag 为 false,则发送电子邮件。

    【讨论】:

    • 感谢您的反馈。我有点猜到我想出的解决方案会奏效,只是想确保我没有遗漏任何东西,或者是否有更好的方法。
    猜你喜欢
    • 2020-02-24
    • 2016-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-05
    • 1970-01-01
    • 2015-05-30
    • 1970-01-01
    相关资源
    最近更新 更多