2011-06-23 18 views
1

PHPとFacebook SDKを使用してiframeアプリケーションを構築しています。最初のページには、2番目のページにリンクする「ダウンロード」ボタンがあります。 2番目のページで私は次のコードを使用します:複数のPHPページを含むFacebookアプリ

$signed_request = $facebook->getSignedRequest(); 
$page_id = $signed_request["page"]["id"]; 
$page_admin = $signed_request["page"]["admin"]; 
$like_status = $signed_request["page"]["liked"]; 
if ($like_status) { 
include('download.php'); 

} 
else { 
include('non-fan.php'); 
} 

私はFacebookのページが好きな人にのみダウンロードを提供したいと思います。何らかの理由で$ signed_request変数が空です。これをどうすれば解決できますか?

答えて

5

iframeでは、Facebookは、ページ全体の初期読み込み時に署名されたリクエストのみを投稿します。その後のiframe内のpageloadsは投稿を受信しません。

署名されたリクエスト変数をシリアライズして、セッション内に隠しておき、新しいペイロードチェックがある場合は各ペイロードのチェックを行い、セッションから取得していない場合は隠すことができます。

+0

ここで解決策が見つかりました:[link] http://stackoverflow.com/questions/5703585/facebook-signed-request-problem [/ link] – Jake

+0

これは私のために働いた。ありがとう。 – evanmcd

関連する問題