2011-08-15 13 views
1

私はCOOKIESの設定と取得に問題があります。私はiframeの外にif cookieを設定してfacebookにリダイレクトするページを持っています。ここで私はCOOKIEを以前に設定してDBに保存します。このユーザーパスはうまく動作しますが、ユーザーがfacebookページ(タブ)に直接アクセスすることができる点を除き、Cookieを設定する必要があります。PHPの設定/ Cookieの取得と同じページ

私は私が使用するクッキーを設定する際に特定のブラウザでP3Pポリシーが存在しなければならないことを知っている: ヘッダ( 'P3P:CP = "IDC DSP COR ADMデビTAII PSA PSD IVAi IVDi CONI HIS OUR IND CNT"' );それはIEの仕事をしているが、私は問題がIE関連だけではないことに気づいた。

1つの問題は、COOKIEが設定された後にページをリフレッシュせずに同じページにCOOKIEを直接取得しようとすることでしょうか? iframeはCOOKIESがPHPを通してどのように設定されるかに影響しますか?

どのような考えですか?

ありがとうございます。

+0

試し '$ _COOCIE [ 'somenameの'] = ...' '、彼らがあるため – k102

+0

あなたはP3Pヘッダを設定するには注意する必要がありますsetcookie'の代わりにあなたの使用データをどのように扱うかを法的に拘束する可能性があります。通常は、合法的に検証可能なアサーションを作成するXML P3P文書にリンクする必要があります。残念ながら、IEを取得してiFrameにCookieを設定する方法はありません。 P3Pヘッダーを含めなかった場合は、クッキーレスのソリューションが必要です。 –

+0

他のすべてのブラウザでクッキーはうまく動作するはずです。また、ヘッダーをまだ送信していない限り、クッキーをチェックして同じPHPコードセットで設定できるはずです。 –

答えて

0

IE以外のすべてのブラウザでCookieが正常に動作するはずです。また、ヘッダーをまだ送信していない限り、クッキーをチェックして同じPHPコードセットで設定することができます。サーバーは要求を受け取り、おそらくあなたのクッキーを含むヘッダーが読み込まれます。

PHPコードでは、これらのCookieをチェックし、ヘッダーのロードを設定してユーザーのブラウザに戻すことができます。しかし、ヘッダーの設定が完了する前に、誤ってユーザーのブラウザにいくつかのものを送り返すことは非常に簡単です。その場合、その時点以降のCookieの設定は機能しません。たとえば、閉じるPHPタグ?>をファイルに入れた後、新しい行やスペースをコードが実行された時点でユーザーのブラウザに送り返すと、応答ヘッダーが返されますその時点以降は変更できません。

「ヘッダーは既に送信されました」というエラーが表示されるはずです。

てみランニング:
http://www.php.net/manual/en/function.headers-sent.php

http://www.tech-recipes.com/rx/1489/solve-php-error-cannot-modify-header-information-headers-already-sent/

+0

私はCOOKIESを設定する前にP3Pヘッダーのみを設定します。それはそれらを設定することに影響を与えますか? –

+0

私はそうは思わない(あなたのやり方によって)。すべてのヘッダーをまとめるだけで、出力と一緒に送信する必要があります。 livehttpheaders http://livehttpheaders.mozdev.org/ firefox extensionを使用して、ヘッダーを検査し、返される内容を確認してください。それはブラウザにまったく依存すべきではありません。 –

+0

私が考えることができるもう一つの原因は実際にはクッキーを無効にしている人の数が実際には私よりも大きいことです。... –

関連する問題