我正在使用表单为视图提交过滤器参数。可以选择多个过滤器,有些过滤器是多选的。
但是,我更喜欢使用post-redirect-view方法,这意味着我必须将帖子数据翻译成uri段。
考虑到这一点,我打算使用$this->uri->uri_to_assoc(n)
方法。但是,如果某些参数可以有多个值,我不知道如何使其正常工作。
我能想到的唯一方法是使用唯一字符(例如' - ')加入每个键的值,使用$ this->uri->uri_to_assoc(n)
来解析每个键值对,然后每个都爆炸()值(在' - '上)再次出现。这是最好的方法吗?
此外,您如何解决其中一个值在名称中可能带有正斜杠('/')的问题?
示例:
我有一个多选(命名的categories []),它被发布并用于过滤参数。用户从这个多选中选择2个值:'Jim / Bob'和'Sarah'。控制器接收帖子,$this->input->post('categories')
给我一个数组。我现在想要重定向回同一个控制器并使用来自$this->input->post('categories')
的值作为uri中的参数。它类似于/controller/method/categories/abc
,其中abc
是选定的类别。
其中
答案 0 :(得分:0)
这实际上是使用“GET”表单方法的好例子。您没有收到用户的输入,但用户正在查询信息。 Post-Redirect-Get模式与此相关。
使用查询字符串;)
答案 1 :(得分:0)
最后,我只是使用http_build_query($ query_array)和parse_str($ _ SERVER ['QUERY_STRING'],$ get)手动创建查询字符串;