PHP - POST键中缺少空格/下划线


PHP - Missing spaces/underscores in POST key

我有一个HTML表单:

<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 " }

键名中左边的空格/下划线在哪里?我怎样才能把左边的空格/下划线找回来?

他们被丢弃了,你不能。根据HTML 4规范:ID和NAME标记必须以字母([a- za -z])开头,后面可以跟着任意数量的字母、数字([0-9])、连字符("-")、下划线("_")、冒号(":")和句点("。")。

HTML 5的工作草案更加宽松,只说id必须包含至少一个字符,不能包含任何空格字符。看到的:HTML中id属性的有效值是什么?

为安全起见,请不要在name属性中使用空格

为什么您希望您的输入名称包含所有这些空格?也许有更好的方法来解决你想要达到的目标?

,为我工作盼

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

 -单个空格,更多空格使用more