nameにしていた名前を、$_POST[name]から取り出しても期待通りに行きません。
こんにちは。
$_POST[name]は配列で、チェックした値だけが連続して格納されていると思います。
格納されている値は、
print_r( $_POST[name] )
で確認できます。
取り出し方についてはこちらを参照されてはいかがでしょうか。
http://www.gac.jp/article/index.php?stats=question&category=11&i...
PHPはよく知らないので外している可能性大ですが
チェックボックスやラジオボタンなどの場合、同じnameを
指定しないといけなくて同じ名前を指定すると同じ名前のFORM
情報が送信され、上書きされてしまいます。
CGI(Perl)の場合はチェックボックスやラジオボタンのFORM情報は
配列のハッシュで取得します。
# 環境変数取得 if ($ENV{'REQUEST_METHOD'} eq "POST"){ read(STDIN, $query, $ENV{'CONTENT_LENGTH'}); } else { $query = $ENV{'QUERY_STRING'}; } # デコード $i = 0; $j = 0; @args = split(/&/, $query); foreach $i (@args) { ($name, $val) = split(/=/, $i); $val =~ tr/+/ /; $val =~ s/%([0-9a-fA-F][0-9a-fA-F])/pack('C', hex($1))/eg; # チェックボックスの場合 if($name eq 'checkbox') { $cgi{$name}[++$i] = $val; # ラジオボタンの場合 } elsif($name 'radiobutton') { $cgi{$name}[++$j] = $val; # それ以外の場合 } else { $cgi{$name} = $val; } }
(上記は動作確認していませんが確かこんな感じだったと)
http://www.sakura-pc.jp/php/02020000.shtml
にあるように、name="chk[]" というかたちにします。
name="chk" だと最後にチェックされた部分しか取得できません。
ありがとうございました!
解決しました!