PHPで初めてのことで、フォームから送信されたチェックボックスの読み込みに問題があります。それを説明する前に、私はもっと大きなアプリケーションを編集しようとしており、データは他の方法では送信できないと言いたいと思います。それは送信されているものを読む良い方法を見つけることの問題です。PHPの多次元配列(チェックボックス付きのフォームデータ)
通常のテキスト入力が送信されると、フォームは、以下をポストする:
custom[0][type]="text"
custom[0][name]="VariableName"
custom[0][value]="VariableName"
基本的にいくつかの要素(0,1,2,3など)を有する主「カスタム」多次元配列があります各要素は名前と値を持ちます。要素の1つは、チェックボックスであるとき
ただし、以下のものが掲載されます:
custom[1][type]="list"
custom[1][name]="SelectedOptions"
custom[1][value]="Value1"
custom[1][value]="Value3"
custom[1][value]="Value5"
は、物事のPHP側への行き方、これは私がによって送信されたデータを読み取るために使用しているコードがありますフォーム。以下のコードは、シナリオ1(テキストベースの入力)では正常に機能しますが、リストタイプのカスタムデータがある場合は1つの値しか読み込みません。
foreach($_POST['custom'] as $item){
if($item['value'] != "") echo $item['name'].'='.$item['value']
}
問題が$アイテム[「値」]だけの値のいずれかを読み込むことで、すべての3はどのように私は、変数内のすべての3つの値を得ることができませんか?それはすべての組み合わせに置くことは非常に簡単なこと...
であることは、おそらく、これは(それがPOSTで送信されるものである(3つのチェックボックスを変数2がチェックされます)
custom[0][name] Variable1
custom[0][type] text
custom[0][value] ValueForVariable1
custom[1][name] Variable2
custom[1][type] checkbox
custom[1][value] Value1
custom[1][value] Value3
custom[1][value] Value5
そして、これは何ますprint_rです$ _POST)
[custom] => Array ( [0] => Array ( [value] => ValueForVariable1 [name] => Variable1 [type] => text ) [1] => Array ( [value] => Value1 [name] => Variable2 [type] => checkbox )
上記の掲載データのショーだけで、我々はすべて同じページに、実際のデータは、より複雑なシステムによって生成されていることを確認することが、私たちは本当にそれを変更することはできません。 POSTで送信されたVariable2の3つの値をすべて読み取る方法を調べることに興味があります。
ありがとうございます!
'print_r($ _ POST)'は何を正確に生成しますか? (ちょうどこのチャンクが大丈夫です) – jcmeloni
あなたの命名を正しく理解していれば、チェックボックスの名前は正しくありません。チェックボックス名はcustom [1] [value] []でなければならないか、最後の値で値を上書きします。 – Rufinus
@jcmeloni - 質問を編集し、print_rデータを追加しました。 – Cornel