この PHP ヘッダー関数は、IE を除くすべてのブラウザーで機能します。Facebook フィード ダイアログを Facebook (iframe) 内のキャンバス ページにロードしています。
IE の場合:
ヘッダーは Facebook に読み込まれますが、実際のフィード ダイアログではなく、「エラーが発生しました」という青いボックスだけで、そのエラーの具体的な詳細は表示されません。
他のすべてのブラウザーでは、ヘッダーは期待どおりに機能し、キャンバス フレーム内にページが読み込まれます。
スクリプトはフォームの結果を MySQL データベースに挿入し、これが成功すると、ヘッダーはユーザーをフィード ダイアログにリダイレクトします。
そのため、変数を処理する IE に問題があるか$feeddialogurl
、またはロードを妨げている IE のセキュリティ制限があるかどうかが懸念されます。
*更新 - ヘッダーが期待どおりに機能することをさらにテストした後、IE に直接貼り付けると URL が機能します。
他に提案はありますか?
$feeddialogurl = "https://www.facebook.com/dialog/feed?
app_id=254705324634259&".$applink."&
picture=".$apppicture."&
name=".$appname."&
caption=".$appcaption."&
description=".$appdescription."&
redirect_uri=".$redirecturi;
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
else
{
header("Location: $feeddialogurl");
exit;
}
mysql_close($con);
ob_end_flush();
以下の IE のエラー メッセージを参照してください。フィード ダイアログはアプリ フレームに読み込まれます (したがって、Facebook のトップ メニュー バーが複製されます)。これは、他のすべてのブラウザー バー IE で機能します。