OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

POSTで配列のデータを渡す方法は?

  • 暇なときにでも
  • 質問No.182146
  • 閲覧数1385
  • ありがとう数2
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 100% (4/4)

初歩的な質問で申し訳ございません。配列でデータを入力し、POSTで配列のデータを渡す方法を知らなくて困っています。いろいろ調べましたが、見つかりません。
だれか、教えてください。
.....
&ReadParse(*in);
for ($i = 0 ; $i <=10 ; $i++){
   $data[$i] = $in{'data[$i]'};
}
sub main {
。。。以下修正部分・。。。
print "<form method=\"POST\" action=\"$userpro\">";
print " <input type=\"hidden\" name=\"mode\" value=\"miss1\"><p>";
print " <input type=\"text\" name=\"data[1]\" size=\"20\" value=\"$data[1] \">";
print " <input type=\"text\" name=\"data[2]\" size=\"20\" value=\"$data[2] \">";
print " <input type=\"text\" name=\"data[3]\" size=\"20\" value=\"$data[3] \">";
......
print " <p><input type=\"submit\" value=\"修正\" name=\"B1\"></p>\n" ;
print "</form>\n" ;
・・・・

}

#Submit後実行される関数
sub miss1 {
print "Content-type: text/html\n\n";
for ($i = 0 ; $i <=10 ; $i++){
print "$i-$data[$i]<br>";
}
exit;
}

結果は
0-空(空白)
1-空(空白)
2-空(空白)
。。。
にです。

何が間違っているでしょうか。よろしくお願いします。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.2
レベル9

ベストアンサー率 48% (25/52)

配列を利用するのではなく、この場合は、$data_1や$data_2などの変数を利用するのが無難です。<input type> がtextですので。
ただ、<select ... multiple>やcheckboxの場合は、別の処理の仕方を工夫する必要があります。
一番良いやり方は、&ReadParseを使わず、連想配列を活用する方法です。
インプレス社の「Perl5 パワフルテクニック大全集」の、第7章にヒントがあります。ご参考まで。

尚、PHPを使えば、abparkさんが書かれたような「配列」を利用することが出来ます。
お礼コメント
abpark

お礼率 100% (4/4)

X-Terra様
ありがとうございました.
自分も配列ができなかったので、$data_1。。。の方法をとっては
見ましたが、できなかったので質問しましたが、コメントのあと
もっとやってみるとできました.
本当にありがとうございます.
以下のようにしました.

sub correct {
print "Content-type: text/html\n\n";
print "data1-list->$data1<>$data2<>$data3<p>\n\n";
for ($i=1;$i<=3;$i++) {
$da = "data$i";
print " $i-> $$da <br>\n\n";
}
}

//結果は
data1-list->test1<>test2<>test3
1-> test1
2-> test2
3-> test3
以上でできました.
投稿日時 - 2001-12-11 12:53:59
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1
レベル10

ベストアンサー率 47% (22/46)

HTMLが問題で、name の値に [ があるからだと思いました。 <html> <input name=inp value=test01> <input name=inp[0] value=test02> <button onClick=alert(inp.value)>inp</button> <button onClic ...続きを読む
HTMLが問題で、name の値に [ があるからだと思いました。

<html>
<input name=inp value=test01>
<input name=inp[0] value=test02>
<button onClick=alert(inp.value)>inp</button>
<button onClick=alert(inp[0].value)>inp[0]</button>
<html>
お礼コメント
abpark

お礼率 100% (4/4)

A__様
ありがとうございました.
コメント、役に立ちました.
投稿日時 - 2001-12-11 12:55:44


このQ&Aで解決しましたか?
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ