0

データを段階的に送信するためのフォームを作成しました。ステップ間では、データはステップ1からステップ2まで続きます。そのデータが必要です。訪問者の50%は、iframeを使用してさまざまなサイトからフォームにアクセスします。

当初、データはCookieに保存されていました。これは、iexplorerを除くほとんどすべてのブラウザで機能しました。私はP3Pで何日もプレイしましたが、あきらめました。何も変わっていません。次に、セッションにこの問題がなかったことを読みました。そこで、ログインシステム全体をセッションに変更しました。

現在、システムをテストしていますが、粗いIexplorerを除いて、すべてのブラウザーはiframe内のフォームを使用して動作します。

何か私にできることはありますか?

更新:サーバーが私のタイムゾーンにある間、サーバーは別のタイムゾーンにありました。タイムゾーンを変更することは役立つはずでしたが、そうではありませんでした。

4

1 に答える 1

1

時間はかかりましたが、解決しました。どうぞ:

  1. タイムゾーンが正しくない場合があります。差が 1 時間以上ある場合、Iexplorer セッションは途中で破棄されます。タイムゾーンを手動で変更するか、ウェブホスティング業者に依頼してください。PHPで試すことができます:date_default_timezone_set(string $timezone_identifier)

  2. 1に加えて、1時間以内に滞在できない場合があります。その場合は、セッション キャッシュの有効期限設定を変更できます。PHPでは、<?php session_cache_expire(1440); ?>

  3. iframes の IE では、アンダースコアに問題があるようです。アンダースコアを使用すると、IE は Cookie を拒否します。したがって、それらを使用しないか、IE がセッションをそのように保存しないようにしてください。

  4. P3P を使用します (法的に許可されているかどうかなどを確認してください)。PHPでは、使用できますheader('P3P: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');

それが私が試したすべてであり、一緒に機能しました(単独ではありません)。

于 2013-01-21T13:33:29.417 に答える