2011-07-02 9 views
0

誰かが私を助けてくれることを願っています。私はIframeアプリケーションを開発しています。私はPHPとJavasciptの混合物を使用しています。Facebookのフェイスブックセッションを維持する方法

Facebookのプロフィールで作成されたFacebookのタブをクリックすると、すべてが完璧に機能します。しかし、私は自分のページ内のいくつかの機能を編集する2番目のページを持っています。このページに移動すると、認証やログインセッションが失われているようです。

好きなボタンは、好きには行きません - (セッションが途切れるようです)。

Facebookのセッションを次のページに保存するにはどうしたらいいですか?

私はページの所有者、およびLIKEボタンが誰であるかを見ることができます(これは、そのFacebookの最初のアクセスのページです)このページで

<?php require 'facebook.php'; 
$app_id = "MY-APP-ID"; 
$app_secret = "MY-APP-SECRET"; 
$apiKey = "1573bcaff76885d24c5ca93d93266a9e"; 
$app_url = "http://domain.com"; 
$facebook = new Facebook(array(
'appId' => $app_id, 
'secret' => $app_secret, 
'cookie' => true 
)); 
if ($_SERVER['HTTP_REFERER'] != 'http://domain.com/facebook/edit_page.php'); 
{ 
$signed_request = $facebook->getSignedRequest(); 
$page_id = $signed_request["page"]["id"]; 
$page_admin = $signed_request["page"]["admin"]; 
$like_status = $signed_request["page"]["liked"]; 
$country = $signed_request["user"]["country"]; 
$locale = $signed_request["user"]["locale"]; 
if ($page_admin == 1) { 
$oauth_token = $signed_request["oauth_token"]; 
} 
} 
if ($like_status) { 
// If you like the page this will show - START 
} 
else {} 
if ($page_id == '12345') { 
echo "content for 12344"; 
} 
elseif ($page_id == '56789') { 
echo "content for 56789"; 
} ?> 

を私nav.phpの完全なページが含まれていましたショー好き!次のページに認証を渡すにはどうすればよいですか? Likeボタンが好きなように

助けていただけたら幸いです!

おかげ

+0

'if($ _SERVER ...) 'の直後にセミコロン(;)があります。 – MeetM

+0

私は問題を理解しました - 私の場合、私はgetSignedRequest()を渡す必要がありました。すべてのページに、セッションはそのまま残ります –

+0

あなたはそれを渡さなければならないという意味ですか?私は同様の問題に遭遇しており、それを解決する最善の方法を見つけ出すことに問題があります。 – Lisa

答えて

0

私はこの問題を考え出した - 私の場合は)getSignedRequestを(渡すために必要な。セッションが所定の位置にとどまるように、すべてのページに適用されます。

関連する問題