dポイントプレゼントキャンペーン実施中!

formタグの中にfor文がありにチェックボックスが複数表示されます。この内容をPOSTで受け取るにはどのように書いたらいいですか??教えてください

A 回答 (5件)

#1です。


そのままの構文で受け取りはできます。
回答のソースは、データ送信と受取をやるものだと考えてください。
できればそのソースがどのような意味で記述されたものかを読み取れるようになればスキルがあがるのでがんばってください。

受け取るだけならば、
for($i=1;$i<=10;$i++){
$input_name = "check" .$i;
print $_POST[$input_name];
}
で受け取ったデータを書き出します。

checkboxのNameを固定の(動かしたくない、順番を変えたくない、チェックされてない値も調べたい等)場合は#1で、順番はどうでもいい場合は#2さんのを使用すればいいと思います。
    • good
    • 0

こんにちは。



必要ありません。

for ( $i = 0; $i < 10; $i ++ ) {
print "<input type=\"check[]\" value=\"$i\">\n";
}

しいていうならバリュー値を変えてあげれば、何がチェックされたか
わかります。
    • good
    • 0

こんにちは。



PHPの場合特に変数を明示する必要はありません。
しいて行うなら

$ch = array();

普通に受け取るならfor文は必要ありません。
下で書いたとおり
$ch = $_POST['check']で取得できます。

その後の処理によりfor文は使うかもしれませんが。

この回答への補足

$jを変数でfor文でまわしているんですが<input type="checkbox" name="check[]" value="1">を
<input type="checkbox" name="check[<?=$j ?>]" value="1">としなくて良いんでしょうか?

補足日時:2006/02/13 20:43
    • good
    • 0

こんにちは。



<input type="checkbox" name="check[]" value="">として

$_POST['check']に配列として入ってきます。

例えば、for文で10回上のinputを繰り返せば

$ch = $_POST['check'];

$ch[0]~$ch[9]にvalueの値が入ります。

この回答への補足

PHPなので配列の宣言は必要ですか?
あと受け取る時にもfor文はいりますか??

補足日時:2006/02/13 20:06
    • good
    • 0

print "<form method=\"POST\">";


for($i=1;$i<=10;$i++){
$input_name = "check" .$i;
print "<input type=\"checkbox\" name=\"$input_name\"";
if ($_POST[$input_name]) {
print " checked";
}
print "><br>\n";
}
print "<input type=\"submit\" value=\"送信\">\n";
print "</form>\n";

多分動くと思います。

この回答への補足

受け取るほうではどうしたら良いですか??

補足日時:2006/02/13 19:45
    • good
    • 0

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