- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:複数のチェックボックスの値を、ひとつの変数に入れて表示したい。)
Perlで複数のチェックボックスの値を変数に入れて表示する方法
このQ&Aのポイント
- Perlを使用して、フォームから選択されたチェックボックスの値を変数に保存し、別の画面で表示する方法について教えてください。
- フォームにはAからFまでのチェックボックスがあり、選択された値を変数$work6に追加して表示したいと考えています。
- forループを使用して、q6_1からq6_7の値を取得し、最後に「/」を追加して変数$work6に書き込む方法を試しましたが、うまくいきませんでした。どのように修正すればよいでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
おっと、もう一箇所 print IN "$FORM{'q6_$q6'}." / ""; ここは文字列部分の表記の仕方がおかしいです。 print IN $FORM{'q6_'.$q6} ." / "; ですね。 #私の回答部分では"/"と書いてしまったので #" / "と置き換えておいてください。
その他の回答 (1)
- karumakaruma
- ベストアンサー率65% (65/100)
回答No.1
とりあえず間違ってる部分は $FORM{'q6_$q6'} ↑ここの部分です。 $FORM{'q6_'.$q6} にすれば問題はありません。 あと、q6_1~q6_7までありますが、質問の方法だと q6_6までしか出力されないですが、いいのでしょうか? for ($q6 = 1; $q6 <= 7; $q6++){ ↑"="が必要ですね。 さらに、 if ($FORM{'q6_$q6'} ne '') { } で出力しているので、チェックされていない部分は 詰めて出力されますがよかったのですか? A/C/F/ という感じになります。 A/B/C/D/E/F/G とするにはこんなのはどうでしょう? #インデントは全角スペースですのでコピーするときは #注意してください。 $work6=""; for($i=1;$i<=7;$i++){ if( $i != 1 ){ $work6 .= "/"; } $work6 .= $FORM{"q6_".$i}; } という感じでいいんじゃないでしょうか。
お礼
ありがとうございます! すごい!すごい!出来ました! チェックボックスが100近くあるフォームを作っていて、途方に暮れていました。 力業で1つ1つ処理しようと思っていましたが、非常に助かります。 教えて頂いた修正点を見ると、私が作ったソースも大幅に外れているわけではなかったんですね…。 改良点もお教え頂いてありがとうございます。 早速使わせて頂きます。 ありがとうございました。 また質問したときにはよろしくお願いします。 では失礼します。