1

有谁知道如何以逗号分隔的方式输出复选框值?假设我有 2 个复选框:

  • <input id="filetype_photo" name="type" type="checkbox" value="photo" >
  • <input id="filetype_graphic" name="type" type="checkbox" value="graphic" >

如果我用 $_GET 检索它们,我会得到以下网址:

  • sitename.com?type=photo&type=graphic 如果两个复选框都被选中,我的目标是获取以下网址:
  • sitename.com?type=photo,graphic

我尝试使用复选框数组将它们重命名为 name[] 并使用以下函数来读取结果:

$type=$_GET['type'];
while (list ($key,$val) = @each ($type)) {
echo $val;
}

但这给了我复选框值,但不能解决 url 问题。此外,通过将 type=photo 更改为 &type%5B%5D=photo 会弄乱网址

有任何想法吗?

PS我需要解决服务器端

4

3 回答 3

3

采用:

<input id="filetype_photo" name="type[]" type="checkbox" value="photo" >
<input id="filetype_graphic" name="type[]" type="checkbox" value="graphic" >

你的$type=$_GET['type']将是一个数组。

于 2012-08-05T22:01:53.183 回答
1

PHP 不能处理具有相同名称的多个参数,除非它们以方括号结尾。如果您想避免使用查询字符串,则需要手动解析它们。

于 2012-08-05T21:58:10.700 回答
0

使用 Javascript 编译以逗号分隔的值字符串并使用 window.location 进行重定向

于 2012-08-05T21:58:38.287 回答