0
foreach($_POST['door_check'] as $door_check) 
{
    $_SESSION['front_door']['door'] = $door_check;
}

チェックされたボックスの数をチェックし、チェック ボックスの値の配列を作成するコードの小さなセクションがあります。

問題は、その「ドア」キーを追加すると、チェックボックスがいくつチェックされていても、配列は値を 1 つだけ追加することです。空のままにすると、[0]、[1]、[2]などのすべてが追加されます

どうしてこれなの?、

4

2 に答える 2

7

ループforeach()は毎回古い変数を上書きします。たとえば、セッション変数を配列にする必要があります

foreach($_POST['door_check'] as $door_check) 
{
    $_SESSION['front_door']['door'][] = $door_check;
}

edit : 後で使用するために保存するときに、そのデータを検証することを忘れないでください。

于 2013-02-25T05:57:34.273 に答える
3

次のようなことを試してください:

foreach($_POST['door_check'] as $door_check) {
    $_SESSION['front_door']['door'][] = $door_check;
}

または多分:

$_SESSION['front_door']['door'] = $_POST['door_check'];
于 2013-02-25T05:57:42.560 に答える