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