2013-06-17 2 views
2

У меня есть форма HTML:PHP - Missing пространства/подчеркивание POST ключа

<html> 
    <body> 
     <form method="post" action="test.php"> 
      <input type="text" name="  TEST " value=" TEST  "/> 
      <input type="submit" /> 
     </form> 
    </body> 
</html> 

Он подчиняется следующим PHP страница:

<?php 
var_dump($_POST); 

Когда я отправить форму без изменения каких-либо значений, на итоговой странице отображаются:

array(1) { ["TEST___"]=> string(12) " TEST " } 

В каких левых пространствах/подчеркиваниях указываются ключевые слова? Как я могу вернуть левые пробелы/подчеркивания?

+3

Возможный дубликат: http://stackoverflow.com/questions/17092398/post-spaces-converted-in-underscores? – Kalzem

+1

Нет. Я уже посмотрел на это. Это объясняет, почему пробелы преобразуются в символы подчеркивания, но не туда, куда шли левые пробелы/подчеркивания. @BabyAzerty –

ответ

3

Они были сброшены, вы не можете. В соответствии со спецификацией HTML 4: Идентификаторы ID и NAME должны начинаться с буквы ([A-Za-z]), за которой может следовать любое количество букв, цифр ([0-9]), дефис ("-"), подчеркивания («_»), двоеточия («:») и периоды («.»).

Рабочий черновик HTML 5 еще более разрешительный, говоря только, что идентификатор должен содержать хотя бы один символ и может не содержать пробелов. См.: What are valid values for the id attribute in HTML?

+0

Умный. Все это время я искал не то место. –

0

не используйте пробелы для атрибута имени, находящегося на безопасной стороне.

0

Почему вы хотите, чтобы ваше входное имя содержало все эти пробелы? Может ли быть лучшее решение того, чего вы пытаетесь достичь, возможно?

+0

У меня есть форма для обновления результатов опроса. Дело в том, чтобы нормализовать данные, и я делаю массовое замещение одного значения поля другим, где ключ $ _POST является исходным значением, а значение $ _POST - это новое значение. Конечно, я мог бы использовать многомерный массив, но это добавляет новый уровень сложности к этой простой проблеме, которая может быть решена с использованием ключей и значений одного массива. –