2

複数のチェックボックスがあり、それらをチェックしたときに次のページにそれらの値を渡したいです。私のコードは

<form method="POST">
    <input type="checkbox" name="city" id="city" value="Gold" />
         <input type="checkbox" name="city" id="city" value="Platinum" />
         <input type="checkbox" name="city" id="city" value="Silver" />
    <input type="submit" value="Submit" />
</form>
4

3 に答える 3

4

name属性を配列として定義するname="city[]"

<?php 
if($_SERVER['REQUEST_METHOD']=='POST'){
    print_r($_POST);
    /*
    Array
    (
        [city] => Array
            (
                [0] => Gold
                [1] => Platinum
                [2] => Silver
            )

    )
    */
}
?>
<form method="POST">
    <input type="checkbox" name="city[]" value="Gold" />
    <input type="checkbox" name="city[]" value="Platinum" />
    <input type="checkbox" name="city[]" value="Silver" />
    <input type="submit" value="Submit" />
</form>
于 2012-10-29T11:22:43.697 に答える
2

これを試して。

<?php
    include("config.php");
    if($_POST) {
        $city = $_POST['card'];
            header("location:target_page.php?card=".$city);
    }
?>
<form method="POST">
    <input type="checkbox" name="card[]" id="card" value="Gold" />
    <input type="checkbox" name="card[]" id="card" value="Platinum" />
    <input type="checkbox" name="card[]" id="card" value="Silver" />
    <input type="submit" value="Submit" />
</form>
于 2012-10-29T11:22:27.237 に答える
1

両方のフィールドの名前が同じ場合、これは機能しません。

<form method="POST">
    <input type="checkbox" name="city" id="city" value="Gold" />
         <input type="checkbox" name="cities[]" id="city" value="Platinum" />
         <input type="checkbox" name="cities[]" id="city2" value="Silver" />
    <input type="submit" value="Submit" />
</form>

citys []のようにフィールド名を書くと、PHPスクリプトで配列を取得します。

forearch($_POST['cities'] as $city) {
    var_dump($city);
}

また、IDは一意である必要があります。

于 2012-10-29T11:23:16.023 に答える