PHPで$_POST
で作成された配列について読んでいます。私は、以下の入力を伴うフォームを提出すると、$_POST = array('IDNo', 'Name', 'Date', 'State')
を含む配列になることを知っています。 私は、IDNo, Name, Date, State
の複数のインスタンスが同時に送信されることに着目しています。
提出されたデータを処理して消毒することはできますが、マルチ行配列にする方法がわかりません。
<form method="post" action="test.php">
<input type="hidden" name="IDNo" />
<input type="text" name="Name" />
<input type="text" name="Date" />
<input type="radio" name="State1" />
<input type="hidden" name="IDNo" />
<input type="text" name="Name" />
<input type="text" name="Date" />
<input type="radio" name="State2" />
<input type="hidden" name="IDNo" />
<input type="text" name="Name" />
<input type="text" name="Date" />
<input type="radio" name="State3" />
<input type="submit" value="Test Me" />
</form>
無線入力には、各行に固有の名前が付いています。これは、ページに実装されているjQueryに関連しています。私はIDNo[]
とName[]
などが$ _POST配列内に配列を作成するのに使用されていますが、ラジオでの独自の入力名はこれと一緒に動作しません。
IDNoや行番号を各入力名に追加する方が良いでしょうか、それとも私が見たことのない別の方法がありますか?
おそらくState1
をstate[1]
に変更し、HTML内でIDNo, Name, Date
をID[1], Name[1], Date[1]
に変更します。
私にとって重要なのは、安全でないものを作成せずに正しく行うことです。
良い質問です$ _POST'データを簡単に取り出せますが、ラジオ入力がチェックされていないと、データには表示されず、ループが間違っています。 数字を使用する方が効果的です。 '$ _POST'をループし、' array_keys'と 'strpos'で既存の入力をチェックします。 – AymDev
答えをありがとう。あなたはラジオ入力について言及しましたが、私はPHPの引数の一部として使用する予定の値がない入力がいくつかあります。 – denski
空の入力タイプのテキストは空になりますが、 – AymDev