0

这真是一个奇怪的功能..我不确定这是否与 Facebook 或 PHP 有关..我会假设后者..?

我的问题如下。如果授权我的 facebook 帐户的用户访问包含以下代码的页面,则输出“hello”并设置 $me。

if($user)
{
    try
    {
        $me = $CI->facebook->api('/me');
        $CI->our_fb['is_fb']='YES';
        echo "hello";
    }
        catch(FacebookApiException $e) 
    {               
        echo $e;
    }
}
else
{
    echo "nouser";
}

但是,如果用户访问一个页面,代码是:

if($user)
{
    try
    {
        $me = $CI->facebook->api('/me');
        $CI->our_fb['is_fb']='YES';
        //echo "hello";
    }
        catch(FacebookApiException $e) 
    {               
        echo $e;
    }
}
else
{
    echo "nouser";
}

然后输出“nouser”。

编辑

该错误实际上与 try/catch 语句无关,而是与条件 if 语句相关联。道歉。

似乎情况是,如果if($user)条件内没有输出任何内容,则正在执行 else 语句。条件的目的是设置一个变量不输出任何东西。

为什么?

4

1 回答 1

0

请使用以下代码收集有关异常的更多信息:

catch(FacebookApiException $e) {
    echo $e->getType();    
    echo $e->getMessage();
}

提示:您在第二个示例中显示空白页。可能是 facebook 希望您在您的应用程序中显示某些内容(而不是空白页面)。

于 2013-01-13T12:55:47.057 回答