私は説明できない非常に難しい問題を抱えています...まったく。ここの誰かがこの苦境に光を当てることができることを本当に願っています.
私のウェブサイトには、ある種の登録フォームを表示する自己開発モジュールがあります。登録フォームは、さまざまな部分で構成されています。
- 個人情報
- 教育情報
- 語学力
- ローカル/取引所固有の情報
- いくつかのオプションの追加のコメント。
AHAH と AHAH Helper モジュールを使用して、このフォームを「マルチページ」になるように作成 (読み取り: プログラム) しました。上部には、登録全体のどの部分に現在入っているか、およびまだ完了していない部分を説明するヘッダーがあります。フォームの異なるページ間を移動するための前/次ボタンがあります。これはすべてAHAHによって制御されており、デフォルト値「current_page」を持つ非表示のフォーム要素を使用してページを追跡しています。とにかく、それはポイントの一種です。
上記の説明の重要な部分は、form_state 変数を使用することにより、すべての異なる部分のデータが異なるページを介して永続化されるということです。AHAH Helper は、フォームに入力された以前の値を form_state の「ストレージ」に保存します。
現在、一部のユーザーは、登録時に次の問題を経験しているようです: 情報を入力しているときに、フォームで AHAH 呼び出しがトリガーされます (例: 次のボタンを押す、電子メール アドレスの有効性を確認する、生年月日を確認する)。 >= 17) AHAH 呼び出しが終了した後、既に入力されていたフォーム要素内の値は、完全に異なる値に置き換えられています。別の人の名前、年齢、メールアドレスなど。この人は、これが起こっていることだと思いますが、明らかに別のセッションで、別のプライベートコンピューターでフォームに記入しています。
ユーザーがこのページを使用して登録するために Web サイトにログインする必要はありませんが、それが問題の原因かどうかわかりません。
とにかく、私が知る限り、コンピューターのさまざまなブラウザーから同時にさまざまなデータをフォームに入力しようとした場合にのみ、問題を再現できます。その場合、form_state データを破損することができます。しかし、ユーザーは異なるセッション/Cookie/その他のものを使用していると思われる異なるプライベートコンピューターにいるため、フォームに記入している別のコンピューターの form_state データに form_state データを変更するにはどうすればよいでしょうか??
わからない?form_state を維持するために AHAH (および AHAH Helper) を使用することに何らかの固有の欠陥がありますか? ある場合、何らかの回避策はありますか?モジュールコードのどこかで、フォームが正しく機能しない大きな newby ミスを犯しているだけですか?
この問題に少しでも光を当てることができる人はいますか? 私は絶対に、そして完全に手がかりがなく、何がうまくいかないのか、どうすれば修正できるのかさえ想像できません。私を助けてください!:S
前もって感謝します!
よろしくお願いします、
トム
編集: この問題は drupal 6.x の問題について説明しています