Osk*_*son 8 html php forms rewrite
当我提交一个包含多个具有相同名称的复选框的表单时,我会得到一个如下所示的URL:www.mysite.com/search.php?myvalue%5B%5D = value1&myvalue%5B%5D = value2
有没有我可以删除%5B%5D使URL"漂亮",像htaccess?
码:
<form>
<input type="checkbox" name="myvalue[]" value="value1">
<input type="checkbox" name="myvalue[]" value="value2">
</form>
Run Code Online (Sandbox Code Playgroud)
Bal*_*usC 15
有没有我可以删除%5B%5D使URL"漂亮",像htaccess?
不.这[]
是URL 中的保留字符,因此它们肯定需要进行URL编码.
如果使用POST不是一个选项,这是一个有意义的,因为它是一个搜索表单,你最好的选择是给每个人一个不同的名字,值为1左右.
<form>
<input type="checkbox" name="option1" value="1" />
<input type="checkbox" name="option2" value="1" />
</form>
Run Code Online (Sandbox Code Playgroud)
或者,如果您确实坚持使用相同的名称,那么您应该自己提取查询字符串,而不是依赖于在获取[]
名称中带有后缀的参数时返回数组的PHP特定功能.
$params = explode('&', $_SERVER['QUERY_STRING']);
foreach ($params as $param) {
$name_value = explode('=', $param);
$name = $name_value[0];
$value = $name_value[1];
// ... Collect them yourself.
}
Run Code Online (Sandbox Code Playgroud)
这样你就可以继续使用无支撑名称.
<form>
<input type="checkbox" name="option" value="option1" />
<input type="checkbox" name="option" value="option2" />
</form>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
14065 次 |
最近记录: |