CodeIgniter uri - 如何获得多个值?

时间:2012-03-09 14:44:00

标签: php codeigniter

我正在使用表单为视图提交过滤器参数。可以选择多个过滤器,有些过滤器是多选的。

但是,我更喜欢使用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是选定的类别。

其中

2 个答案:

答案 0 :(得分:0)

这实际上是使用“GET”表单方法的好例子。您没有收到用户的输入,但用户正在查询信息。 Post-Redirect-Get模式与此相关。

使用查询字符串;)

答案 1 :(得分:0)

最后,我只是使用http_build_query($ query_array)和parse_str($ _ SERVER ['QUERY_STRING'],$ get)手动创建查询字符串;