重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

CGI チェックボックス

kentさんのmsgenq v1.81でチェックボックスを使いたいと思っています。

プルダウン(初期)からチェックボックスに変更するため
以下の変更を行いました。

このQ&Aを参考に
http://www.kent-web.com/support/old/61/0412.html

変更前スクリプト
http://myangus.net/1.txt

変更後スクリプト
http://myangus.net/2.txt

変更後ですが
チェックボックスを表示することができましたが
Q&Aと同じ状況(複数にチェックをした場合、先頭のチェック項目のみが結果に反映し、先頭以降のチェックは無視される状況)です。

Q&A通り修正したいのですが
バージョンが異なることと自身の知識不足のため
どこを修正すればよいのかわかりません。

kentさんのQ&Aにて質問させていただきましたが
よい回答が得られなかったため
こちらで質問させていただきました。

Q&Aの回答では、この辺りを修正しているようですが
どうなのでしょうか・・・
http://myangus.net/3.txt

どなたか教えていただけないでしょうか。
よろしくお願いいたします。

A 回答 (1件)

 nameが同じデータをハッシュに入れると、上書きされてしまいますから、順次、配列(リスト)に入れるか、$hash{'hoge'} .= $data;とつなげていくかしないとだめです。


 スクリプトはちらっと拝見しましたが、その部分ではなく受け取ったデータの格納部分の変更が必要です。

この回答への補足

申し訳ございません。
利用が初めてなものでお礼欄に質問してしまいました。

補足日時:2010/04/12 18:32
    • good
    • 0
この回答へのお礼

貴重な情報感謝いたします。
お恥ずかしい質問ですが格納部分はどの辺りでしょうか。
調べれば調べるほど深みにはまっているようです。

この辺なのかなぁと挙げてみましたが・・・
どうなんでしょうか。

sub decode {
my $buf;
$post_flag = 0;
if ($ENV{'REQUEST_METHOD'} eq "POST") {
$post_flag = 1;
read(STDIN, $buf, $ENV{'CONTENT_LENGTH'});
} else {
$buf = $ENV{'QUERY_STRING'};
}

foreach ( split(/&/, $buf) ) {
my ($key, $val) = split(/=/);
$val =~ tr/+/ /;
$val =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("H2", $1)/eg;

お礼日時:2010/04/12 18:29

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!