4

こんにちは、私はphpを初めて使用し'checkbox'ます。送信をクリックすると、チェックされた数をどのように数えることができるのか疑問に思っていました。例えば:

<input type = "checkbox" value = "box" name = "checkbox1"/>
<input type = "checkbox" value = "box" name = "checkbox2"/>
<input type = "checkbox" value = "box" name = "checkbox3"/>
4

7 に答える 7

19

チェックボックスの名前を次のような配列として指定します

<input type = "checkbox" value = "box" name = "checkbox[]"/>

そして送信後、次のように試してください

$checked_arr = $_POST['checkbox'];
$count = count($checked_arr);
echo "There are ".$count." checkboxe(s) are checked";

注:フォームが送信するメソッドに基づいて... POSTメソッドとGETメソッドに使用する必要がある$_GETかどうか。$_POST$_POST['checkbox']$_GET['checkbox']

于 2013-09-02T11:38:55.767 に答える
1
$checkedBoxes = 0;

// Depending on the action, you set in the form, you have to either choose $_GET or $_POST
if(isset($_GET["checkbox1"])){
  $checkedBoxes++;
}
if(isset($_GET["checkbox2"])){
  $checkedBoxes++;
}
if(isset($_GET["checkbox3"])){
  $checkedBoxes++;
}
于 2013-09-02T11:41:05.230 に答える
1
<input type = "checkbox" value = "box" name = "checkbox"/>
<input type = "checkbox" value = "box" name = "checkbox"/>
<input type = "checkbox" value = "box" name = "checkbox"/>

どのボックスがチェックされているかを確認するには、次のように chk[] 配列をトラバースします。

$chk_array = $_POST['checkbox'];

for($chk_array as $chk_key => $chk_value)
{
print 'Checkbox Id:'. $chk_key . ' Value:'. $chk_value .'is
checked';
}
于 2013-09-02T11:41:47.060 に答える
1

名前を変更して値を追加する必要があります

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

このようにして、数字だけでなく(実際には必要ありません)知ることができます

echo count($_POST['checkbox']);

実際に選択された値もあります。

foreach($_POST['checkbox'] as $val)
{
    echo "$val<br>\n";
}
于 2013-09-02T11:43:17.150 に答える
0

チェックボックスの名前を配列として設定できます。

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

すると、PHP に配列ができます ( $_POST['checkbox']):

echo count( $_POST['checkbox'] ); // this will give you the count

それ以外の場合は、それらのそれぞれを反復処理して、変数をインクリメントできます。

$counter = 0;
foreach( array('checkbox1', 'checkbox2', 'checkbox3') as $name ) {
  if( isset( $_POST[ $name ] ) {
     $counter++
  }
}
echo $counter;
于 2013-09-02T11:41:48.893 に答える
-1

チェックされているすべてのボックスは、送信をクリックするとリクエストに含まれます。あなたの場合、checkbox1がチェックされている場合、「checkbox1 = box」が得られます

メソッドとしてGETを使用すると、http: //yoururl.com/yourcode.php ? checkbox1=box のようになり、$_GET['checkbox1'] でアクセスできます。

メソッドとしてPOSTを使用する場合は、$_POST['checkbox1'] でアクセスできます。

isset($_POST['checkbox1']) を使用して、ボックスがチェックされているかどうか (および要求データで) を確認することもできます。

于 2013-09-02T11:44:01.090 に答える