사용자가 무한 개수의 데이터 행을 입력하는 양식이 있습니다. 그들은 화면에 원하는만큼 행을 입력하여 양식에 도착합니다.POST의 입력 순서가 PHP의 배열 입력에 대해 보장됩니까?
<?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를 사용하여 추가 행을 추가 할 수 있기 때문입니다. 충돌을 확인하는 것은 너무 어려울 것입니다.
확실하지 않은 경우. 그것을 정렬하십시오. – DampeS8N
@ DampeS8N별로 정렬 할 항목이 없습니다. 화면에 입력 할 때 입력 순서는 원하는 순서입니다. 시스템 날짜를 가져 오는 AJAX를하지 않고도 javascript가 자신의 PC 날짜를 사용하기 때문에 신뢰할 수 없습니다. 새 행을 만들 때 자바 스크립트의 기존 행을 분석하는 것을 피할 수 있기를 바랬습니다. –
숨겨진 입력을 MYDATA [ php print $ uuid; ?>] [SORT_ORDER]'를 값으로 사용합니다. 또한 $ uuid로 카운터를 사용할 수도 있습니다. 여전히 UUID가 필요한 경우 서버가이를 생성하도록하거나 첫 번째 예제의 반대를 사용할 수 있습니다. 숨겨진 입력은 MYDATA [ php print $ counter; ?>] [UUID]'와 $ uuid를 값으로 사용합니다. – ontrack