[PHP-users 4912] Re: チェックボックスについて

Tatsuro Nakagawa php-users@php.gr.jp
Wed, 23 Jan 2002 17:30:21 +0900


中川@magicです。

--Reply-- kaga <kaga@procen.co.jp> --
> ■入力ページ■
> <FORM>
> <INPUT type="checkbox" name="checkbox[]" value="1">
〜略〜
> <INPUT type="submit" value="選 択">
> </FORM>

この入力ページから下記の確認ページがどうやって実現できたかはかなり謎なのですが・
・・。
$chkLikeではなく、$chekboxだったら理解できるんですが。
おそらく掲載されてないところで$chkLike=$checkboxとかやっているのでしょうか。

> ■確認ページ■
> <?
> //ココで選択された項目を確認します。
> for($int = 0; $int <= $intMax; $int++){
>  if($chkLike[$int] != ""){
>   switch($chkLike[$int]){
>    case 1:
>     echo "データ1";
>     break;
〜略〜
>   }
>  }
> }
> 
> ?>
> <FORM>
> <INPUT type="checkbox" name="checkbox[]" value="<? echo $chkLike; ?>">
> <INPUT type="submit" value="O K">
> </FORM>

それはさておき、上記の入力→確認ページで表示ができているのなら下記の間違いも気づ
くのではないでしょうか?

> ■次のページ■

> <?
> echo $checkbox[];
> ?>

> と設定した所、「Array」と表示されましたが、これは配列のデータが格納され
> ているって事ですか?

そうですね。
$checkbox自体は配列ですからね、当然。
echo $checkbox[0]とかにしてみては?
ていうか、確認ページを:

> <INPUT type="checkbox" name="checkbox[]" value="<? echo $chkLike; ?>">

ではなく、

<INPUT type="checkbox" name="checkbox" value="<? echo $chkLike; ?>">

とかにしてしまえるならそうのほうが良いでしょうけど。
(なんかチェックボックスなのに一個しか選択されることが無い・・・という前提なんで
しょうかね?)