Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.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
使用Facebook PHP SDK自动登录不需要';t工作_Php_Facebook_Facebook Php Sdk - Fatal编程技术网

使用Facebook PHP SDK自动登录不需要';t工作

使用Facebook PHP SDK自动登录不需要';t工作,php,facebook,facebook-php-sdk,Php,Facebook,Facebook Php Sdk,我使用facebook PHP SDK将facebook与我的网站集成,我已经登录了我的facebook帐户,但当我进入我的网站时,不会自动登录 $facebook = new Facebook(array( 'appId' => XXXXXX, 'secret' => XXXXXXXXXXXXXX, )); $user = $facebook->getUser(); // Login or logout url will be

我使用facebook PHP SDK将facebook与我的网站集成,我已经登录了我的facebook帐户,但当我进入我的网站时,不会自动登录

    $facebook = new Facebook(array(
      'appId'  => XXXXXX,
      'secret' => XXXXXXXXXXXXXX,
    ));



$user = $facebook->getUser();

// Login or logout url will be needed depending on current user state.
if ($user) {
    $logoutUrl = $facebook->getLogoutUrl();
} else {
    $loginUrl = $facebook->getLoginUrl();
}
这里的
$user
值为“0”,在我进入facebook帐户后进入我的网页

如果我通过我网站的facebook登录登录。它可以工作,即,
$user
将获得一个id

但当我进入我的网站,自动登录不会发生

PHP SDK本身无法提供用户重新访问您页面的自动登录,因为它无法读取Facebook在其自己域下设置的cookie

您必须将其与JS SDK结合使用,JS SDK可以进行跨域请求,因此能够确定当前登录到Facebook的用户,以及他们以前是否访问过您的页面并使用过您的应用程序

FB.getLoginStatus
是用于此的方法;如果它返回用户已经连接到您的应用程序,您可能会触发从JavaScript重新加载页面,以便PHP SDK也了解用户。(如果不重新加载页面,PHP只会在用户下次单击页面内的链接后才知道用户,从而触发对服务器的下一个请求。)