0

重複の可能性:
複数のチェックボックスから$_POSTを取得する

私はWeb開発に少し慣れていませんが、これは問題です(完全に困惑しました)。簡単な解決策があると感じているので、自分でそれを理解しようとして茂みを打ち負かすことはありません。また、最も重要な部分にも焦点を当てます。

各行の横にテーブル、フォーム、チェックボックスを出力するPHPコードがあります。各チェックボックスは次のようになります。

<input type="checkbox" name="data_id" value="1">
<input type="checkbox" name="data_id" value="2">
<input type="checkbox" name="data_id" value="3">

送信ボタンと同様に:

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

標準形式のセットアップ、特別なことは何もありません。

チェックされた項目を配列で取得したいのですが、$ _POSTを使用してフォームからデータを取得する場合:

if($_POST['data_id'])
    {
        var_dump($_POST['data_id']); //returns string
        print_r($_POST['data_id']); //shows only one checkbox value
    };

変数が配列を返さないというのは、正確には何が間違っているのでしょうか。

4

3 に答える 3

1

PHPのフォームから配列への構文[]では、要素名に次のものが必要です。

<input type="checkbox" name="data_id[]" value="1">
                                    ^^
于 2012-10-12T14:14:31.037 に答える
1

PHPがデータを解析すると、フィールド名がまたは$_POST/GET/REQUESTで終わる場合にのみデータが配列として表示されます(それ以外の場合は、1つを除くすべての値が削除されます)。[][some_index]

フィールドの名前を変更します。

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

…または生の投稿データを取得して、自分でパレードします。(この後者のアプローチはお勧めしません)。

于 2012-10-12T14:14:45.157 に答える
0

試す

<input type="checkbox" name="data_id[]" value="1">
<input type="checkbox" name="data_id[]" value="2">
<input type="checkbox" name="data_id[]" value="3">
于 2012-10-12T14:16:50.083 に答える