2011-08-16 21 views
0

チェックボックスを持つhtmlフォームをPHPページに渡すと、私がそれらを取得すると、私がチェックしたすべてのボックスに値true、チェックされていないボックスにはfalseという値が得られます。私は価値だけを得る必要があります。PHPでチェックボックスの値を取得

<?php 
$contact=$_POST['contact']; 

foreach ($contact as $conid){ 
    echo $conid 
} 
?> 
+1

投稿あなたのhtmlすぎください – calumbrodie

+1

http://stackoverflow.com/questions/2268887/php-checkbox -input http://stackoverflow.com/questions/6291370/how-to-get-value-of-checked-checkbox-in-php – blottedscience

+0

チェックボックスは常に「TRUE」または「FALSE」です。それがそのポイントです。あなたは、正確に欲しいですか? – DaveRandom

答えて

4

1つの可能なアプローチは、そのような名前を設定することです:

<input type='checkbox' name='box[1]'> 
<input type='checkbox' name='box[2]'> 
<input type='checkbox' name='box[3]'> 

この方法では、あなたが

foreach ($_POST['box'] as $id=>$checked){ 
    if ($checked =='on') 
     //process your id 
} 

、私はもっときれいだと思いれる第二のアプローチでPHPでそれらにアクセスすることができます。チェックボックスをオンに設定した値の属性:これにより

<input type='checkbox' name='box[]' value='1'> 
<input type='checkbox' name='box[]' value='2'> 
<input type='checkbox' name='box[]' value='3'> 

あなたが届きますが、値のみをチェックする:

foreach ($_POST['box'] as $id){ 
     //process your id 
} 
+3

あなたの最初のアプローチは正しくありません。 '$ checked == 'true'は(常に)falseを返します.Chromiumはチェックボックスがチェックされている場合に 'on'を送ります。チェックボックスの値を設定すると、その値が送信されます。値と2番目の方法を使用すると、送信されたIDだけでなく関連する値も可能です。 (例えば、 ' feeela

+0

また、FFも 'on'を送信します。私の間違い:)編集 – J0HN

+0

値が与えられていない場合、送信される文字列に本当に頼るべきではありません。どの名前が送信されるかを確認するだけの方がいいです。 – feeela

関連する問題