В принципе, могу ли я иметь имена ввода, такие как <input name="total sum(userID2223)" type="text" />
и тому подобное? Есть ли какие-то правила для этого?
Да, ты можешь. Когда PHP читает форму, вы сможете обращаться к данным с помощью $POST["total sum(userID2223)"]
.
Не зная больше о том, что вы пытаетесь сделать, я не могу сказать точно, но, вероятно, что-то плохое дизайнерское решение происходит где-то.
Это запрещено в HTML4: http://www.w3.org/TR/html401/types.html#type-cdata
Идентификаторы ID и NAME должны начинаться с буквы ([A-Za-z]), за которой может следовать любое количество букв, цифр ([0-9]), дефис («-»), подчеркивание («_») , colons (":") и периоды (".").
Интересно, что уже давно принято использовать []
в атрибутах NAME
, хотя это не разрешено выше; PHP превратит эти входы в массивы в _$GET
и $_POST
.
Это разрешено в HTML5: С http://www.w3.org/TR/html5/forms.html#attr-fe-name
Любое непустое значение для имени разрешено, но имена « charset » и «isindex» являются специальными
Для вашего приложения я бы рекомендовал запись массива:
<input name="total[2223]" type="text" />
Тогда в PHP это будет $_POST['total'][2223]
.