[PHP-users 17745]Re: チェックボックスの複数選択について

Satoru Yamashita sat @ sengawa.jp
2003年 9月 9日 (火) 10:59:46 JST


山下です。

> 結構省略させて頂きましたが、ソース的には以下のような感じです。
> 現状の状況はチェックボックスの値が取れません。
> 
> <?php
> for ($i=1; $i<11; $i++)
> {
>>>     echo "<TR><TD><input type=checkbox name=check[$i] value=" . $i . 
> "></form></TD>";

気になる部分としては、ここの echo の所で form 閉じてていいんですか?
form 全体が見えないので正しいのかどうかわかりませんが。

あと checkbox の name で offset 指定すると、check 付かない部分は
存在しないことになるんで、取り出す時に check 無しのとこを指定すると
apache とかの errorlog に大量の
 Notice: Undefined offset: 1 in /usr/local/apache/htdocs/hoge.php on line 12
とかいう log が吐かれます。

アクセス数によっては無駄なlogも馬鹿にならないので、私なら FORM の所は
name=check[] にして、後半の部分はチェック数を知りたいと言うだけなら、

<?php

// register_globals=off なら↓使う
// $check = isset($_REQUEST['check']) ? $_REQUEST['check'] : '';

    $ii = sizeof ($check);
    echo " " . $ii . " \n";
?>

とかやります。

この場合は check が付いた物だけの配列になるので、何番目に check が
付いたかとか知りたい場合は値で判別するしかないかも。

--
Satoru Yamashita (sat @ sengawa.jp)


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