Я работаю над очень сложной формой, которую пользователь может полностью настроить с помощью 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
Задача ещё не решена.
Других решений пока нет …