0

知識のある方、こんにちは。フォームからチェックボックスデータを取得できません。ユーザーが自分でチェックボックスを追加できるサイトがあるので、次のように書きます。

<table style="padding:10px;">
            <?php

            $query_boolean = $DB->prepare("SELECT * FROM moduls WHERE type='boolean'") or die(mysql_error());
            $query_boolean->execute();
            while (($row = $query_boolean->fetch()) != false)
                {

                    ?>
                    <tr>
                        <td>
                        <?php echo $row->name ?>:
                        </td>
                        <td>
                            <?php
                            $s = "";

                            $s .= sprintf('<input type="checkbox" class="textbox" name="boolean_%s" value="yes">%s', $row->id, Yes);
                            $s .= sprintf('<input type="checkbox" class="textbox" name="boolean_%s" value="no">%s', $row->id, No);

                            echo $s;
                            ?>
                        </td>
                    </tr>
                    <?php

                    }
                    ?>


            </table>

これで、すべてのチェックボックスをチェックして、選択されているもの(エーテルなし、はい、いいえ、またはその両方)を確認する必要がある高度な検索ができました。変数のすべてのチェックボックスから情報を取得するにはどうすればよいですか?どうもありがとう!

4

2 に答える 2

1

チェックボックスから POST データを取得するには、属性が必要です

チェック済み=「チェック済み」

編集:このように2つのチェックボックスがある場合..

<input type="checkbox" checked="checked" class="textbox" name="boolean_yes" value="yes">
<input type="checkbox" class="textbox" name="boolean_no" value="no">

フォームを送信すると、属性がチェックされているチェックボックスは POST として送信され、属性がチェックされていないチェックボックスは送信されません。

if(isset($_POST['search'])) {
    $all_checked = array();
    foreach($_POST as $key=>$value){
       if(strpos($key, "boolean_") > -1){
          $all_checked[$key] = $value;
       }
    }

    var_dump($all_checked);
}

このようにして、$all_checked 配列内のすべてのマークされたボックスを取得します。他のすべてのチェックボックスはマークされていません!

于 2013-03-21T08:46:34.760 に答える
0

チェックボックスの値を取得したい場合は、チェックボックス名を配列として使用します

<input type="checkbox" name="email1[]" value="">

別のページで取得する

<?php

$var2 = $_POST['email1'];
$v=implode(",",$var2);

echo $v;
?>

それを試してみてください

于 2013-03-21T09:48:46.103 に答える