• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:メールフォームの項目が前後してしまいます。)

メールフォームの項目が前後してしまう問題について

このQ&Aのポイント
  • CGIで作成したメールフォームで、項目の並びがバラバラになってしまう問題が発生しました
  • フォームの内容は正しく並んでいたのに、送信されてきたメールの項目が入れ替わっている現象が起きました
  • 同じフォームから送信されたと思われるメールが3つあり、全ての送信者が同一人物でした

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

フォームデータをどのように処理しているかわからないのですが、連想配列を使っているのなら、キー/値のペアの並び順が保証されていないので、 each関数で取り出したら順番がランダムになる可能性はあります。 どうしても同じ順番に取り出したいなら「・名前・フリガナ・住所・電話番号・お問い合わせ内容」の順に取り出すようにCGIプログラムを改造する必要があると思います。あるいはそれが面倒ならば、受け取った後ソートするかだと思います。

kossy0121
質問者

お礼

「値のペアの並び順が保障されていない」ということを知らなかったので、 原因がわかってよかったです。 今まで一度もこのように並び順がおかしなことになったことがなかったので、 おどろいていました。 プログラムできちんとソートしないといけない、ということですね。 ありがとうございました。

その他の回答 (1)

  • SaKaKashi
  • ベストアンサー率24% (755/3136)
回答No.1

CGIってことはurlに?KEY=VALUE形式ですかね。そのKEYの並びが違うってことですか?

kossy0121
質問者

補足

回答いただいてありがとございます。 POST形式で渡しています。 $cgi->param('add'); のようなカタチで受け取っています。 よろしくお願いします。

関連するQ&A