在使用JS的SUBMIT之后,PHP中的GET不能正确解码变量名称

时间:2016-10-12 05:09:17

标签: php html forms get

我需要对表单执行一些非常具体的检查,所以我在提交上调用JS函数,如果一切正常,我使用JS调用该表单的“submit”方法。

<form id="booking" action="booking.php" method="get">
    <input name="Name *" type="text">
    <input onclick="if (allOk()) document.forms['booking'].submit(); 
           return false;" type="submit" value="booknow">
</form>

这是生成的网址

booking.php?Name+*=marco

但是...

print_r($_GET); 
... 
Array ( [Name_*] => marco )

我需要知道如何从名称_ * 获取元素的原始名称,名称* 在此特定情况下

为什么有一个下划线,哪里应该有空格?

我尝试了urldecode,rawurldecode和其他一些但它仍然无法正常工作。是因为你不能在GET元素中使用空格?简单地用空格替换每个下划线是否安全?

我从来没有编码/解码GET / POST值的任何问题,但是当字段名称也必须被编码/解码时我看起来有问题。

PS:我知道我应该使用POST,但它有完全相同的问题,我切换回GET以更快地调试它。

0 个答案:

没有答案