Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.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/9.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 CodeIgniter-can';第一次尝试时无法登录_Php_Facebook_Codeigniter_Facebook Login - Fatal编程技术网

Php Facebook CodeIgniter-can';第一次尝试时无法登录

Php Facebook CodeIgniter-can';第一次尝试时无法登录,php,facebook,codeigniter,facebook-login,Php,Facebook,Codeigniter,Facebook Login,我正在使用Facebook PHP与CodeIgniter的集成。 我有一个问题,我点击了登录链接,它将我带到Facebook登录,我成功登录,当它重定向回我的页面时,没有任何Facebook信息通过。然后,如果我再次单击登录链接,它会立即让我登录,而无需使用Facebook登录表单。如果我刷新页面而不是第二次单击登录链接,Facebook信息仍然不会显示 我觉得这与会议有关 $facebook = $this->facebook; $user = $facebook->getUse

我正在使用Facebook PHP与CodeIgniter的集成。 我有一个问题,我点击了登录链接,它将我带到Facebook登录,我成功登录,当它重定向回我的页面时,没有任何Facebook信息通过。然后,如果我再次单击登录链接,它会立即让我登录,而无需使用Facebook登录表单。如果我刷新页面而不是第二次单击登录链接,Facebook信息仍然不会显示

我觉得这与会议有关

$facebook = $this->facebook;
$user = $facebook->getUser();
$user始终为0,直到我第二次单击登录链接。 这是登录流:
我觉得好像在获取/宣誓/授权阶段失败了

编辑:我的应用程序中的其他页面正常工作。登录第一次尝试时显示Facebook数据。其他几页没有什么不同。它们都以相同的方式使用fb_login()函数

EDIT2:我使用var_dump($facebook)查看失败登录上的变量有什么不同。当我遇到问题时,我发现状态已设置。如果未设置,则登录时不会出现问题。但我仍然不知道如何解决这个问题。这是var_dump():


我已经解决了这个问题。
我不知道问题的原因是什么,但我修改了代码,现在它可以工作了。有问题的代码是:

try {
    $profile = $facebook->api('/me');
} catch (FacebookApiException $e) {
    error_log($e);
    $user = null;
}
我在它周围包装了一个if,这样只有在实例化$user变量时才会调用它。代码是这样的:

if ($user) {
    try {
            $profile = $facebook->api('/me');
    } catch (FacebookApiException $e) {
        error_log($e);
        $user = null;
    }
}

你能给我发送图书馆文件吗?嗨@jack,我不确定你到底在找什么,但如果你想将Facebook与CodeIgniter集成,你可以看看本教程:
try {
    $profile = $facebook->api('/me');
} catch (FacebookApiException $e) {
    error_log($e);
    $user = null;
}
if ($user) {
    try {
            $profile = $facebook->api('/me');
    } catch (FacebookApiException $e) {
        error_log($e);
        $user = null;
    }
}