[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 メーリングリストの案内