Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Facebook登录:检查每个页面的身份验证?_Php_Facebook_Session - Fatal编程技术网

Php Facebook登录:检查每个页面的身份验证?

Php Facebook登录:检查每个页面的身份验证?,php,facebook,session,Php,Facebook,Session,我遵循以下指南: 登录时一切正常。我不明白的是我如何处理“会话”: 我想使用FB.getLoginStatus代替sessions 每次用户进入我网站的新页面时,我都必须检查FB.getLoginStatus 36。这是否意味着我必须为每个页面初始化JavaScript SDK?每个页面有50行代码,只是为了检查登录状态 我正在使用PHP、MySQL、JavaScript和HTML5 在Facebook开发者区域,他们似乎有一个关于如何在不调用Javascript SDK的情况下登录的部分

我遵循以下指南:

登录时一切正常。我不明白的是我如何处理“会话”:

  • 我想使用FB.getLoginStatus代替sessions
  • 每次用户进入我网站的新页面时,我都必须检查FB.getLoginStatus 36。这是否意味着我必须为每个页面初始化JavaScript SDK?每个页面有50行代码,只是为了检查登录状态

我正在使用PHP、MySQL、JavaScript和HTML5

在Facebook开发者区域,他们似乎有一个关于如何在不调用Javascript SDK的情况下登录的部分

用户将拥有可用于进一步请求的API访问令牌

我希望这有帮助

我想使用FB.getLoginStatus代替sessions

FB.getLoginStatus
用于帮助您根据访客的登录状态优化访客体验,因此它不是“会话”的替代品

每次用户进入新页面时,我都必须检查FB.getLoginStatus 在我的网站上。这是否意味着我必须初始化JavaScript SDK 每一页?这是50行代码,每一页只是为了检查 登录状态

嗯,如果您希望使用Javascript SDK,那么必须初始化Javascript SDK。现在我看不出代码行数有任何问题,因为Facebook已经异步加载SDK,因此不会阻塞您的页面资源

关于第一点,您不必每次在页面加载时都调用
FB.getLoginStatus
,Facebook已经在相关的:

而您可以随时调用
FB.getLoginStatus
(例如 用户尝试进行社交活动),大多数社交应用程序都需要知道 在页面加载后尽快显示用户的状态。在这种情况下,, 与其显式调用
FB.getLoginStatus
,还可以 调用
FB.init
时,通过设置
status:true
检查用户的状态

要接收此呼叫的响应,您必须订阅
auth.statusChange
事件。此事件传递的响应对象为 与调用
FB.getLoginStatus返回的相同
明确地说


现在,您可能错过了一件事,那就是:

FacebookSDK for PHP可以与FacebookSDK配合使用 为Javascript提供跨 应用程序的客户端和服务器端


这将使您的生活更加轻松,因为在加载页面时(之前),您将了解用户状态,从而相应地定制用户体验,然后等待Javascript SDK触发的任何状态更改。

谢谢。让我想一想:php sdk读取javascript sdk设置的cookie?然后,为了获得当前状态,我只需在我的整个站点中检查cookie?是的,PHP-SDK和JS-SDK共享相同的cookie名称,因此这就是它们很好地结合在一起的方式。现在要检查“当前状态”(在为页面提供服务时),您可以使用
$facebook->getUser()
,并始终使用JS-SDK事件侦听器查看用户在页面上时可能发生的任何更改。您可以始终通过SDK了解其操作方式,例如:。