我的应用程序有一个集成的facebook登录,并包含用户可以喜欢的文章。只有当用户直接登录到网站时,他才能喜欢一篇文章。如果没有登录,我会在类似按钮上使用透明层,点击后会打开弹出窗口,用户可以登录到他们的FB帐户。
现在我面临以下问题:
用户从弹出窗口登录并返回应用程序后,文章还没有被"点赞",因为他没有点击点赞,而是点击了点赞按钮上的覆盖。用户必须再次单击"点赞"。通过这种方式,某些文章正在失去重要的点赞,因为用户在从弹出窗口登录后认为他已经喜欢上了文章。
有人能给我一些克服这个"问题"的建议吗。我正在使用PHP。
如果我的解释不够充分,请告诉我,我会尽量说得更具体。
谢谢。
代码
if(!isset($_SESSION['User']) && empty($_SESSION['User'])){
//show login button
} else{
//show logged in user credentials
}
以以下方式创建覆盖
<div class="FB_Like">
<div class="cover"></div>
<div class="fb-like" data-href="URL" data-send="false" data-layout="button_count" data-width="450" data-show-faces="true"></div>
有两种逻辑方法可以解决您的问题,都由设计组成:
- 只是不使用您现在使用的覆盖系统,而是禁用点赞按钮并显示"登录点赞"消息,因此用户必须首先登录,然后点赞,但消息会让他们意识到这一点。不过对用户来说不是很友好
- 另一种解决方案是,如果点击了点赞按钮,但他们没有登录,在成功登录后,将点赞操作发送到facebook,或者简单地触发点赞按钮的点击事件-这两种解决方案都是客户端事件。"然而,如果他们发现了,没有办法不让你受到脸书的惩罚。"这里引用另一个答案