アプリ版:「スタンプのみでお礼する」機能のリリースについて

先日「アンケートCGIについて」という表題で質問させて頂きました。
ご回答下さいました方々、その節はどうもありがとうございました。
また行き詰まってしまったので、ご教授下さいますようお願い致します。

http://www.rescue.ne.jp/cgi/weban/の、アンケートを使わせて頂いております。

このCGIは、通常ひとつの質問のみ対応しているのですが、これを修正して複数の質問を設置したいと考えております。
CGIは、http://www.rescue.ne.jp/cgi/weban/dl/an.cgiに保存されているのですが、これのどの部分を修正すれよいのでしょうか?

HTMLの【name】は"regist"になっており、CGIの"regist"部分を修正すればよいのかと思ったのですが、知識不足で修正することができませんでした。

index.html(フォームページ)
<input type=checkbox name="regist" value="項目1">項目1<br>
<input type=checkbox name="regist" value="項目2">項目2<br>


お分かりになる方がいらっしゃいましたら、ヒントでも結構ですのでどうかご教授下さいますようお願い致します。

A 回答 (2件)

方法はいくつかあるでしょうが、回答項目の type属性値がcheckboxで、name属性値が同じなら、フォームからの投稿データは単純に保存しているだけでしょうから、次のように、たとえば name属性値に連番を付けて追加すれば、質問はいくつでも増やせるでしょう。


◆質問2<br>
<input type=checkbox name="regist2" value="項目21">項目21<br>
<input type=checkbox name="regist2" value="項目22">項目22<br>
◆質問3<br>
<input type=checkbox name="regist3" value="項目31">項目31<br>
<input type=checkbox name="regist3" value="項目32">項目32<br>
 :
 :
    • good
    • 0
この回答へのお礼

ご回答頂きありがとうございました。
また、お礼が遅くなり、誠に申し訳ありませんでした。

お礼日時:2009/07/17 19:30

フォームから送信されるデータは、順次ハッシュないし配列に保存されます。


 nameをハッシュ名に、その値をそのハッシュの値に入れると、同nameがあると当然上書きされてしまいます。名前が異なれば問題ない。
 解決方法として、順次配列に入れていくか、すでにハッシュ値がある場合は、追記するようにすれば良いです。
 push @names,$name;
 push @value,$value;
とか
 if($hash{"$name"}ne ''){ $hash{"$name"}.=$value;}
とか、アンケートによって、ご自由にどうぞ・・
    • good
    • 0
この回答へのお礼

ご回答頂きありがとうございました。
また、お礼が遅くなり、誠に申し訳ありませんでした。

お礼日時:2009/07/17 19:29

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