POST中の入力の順番はPHPで、配列入力のために保証されていますか?

StackOverflow https://stackoverflow.com/questions/4400698

  •  25-09-2019
  •  | 
  •  

質問

私は、ユーザーがデータの行の無制限番号を入力フォームがあります。彼らは、彼らが望んでいることを、画面上の行の浸入どんな数でフォームに到着します。

<?php
$numRows = $_GET['NUM_ROWS_REQUESTED'];

?>
<form method="post">
<?php
for($i = 0; $i < $numRows ;$i++) {
  $uuid = uniqid();
?>

  <input type="text" name="MYDATA[<?php print $uuid; ?>][FIRST_NAME]" />
  <input type="text" name="MYDATA[<?php print $uuid; ?>][LAST_NAME]" />
<?php
}
?>
</form>

フォームがポストされたとき、場合、私は思ったんだけど、私は彼らが画面上に掲載されたとして、彼らは同じ順序で注文されることを保証することができる場合、私は$_POST['MYDATA']配列内のこれらのレコードを受け取ります。それとも彼らはランダムに生成されますuniqid()で注文するのでしょうか?

私が代わりにシーケンスに容易になるだろうちょうど整数のユニークなIDを使用する理由は、ユーザーが行を削除し、そのページにJavaScriptを使用して行を追加できることです。衝突をチェックするにはあまりにも難しいだろう。

役に立ちましたか?

解決

W3スペックをどのような順序でルールが含まれていません。フォームの値はその技術的に確認できない、データセットにアセンブルする必要があります。一方、私は、データがソース・リスト-ために提供されていない(年間で数多くのOS上の数多くのブラウザからの)ケースを見ていませんでした。私は本当にデフォルトを変更する(UIが生成された)場合のtabindex値を試験していませんでした。

あなたは可能性が常にソート配列( ASORT に)あなたはするそれを受け取った後必ず値を読んでいる注文するかについてます。

他のヒント

により、保証のそれの一種 HTML4.01 (-urlencodedのため、/フォームデータのために同一であると仮定しています)、および現在のすべてのブラウザでは、彼らは、ドキュメントに記載されている順序でフォームフィールドを提出します。

そうです、彼らは彼らの出現によって、ないランダムなUUIDが発注されます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top