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();
}

ヒント: 2 番目の例では空白のページを表示しています。Facebook がアプリに (空白のページではなく) 何かを表示することを望んでいる可能性があります。

于 2013-01-13T12:55:47.057 に答える