gpt4 book ai didi

php - 提交表单时从 URL 中删除 %5B%5D

转载 作者:太空狗 更新时间:2023-10-29 13:59:56 24 4
gpt4 key购买 nike

当我提交一个包含多个同名复选框的表单时,我得到一个如下所示的 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>

最佳答案

Is there someway that I can remove the %5B%5D to make the URL "pretty", with something like htaccess?

没有。 []reserved characters在 URL 中,所以它们肯定需要是 URL-encoded .

如果使用 POST 不是一个选项,考虑到它是一种搜索表单,这是有道理的,那么最好的办法是为它们分别指定一个不同的名称,并将其值设置为 1 左右。

<form>
<input type="checkbox" name="option1" value="1" />
<input type="checkbox" name="option2" value="1" />
</form>

或者,如果您真的坚持让它们具有相同的名称,那么您应该自己提取查询字符串,而不是依赖于在使用 [] 后缀。

$params = explode('&', $_SERVER['QUERY_STRING']);

foreach ($params as $param) {
$name_value = explode('=', $param);
$name = $name_value[0];
$value = $name_value[1];
// ... Collect them yourself.
}

这样你就可以继续使用无括号名称。

<form>
<input type="checkbox" name="option" value="option1" />
<input type="checkbox" name="option" value="option2" />
</form>

关于php - 提交表单时从 URL 中删除 %5B%5D,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14160843/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com