2011-04-13 152 views
1

我正在尝试做类似于本页面描述的登录/注册流程,但仅通过php。Facebook的登录状态

http://developers.facebook.com/docs/plugins/registration/

我想要做的是显示一个注册链接,如果用户登录到Facebook,但不是我的网站注册和登录链接,如果他们没有登录Facebook,但我想在PHP中完成所有这一切,而不是使用fb:登录按钮小部件。这可能吗?

我有登录网址的工作,我只是想根据用户状态更改按钮的名称。

+0

你想Facebook的API,而无需使用Facebook的API的功能? – drudge 2011-04-13 00:50:29

+0

不,我想知道用户是否已登录Facebook,因此我可以显示“注册”按钮而不是“登录”按钮。 – ricick 2011-04-13 01:40:41

回答

2

你不能没有加载JavaScript的lib。如果您在客户端上从Facebook加载任何内容,则无法进行跨域通信(安全性)。这意味着无法告诉用户是谁,更不用说他们登录Facebook。通过在客户端加载JavaScript API,JavaScript代码可以检查Facebook cookie并确定他们是谁以及他们是否登录Facebook。

检查通过JavaScript,并做一个页面重新加载,如果需要的话。更好的是,只需使用CSS来显示/隐藏你想要的。

http://developers.facebook.com/docs/reference/javascript/FB.getLoginStatus/

+0

是的,它看起来越来越像这是我必须做的。我也发现这是一个有趣的主题阅读。 https://grepular.com/Abusing_HTTP_Status_Codes_to_Expose_Private_Information – ricick 2011-04-13 01:56:35

+0

@ricick:不要使用该方法,您可能会被标记为恶意。 – drudge 2011-04-13 05:53:48

+0

好点。我只需将这个按钮标记为符合两种情况。 – ricick 2011-04-19 07:57:49

1

是的,这是可能的。这里有一个教程: Tutorial, Example tutorial

+0

这不是我的意思。我的网站已经有了登录流程。我想确定一个用户是否完全登录Facebook,类似于登录/注册按钮在这些情况下执行不同操作的方式。 – ricick 2011-04-13 01:02:38