[PHP-users 29545] チェックボックスの操作

青山慎一 aoyama @ ddthink.com
2006年 6月 30日 (金) 16:26:44 JST


お疲れ様です、Shouです。

初歩的な質問で申し訳ないのですが、チェックボックスと選択オブジェクトの動作についてです。
まず、form.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
<title>無題ドキュメント</title>
</head>

<body>
<form action="display.php" method="post">

好きな食べ物にチェック<br>

1.<input name="food[1]" type="checkbox" value="寿司">寿司<br>
2.<input name="food[2]" type="checkbox" value="天麩羅">天麩羅く<br>
3.<input name="food[3]" type="checkbox" value="牛丼">牛丼<br>
<input type="submit" value="送信">
<input name="num_of_check" type="hidden" value="3">

</form>
</body>
</html>
で、チェックボックスを付けるページを作成します。
次にチェックしたオブジェクトを表示するdisplay.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
<title>無題ドキュメント</title>
</head>

<body>
<?php
	for($i=1;$i<= $_REQUEST["num_of_check"];$i++) {
		if($_REQUEST["food"][$i]) {
			print "food[$i]の".$_REQUEST["food"][$i]."は選択されました。";
		} else {
			print "food[$i] は選択されませんでした";
		}
		print "<br>";
	}
?>
<hr><pre>
<? print_r($_REQUEST) ?>
</pre>
</body>
</html>
を作成して、form.phpを実行します。

このとき、選択されなかったチェックオブジェクトの表示で
Notice: Undefined offset: x(選択されなかったオブジェクト番号) in c:\Inetpub\wwwroot\phpsample\display.php on line 12
というメッセージが出てしまいます。
回避する方法はありますか?
PHP5.1.4を使っています

よろしくお願いします。


PHP-users メーリングリストの案内