![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
Perlで質問です。
下記のようなフォームで、A~Fまでのチェックボックスを選んで「test.cgi」にデータを送ります。
<HTML>
<BODY>
<FORM action="test.cgi">
<input name="q6_1" type="checkbox" value="A">A<br>
<input name="q6_2" type="checkbox" value="B">B<br>
<input name="q6_3" type="checkbox" value="C">C<br>
<input name="q6_4" type="checkbox" value="D">D<br>
<input name="q6_5" type="checkbox" value="E">E<br>
<input name="q6_6" type="checkbox" value="F">F<br>
<input name="q6_7" type="checkbox" value="G">G<br>
<INPUT type="submit">
</FORM>
</BODY>
</HTML>
次の画面で、選ばれた物の確認画面を変数「$work6」を呼び出して表示したいと思っています。
<HTML>
<BODY>
A / B / C / D / E / F
</BODY>
</HTML>
この処理をperlを使ってやりたいのですが、どうやったらいいのかわかりません。
for を使って「q6_1~7」を呼び出し、それぞれの最後に「 / 」を追加したあとファイルハンドルを使って、変数「$work6」に追加上書きして表示、と言うことをすれば良いのだろうと、下記のソースを書いて見ましたが、うまくいきませんでした。
(たぶん間違いだらけだと思いますが…。)
open(IN, ">>$work6");
for ($q6 = 1; $q6 < 7; $q6++){
if ($FORM{'q6_$q6'} ne '') {
print IN "$FORM{'q6_$q6'}." / "";
}
}
close(IN);
つたない質問だと思いますが、
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
おっと、もう一箇所
print IN "$FORM{'q6_$q6'}." / "";
ここは文字列部分の表記の仕方がおかしいです。
print IN $FORM{'q6_'.$q6} ." / ";
ですね。
#私の回答部分では"/"と書いてしまったので
#" / "と置き換えておいてください。
ありがとうございます!
すごい!すごい!出来ました!
チェックボックスが100近くあるフォームを作っていて、途方に暮れていました。
力業で1つ1つ処理しようと思っていましたが、非常に助かります。
教えて頂いた修正点を見ると、私が作ったソースも大幅に外れているわけではなかったんですね…。
改良点もお教え頂いてありがとうございます。
早速使わせて頂きます。
ありがとうございました。
また質問したときにはよろしくお願いします。
では失礼します。
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};
}
という感じでいいんじゃないでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- HTML・CSS ただいま勉強始めたての初心者です。フォームを縦並べにしたいです。 2 2022/11/20 17:18
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- PHP $_SESSIONについて教えて下さい。 2 2023/03/02 09:18
- PHP php ログイン 1 2022/11/01 00:24
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
awkスクリプトでダブルクォーテ...
-
LISPによる横型探索
-
DOSコマンドで、標準出力を出力...
-
エクセルVBAで素数だけを出力す...
-
VBAで巨大なファイルの途中から...
-
ファイル名を複数個配列で確保...
-
batファイルでrenameができませ...
-
Windowsで複数のファイルを同じ...
-
VBAでCSVファイルの特定行を書...
-
VBAでCSVファイルを途中行まで...
-
AutoNts
-
ファイルを分割する。
-
perlでcsvファイルを読む(ダブ...
-
cgiで表示するhtmlページ内でバ...
-
全角と半角文字が混在している...
-
エクセルVBA コードが同じでも...
-
Visual Basicを使って三平方の...
-
readdir()で得られるファイル・...
-
Perlで特定行から特定行までを...
-
CSVが可変長の場合の検索方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
awkスクリプトでダブルクォーテ...
-
エクセルVBAで素数だけを出力す...
-
sprintfについて
-
教えて!perlから.exeファイル...
-
重複するデータを抽出できる秀...
-
log2の「正確な」計算方法
-
DOSコマンドで、標準出力を出力...
-
文字コードの変換(Shift-JISか...
-
perlでの文字列抽出
-
至急お願いします。C言語で.img...
-
ダイアモンド演算子<>に対するb...
-
コマンドプロンプトで行が見え...
-
Perlで着メロDLカウント
-
perlのpushについてです。
-
perlでcsvの出力について
-
CGIから外部コマンド実行時の標...
-
ドメインからIPアドレスあるい...
-
MySQLに画像を格納してperlで取...
-
perlでcsvの指定フィールドに書...
-
htmlから、ファイル、もしくはC...
おすすめ情報