1

送信時にチェックボックスを設定しています。選択したものにチェックを入れておきたいです。コードを書きましたが、それを行う最も簡単な方法を知りたいです。

<form action="" method="post">


                    <input type="checkbox" name="car[]"  
                        <?php 
                            if(isset($_POST['submit'])){ 
                                if(isset($_POST['car'])){
                                if(in_array('Bus',$_POST['car']))
                                    { 
                                        echo  ' checked="checked"" '; 
                                    }
                                }
                            } 
                        ?> value="Bus" />Bus
        <input type="checkbox" name="car[]" value="Van" 
                        <?php 
                            if(isset($_POST['submit']))
                            { 
                                if(isset($_POST['car'])){
                                    if(in_array('Van',$_POST['car']))
                                    { 
                                        echo  ' checked="checked"" '; 
                                    }
                                }
                            } ?> />Van

            <input type="submit" name="submit" value="Submit" />

</form>
4

1 に答える 1

0

車両を反復処理し、それに応じて項目を (対応するチェック済みの値と共に) 一気に印刷することができます。次のようなものが機能します。

$vehicles = array('Bus', 'Van'); // You can add as many as you want!

foreach($vehicles as $vehicle) {
    // Should it be checked?
    $checked = '';
    if(isset($_POST['car'])) {
        if(in_array($vehicle,$_POST['car']) $checked="checked='checked'";
    }

    // Add the element
    echo "<input type='checkbox' name='car[]' value='{$vehicle}' {$checked}> 
        {$vehicle}";
}
于 2013-08-31T05:30:36.757 に答える