Ключи PHP $ _POST, $ _GET и $ _REQUEST - PullRequest
       17

Ключи PHP $ _POST, $ _GET и $ _REQUEST

1 голос
/ 26 августа 2010

Есть ли когда-нибудь случай (например, какой-нибудь странный браузер), когда идентификатор поля ввода формы становится ключом в $ _POST, $ _GET или $ _REQUEST вместо имени поля?

У нас возникли проблемы споле, в котором идентификатор не соответствует имени.Изменение идентификатора для соответствия появилось, чтобы решить проблему.Проблема была только в разборе PHP;JS не участвует.

Совпадение?

Google не возвращает ничего подобного ...


Функция (извините, старый код php4) создает поле.Вот часть этого

echo "<select name=\"$varName";
echo "_dd\" id=\"$varName";
echo "e_dd\">\n"; 

Удаление 'e' из последней строки, по-видимому, исправило это.Я не делал это сам;кто-то здесь сказал мне, что это решило проблему.Это не нарушало все поля даты, казалось, что это временная проблема.Вот почему я сразу подумал о какой-то странной причуде браузера.

Ответы [ 3 ]

1 голос
/ 26 августа 2010

В строгом XHTML 1.1 идентификатор заменяет имя, а имя устарело.

Если ваш XHTML отправляется с использованием приложения HTTP Content-Type / xhtml + xml (что в соответствии со стандартами должно быть), тогда вероятно , что браузер, который по стандарту переходит в тройник будет использовать идентификаторы для заполнения $ _POST в PHP, а не name.

http://www.codingforums.com/archive/index.php/t-29229.html

См. Спецификацию XHTML 1.1: http://www.w3.org/TR/xhtml-modularization/abstract_modules.html

Атрибуты имени допускаются только в элементах a, applet, frame, iframe и map. И любой другой элемент, который просто имеет имя, должен иметь идентификатор с таким же именем.

0 голосов
/ 26 августа 2010

Чистый код это хороший код :).Можете ли вы убедиться, что это не работает?

echo "<select name='".$varName."_dd' id='".$varName."e_dd'>\n"; 

Было бы хорошо увидеть созданный html.

0 голосов
/ 26 августа 2010

Нет, это атрибут name, который называет поле управления :

"Имя элемента управления" задается атрибутом name.Область действия атрибута name для элемента управления в элементе FORM - это элемент FORM.

...