Отправка формы из клиента в PHP: надежна ли последовательность полей?

Я работаю над очень сложной формой, которую пользователь может полностью настроить с помощью JavaScript. Это может оказаться в сотнях полей (включая множество скрытой метаинформации).

Я хотел бы знать, если каким-либо образом правильная последовательность элементов формы (их последовательность в HTML-коде) может быть повреждена при переходе от «клиентского браузера A» (например, Firefox) к «серверному языку сценариев B» ( например, PHP).

Только W3C состояния: «Набор данных формы — это последовательность пар имя элемента управления / текущее значение …», что заставляет меня предположить, что эта последовательность должна быть постоянной в течение всего процесса обработки формы.

Могу ли я полностью полагаться на правильность последовательности полей при отправке из любого браузера в (в моем случае) PHP?

Или я должен перепроверить?


В случае, если мой вопрос не ясен, вот упрощенный пример.

1) сервер доставляет эту форму:

<input type="text" name="servergenerated_formfield_1" value="position 1">
<input type="text" name="servergenerated_formfield_2" value="position 2">
<input type="text" name="servergenerated_formfield_3" value="position 3">

2) пользователь создает 2 новых элемента формы, используя Javascript:

<input type="text" name="USERGENERATED_FORMFIELD_1" value="lorem ipsum">
<input type="text" name="servergenerated_formfield_1" value="position 1">
<input type="text" name="servergenerated_formfield_2" value="position 2">
<input type="text" name="USERGENERATED_FORMFIELD_2" value="dolor sit amet">
<input type="text" name="servergenerated_formfield_3" value="position 3">

3) Теперь, когда я обращаюсь к массиву (используя PHP):

foreach ($_POST as $key => $value)
{
echo $key.': '.$value.'<br>';
}

… Есть ли ЛЮБОЙ шанс, что я могу закончить с чем-то еще, чем это?

// output
USERGENERATED_FORMFIELD_1: lorem ipsum
servergenerated_formfield_1: position 1
servergenerated_formfield_2: position 2
USERGENERATED_FORMFIELD_2: dolor sit amet
servergenerated_formfield_3: position 3

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …