2011-01-24 7 views
0

お客様が私のウェブサイトの顧客エリア内に友だちを招待できるようにしたいと思います。Facebookの招待と返事の後、すべてのセッションが終了しました

お客様のウェブサイトの顧客エリアにログインした後、すべての個人セッションデータが通常どおり作成されます。

カスタマーがクリックしてfacebook接続し、許可を与え、招待するためにチェックできる友達のリストが表示されます。

招待が完了して同じページに戻ったら、私のすべてのウェブサイトのセッションデータはなくなりました。唯一の他の活動を実行するために戻ってすべての私の既存のセッション件のデータをFacebookのセッション(access_tokenは、base_domain、有効期限が切れ、秘密、SESSION_KEY、SIG)私が来るか疑問

...

私が欲しいを残しました。

戻す方法はありますか?

session_start(); 

($ _ SESSION [ "ユーザ名"] == ""){

}

$投稿=新しいフェイスブック(配列(

'appId' => $fbconfig['appid'], 

    'secret' => $fbconfig['secret'], 

    'cookie' => true, 
)); 

$ sessionfb = $場合facebook-> getSession();

//このフェイスブックのセッションは、最新のfacebook.phpをsdkの一部として提供しています

$ loginUrl = $ facebook-> getLoginUrl(

array(
     'canvas' => 1, 

      'fbconnect' => 0, 

      'req_perms' => 'email,publish_stream,status_update,user_birthday') 
); 

$ fbme = NULL;

print_r($ _ SESSION);

<fb:serverFbml style="width: 500px;"> 
    <script type="text/fbml"> 
     <fb:fbml> 
      <fb:request-form 
        action="<?=$fbconfig['baseUrl']?>/index.php" 
        target="_top" 
        method="POST" 
        invite="true" 
        type="testing" 
        content="testing <fb:req-choice url='<?=$fbconfig['appBaseUrl']?>' label='Accept' />" 
        > 

        <fb:multi-friend-selector 
        showborder="false" 
        actiontext="testing "> 
     </fb:request-form> 
     </fb:fbml> 
    </script> 
</fb:serverFbml> 

答えて

0

私はログインURLに知っているようにあなたがキャンバス= 1、fbconnect = 0を使用する場合、それはあなたがFacebookの中のFacebookアプリケーションを持っていることを意味について。 canvas = 1とfbconnect = 0を指定しています。あなたのサイトに埋め込みfacebookをしている場合は、コントラストを行う必要があります。 fbconnect = 0は、あなたのサイトにFacebookを埋め込んでいないことを意味します。

+0

あなたはコントラストを行う必要があります。 fbconnect = 0はあなたのサイトにFacebookを埋め込まないことを意味しますか? –

+0

私の親愛なる人は、facebookで作業するには2つの方法があります。 1つはあなたのサイトに埋め込まれたfacebookで、もう1つはfacebookアプリケーションを作ることです。 fbconnect = 0を指定すると、facebookアプリケーションを構築していることを意味します。 –

関連する問題