このページは福井県立大学の田中求之が2006年1月まで運用していた Mac のサーバ運用に関する会議室 「Web Scripter's Meeting」の記録です。情報が古くなっている可能性がありますのでご注意ください。

フォームデータの複数選択時のデコード方法

発言者:ひろ
( Date Thursday, November 02, 2000 18:55:58 )


こんばんわ。CGI初心者で申します。
Perlを使用して作成しています。
そこで、フォームからの複数データ入力可能として行った場合に
同じKeyでデータを受け取ります。
それをデコードして1つずつデータを取るにはどうやれば
良いのでしょうか?

☆例
GETを使用して、Sフォームを複数データ入力した場合
Sが01,02,03 の時(下記参照)

http://192.168.1.91/cgi-bin/sp/test2.cgi?s=01&s=02&s=03&box1=1

ここから01、02、03をとりたいのですがkeyで抽出すると
"010203"になってしまいます。

どうぞご教授ください。


春風はるか さんからのコメント
( Friday, November 03, 2000 00:11:10 )

複数データ入力可能のフォームの場合だけ配列に入れる、という処理で出来ます。
そのフォームかどうかは、NAME=VALUEの、NAMEの部分で判断できるはずです。
詳しくは、私のページを見て下さい。

ただし、入力データを cgi-lib とかで処理しているのであれば、確か「\0」とかで実は区切ってあって、
「01\002\003」となっていて、「\0」の部分は文字としてみえませんが、
split関数とかで分けることは出来ます。


→  ブラウザからのデータの取得


ひろ さんからのコメント
( Monday, November 06, 2000 10:36:41 )

おかげさまでデコードする事ができました。
ページは非常に分かり易かったです。
大変ありがとうございました。