私はクッキーを設定しようとした後、新しいURLにリダイレクトし、設定されたクッキーにアクセスする(またはクッキーが設定されているかどうかをチェックする)が、新しいURLでは利用可能ではないようです。PHPでCookieを設定してから、新しいURLにリダイレクトして、設定したCookieにアクセスしますか?
<?php
header("Location: http://www.facebook.com/pages/tabappURL");
setcookie('coupon', true, time() + 120); //hold for 2 min, time in seconds
?>
また、私は何が何であるのか、なぜこれをやろうとしているのかを説明しましょう。私はiframeであるFacebookのタブアプリを持っています...ユーザーはページを好きですし、コンテストエントリーフォーム(Wufooによって提供されます)が表示されます。ユーザーがフォームを提出すると、wufooは感謝のページにリダイレクトされます...しかし、それはリフレッシュし、Facebookからあなたを引き離します。これは理想的な状況ではありませんでした。私たちはiframe内にありがとうございました。回避策は私のサーバー(iframe内のコンテンツをホストしているのと同じサーバー)の別のページにリダイレクトすることでクッキーを設定してから、FBアプリケーションページにリダイレクトするように、wufoosエンドでiframeを対象にすることはできませんでした。次に、FBアプリはCookieが設定されているかどうかを確認してから、ありがとうメッセージを表示します。
技術的に、これは2つのページである:
のindex.php(有する)
<div class="not-liked">please like us</div>
<div class="liked">enter contest</div>
<div class="thanks">thank you</div> <!-- hidden until page refresh and cookie set -->
redirect.php(クッキーを有する/上記のコードをリダイレクト)
くそ、私を打つ! :-) – ceejayoz
これはiframe Facebookアプリにあるので、ImのコンテンツはCookieが設定されたドメインからのものです。 – awvickers
PHPコードは、実際にフェイスブックサーバーからロード/実行されていますか?他の場所でそのスクリプトをホストしていますか? Facebook.comがiframeを発行している可能性がありますが、コンテンツがサーバーから来ている場合は、サーバーはCookieの原点とみなされ、Facebookのホストされたページには使用できません。 –