[PHP-users 17747]Re: チェックボックスの複数選択について
cherry28
y-ryu @ oak.zero.ad.jp
2003年 9月 9日 (火) 11:25:30 JST
レジスターグローバルの問題でしょうか・・。
PHPのバージョンが4.2.2以降の場合
特にPHPの設定を変えない限り、
<FORM action="×××" method="post">
<INPUT type="checkbox" name="test">
</FORM>
として、上記のようにname="test" で method="post"として変数を受け渡した場合
受け取るPHP側では
$test では受け取れず
$_POST['test']
として受け取ることになります。
上記の$_POST['test']のままでは使いづらいので
ソースの最初で
$test = $_POST['test'];
と、いつも私はしています。
武田さんのソースをちょっとだけ変えて、動作確認ができたソースを一応以下に載せ
ておきます。
<HTML>
<HEAD>
</HEAD>
<BODY>
<?
//////////////////////////////////////////////////
//////////////////////////////////////////////////
///データ表示&削除チェック///////////////////////
echo("<FORM action=\"./check_test.php\" method=\"post\">");
echo("------------------------------------------");
echo("<BR>");
for($i=1;$i<11;$i++){
echo("表示データ".$i);
echo("<INPUT type=\"checkbox\" name=\"check[".$i."]\" value=\"".$i."\">");
echo("<BR>");
echo("------------------------------------------");
echo("<BR>");
}
echo("<INPUT type=\"submit\" name=\"submit\" value=\"削除\">");
echo("</FORM>");
/////////////////////////////////////////////////
/////////////////////////////////////////////////
//////////////////////////////////////////////////
//////////////////////////////////////////////////
///////削除ボタンが押されたときの処理/////////////
$submit=$_POST['submit'];
$check = $_POST['check'];
if($submit != ""){
for($i=1;$i<11;$i++){
if($check[$i] == $i){
echo("表示データ".$i."を削除します。<BR>");
}
}
}
///////////////////////////////////////////////////
///////////////////////////////////////////////////
?>
</BODY>
</HTML>
PHP-users メーリングリストの案内