私は私が入力のこのタイプを取得する可能性があります例えば、ポストデータの変数名に問題があります。CodeIgniterのPOSTデータは、名前
理論的には、配列の要素名と間違って何もありません<input type="number" name="amount[BKP1P+NC10A]" />
と私はいないとき私は$this->input->post()
を使用していますか、または直接私が$_POST
から直接データにアクセスするときでさえ、配列要素名が削除され、代わりに列挙型配列が取得されます。例えば
(CodeIgniterのなし)通常のポストに私が手:
array(1) {
["amount"]=>
array(1) {
["BKP1P+NC10A"]=>
string(2) "12"
}
}
CodeIgniterの中で私はこれを取得しながら:起こっていただきました
array(1) {
["amount"]=>
array(1) {
[0]=>
string(2) "12"
}
}
誰も教えてもらえますし、どのように私は得ることができます列挙型配列ではなく実際の名前ですか?
おかげ&よろしく
なぜスイート・ヘックでは、入力配列名が 'BKP1P + NC10A'である必要がありますか?私は証拠はありませんが、CodeIgniter ' - > post()'はおそらくいくつかの潜在的なセキュリティ上の脆弱性や多分開発者の正気のためにいくつかの特殊文字を削除すると強く疑っています。 – Goose
そのコードの種類は部品番号であり、はい、要素として使用できます。 codeigniterでは - > post()だけでなく$ _POSTでも同じように動作し、列挙型の配列を得る – Combinu
これはCodeIgniterの要素として使用されていない可能性があります。これは文書化されていない可能性が高いので、CodeIgniterのシステムコードを確認して修正する必要がありますが、この配列要素の名前が予期しない動作をしている場合は、+記号が原因です。データを格納するためにデータキーを使用するのは普通ではありません。 1つのフィールドを使用して2つの作業を行う代わりに、汎用キー名を持つフィールドと、部品番号のある非表示フィールドの2つのフィールドが必要です。 – Goose