допустимое значение для атрибута имени в HTML

Я использую PHP, чтобы получить значения радиокнопок со страницы HTML. Мой HTML выглядит так:

<code><input type="radio" name="1.1" value="yes">
<input type="radio" name="1.1" value="no">

<input type="radio" name="1" value="yes">
<input type="radio" name="1" value="no">
</code>

В результате $ _POST ['1'] возвращает значение, а $ _POST ['1.1'] ничего не возвращает. Я проверил спецификации html 4, скажем, значение атрибута name начинается только с буквы, но 1 не является буквой, почему оно возвращается, а 1.1 нет? Или здесь происходит какое-то другое волшебство? Я использую последнюю версию Chrome. Благодарю.

Ответы на вопрос(3)

Это легко решить с помощью 2-секундного поиска в Google, мой друг. Кроме того, вы должны называть свои элементы ввода текстом, а не цифрами. Они не должны содержать никаких символов, таких как.,!? Это может вызвать проблемы. Для получения дополнительной информации отправка данных перейдите по ссылкеhttp://www.homeandlearn.co.uk/php/php4p10.html

Попробуйте заменить точку чем-то другим, например дефисом. И в форме, и в коде php. Периоды обычно используются для. в добавочном имени. Когда речь идет об именах ключей для параметров в заголовках get или post, вы хотите использовать только буквенно-цифровые символы, обычно с некоторыми специальными символами. Например, дефисы, подчеркивания и т. Д. Вы всегда можете сделать кодировку URL, если это необходимо.

По правилам HTMLname Атрибут может иметь любое значение: он объявлен с типом CDATA. Не путайте со ссылками на атрибуты, объявленные как имеющие тип NAME. Увидетьhttp://www.w3.org/TR/html4/interact/forms.html#adef-name-INPUT

В использовании$POST[...] в PHP вы должны обратить внимание на это правило PHP: & # x201C; Точки и пробелы в именах переменных преобразуются в подчеркивания. Например<input name="a.b" /> становится$_REQUEST["a_b"]. & # X201D; Увидетьhttp://www.php.net/manual/en/language.variables.external.php

Так$_POST['1'] должен работать как есть и работает, но вместо$_POST['1.1'] тебе нужно написать$_POST['1_1'].

ВАШ ОТВЕТ НА ВОПРОС