php – 提交表单时从URL中删除[]
发布时间:2020-12-13 18:13:13 所属栏目:PHP教程 来源:网络整理
导读:当我提交一个包含多个具有相同名称的复选框的表单时,我会得到一个如下所示的URL: www.mysite.com/search.php?myvalue[]=value1u0026amp;myvalue[]=value2 有没有我可以删除[]以使URL“漂亮”,像htaccess这样的东西? 码: form input type="checkbox" name
当我提交一个包含多个具有相同名称的复选框的表单时,我会得到一个如下所示的URL:
www.mysite.com/search.php?myvalue[]=value1u0026amp;myvalue[]=value2 有没有我可以删除[]以使URL“漂亮”,像htaccess这样的东西? 码: <form> <input type="checkbox" name="myvalue[]" value="value1"> <input type="checkbox" name="myvalue[]" value="value2"> </form>
不.[]是URL中的reserved characters,所以它们肯定需要是URL-encoded. 如果使用POST不是一个选项,这是有意义的,因为它是一个搜索表单,你最好的选择是给每个人一个不同的名字,值为1左右. <form> <input type="checkbox" name="option1" value="1" /> <input type="checkbox" name="option2" value="1" /> </form> 或者,如果您确实坚持使用相同的名称,那么您应该自己提取查询字符串,而不是依赖于在获取名称中带[]后缀的参数时返回数组的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. } 这样你就可以继续使用无支撑名称. <form> <input type="checkbox" name="option" value="option1" /> <input type="checkbox" name="option" value="option2" /> </form> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |